@fundamental-ngx/btp 0.48.0-rc.21 → 0.48.0-rc.23
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/navigation/components/navigation-item/navigation-list-item.component.mjs +7 -6
- package/esm2022/navigation/components/navigation-link/navigation-link.component.mjs +4 -4
- package/esm2022/navigation/components/navigation-more-button/navigation-more-button.component.mjs +6 -5
- package/esm2022/tool-header/tool-header-component.class.mjs +4 -3
- package/fesm2022/fundamental-ngx-btp-navigation.mjs +11 -8
- package/fesm2022/fundamental-ngx-btp-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-tool-header.mjs +3 -1
- package/fesm2022/fundamental-ngx-btp-tool-header.mjs.map +1 -1
- package/fundamental-ngx-btp-v0.48.0-rc.23.tgz +0 -0
- package/navigation/components/navigation-item/navigation-list-item.component.d.ts +1 -0
- package/navigation/components/navigation-more-button/navigation-more-button.component.d.ts +2 -0
- package/package.json +3 -3
- package/tool-header/tool-header-component.class.d.ts +3 -1
- package/fundamental-ngx-btp-v0.48.0-rc.21.tgz +0 -0
|
@@ -3,13 +3,13 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
|
3
3
|
import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
|
|
4
4
|
import { CommonModule, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
5
5
|
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, DestroyRef, Directive, ElementRef, Input, NgZone, QueryList, ViewChild, ViewEncapsulation, computed, effect, inject, signal } from '@angular/core';
|
|
6
|
-
import { takeUntilDestroyed
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import { NestedButtonDirective } from '@fundamental-ngx/btp/button';
|
|
8
8
|
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
9
9
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
10
10
|
import { IconComponent } from '@fundamental-ngx/core/icon';
|
|
11
11
|
import { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';
|
|
12
|
-
import { asyncScheduler, filter, observeOn,
|
|
12
|
+
import { asyncScheduler, filter, observeOn, startWith, take } from 'rxjs';
|
|
13
13
|
import { NavigationListItemDirective } from '../../directives/navigation-list-item-ref.directive';
|
|
14
14
|
import { FdbNavigationContentContainer } from '../../models/navigation-content-container.class';
|
|
15
15
|
import { FdbNavigationItemLink } from '../../models/navigation-item-link.class';
|
|
@@ -176,10 +176,11 @@ export class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
176
176
|
this._childLists = [];
|
|
177
177
|
/** @hidden */
|
|
178
178
|
this._zone = inject(NgZone);
|
|
179
|
-
|
|
180
|
-
this._rtl$ = toSignal(inject(RtlService, {
|
|
179
|
+
this._rtlService = inject(RtlService, {
|
|
181
180
|
optional: true
|
|
182
|
-
})
|
|
181
|
+
});
|
|
182
|
+
/** @hidden */
|
|
183
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
183
184
|
/**
|
|
184
185
|
* @hidden
|
|
185
186
|
* Directive that used during data-driven rendering.
|
|
@@ -486,4 +487,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
486
487
|
type: ViewChild,
|
|
487
488
|
args: ['renderer']
|
|
488
489
|
}] } });
|
|
489
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24taXRlbS9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2J0cC9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1pdGVtL25hdmlnYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFZLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9B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QzlCLFdBQVcsNkJBQTZCO3lCQUMzQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLDZCQUE2Qjt5QkFDM0M7cUJBQ0osaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3REFLM0MsS0FBSztzQkFEUixLQUFLO2dCQVdGLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsU0FBUztzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVV2QyxNQUFNO3NCQURULEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVXZDLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVd2QyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVzNDLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBSzFELElBQUk7c0JBRFAsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBU25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQywwQkFBMEI7Z0JBS3BDLFFBQVE7c0JBRFgsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPV05fQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE5lc3RlZEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvYnRwL2J1dHRvbic7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJCb2R5Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgYXN5bmNTY2hlZHVsZXIsIGZpbHRlciwgb2JzZXJ2ZU9uLCBvZiwgc3RhcnRXaXRoLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25hdmlnYXRpb24tbGlzdC1pdGVtLXJlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkNvbnRlbnRDb250YWluZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvbmF2aWdhdGlvbi1jb250ZW50LWNvbnRhaW5lci5jbGFzcyc7XG5pbXBvcnQgeyBGZGJOYXZpZ2F0aW9uSXRlbUxpbmsgfSBmcm9tICcuLi8uLi9tb2RlbHMvbmF2aWdhdGlvbi1pdGVtLWxpbmsuY2xhc3MnO1xuaW1wb3J0IHtcbiAgICBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0sXG4gICAgRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ21wLFxuICAgIExJU1RfSVRFTV9DTEFTU1xufSBmcm9tICcuLi8uLi9tb2RlbHMvbmF2aWdhdGlvbi1saXN0LWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpbmtSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGlzdC9uYXZpZ2F0aW9uLWxpc3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRiTmF2aWdhdGlvbkxpc3RJdGVtTWFya2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTGlzdEl0ZW1NYXJrZXJEaXJlY3RpdmUge1xuICAgIC8qKiBFbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnQpLm1hcmtlciA9IHRoaXM7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkYi1uYXZpZ2F0aW9uLWxpc3QtaXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmF2aWdhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmF2aWdhdGlvbkxpc3RJdGVtTWFya2VyRGlyZWN0aXZlLFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgTmdDbGFzc1xuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRmRiTmF2aWdhdGlvbkxpc3RJdGVtLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IE5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1DbXAsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgRmRiTmF2aWdhdGlvbkxpc3RJdGVtIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNsYXNzKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2NsYXNzJC5zZXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBjbGFzcygpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzJCgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gcmVwcmVzZW50cyBcIkhvbWVcIiBpdGVtLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IGhvbWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faG9tZSQuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaG9tZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvbWUkKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgYSBzZXBhcmF0b3IgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBzZXBhcmF0b3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2VwYXJhdG9yJC5zZXQodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgc2VwYXJhdG9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9yJCgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGEgc3BhY2VyICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgc3BhY2VyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NwYWNlciQuc2V0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHNwYWNlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NwYWNlciQoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgbGlzdCBpdGVtIHNob3VsZCBiZSByZW5kZXJlZCBhcyBhIGdyb3VwLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IGdyb3VwKGdyb3VwOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNHcm91cCQuc2V0KGdyb3VwKTtcbiAgICB9XG5cbiAgICBnZXQgZ3JvdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzR3JvdXAkKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBpcyBleHBhbmRlZC4gKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmV4cGFuZGVkJC5zZXQoZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQkKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gc2hvdWxkIGJlIG1hcmtlZCBhcyBzZWxlY3RlZC4gKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBzZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkJC5zZXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQkKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEZkYk5hdmlnYXRpb25MaXN0SXRlbSwgeyBkZXNjZW5kYW50czogZmFsc2UgfSlcbiAgICBsaXN0SXRlbXM6IFF1ZXJ5TGlzdDxGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0+O1xuXG4gICAgLyoqIExpbmsgcmVmZXJlbmNlLiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRmRiTmF2aWdhdGlvbkl0ZW1MaW5rKVxuICAgIHNldCBsaW5rKHZhbHVlOiBOdWxsYWJsZTxGZGJOYXZpZ2F0aW9uSXRlbUxpbms+KSB7XG4gICAgICAgIHRoaXMubGluayQuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMaW5rIHRlbXBsYXRlIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5hdmlnYXRpb25MaW5rUmVmRGlyZWN0aXZlKVxuICAgIGxpbmtSZWY6IE51bGxhYmxlPE5hdmlnYXRpb25MaW5rUmVmRGlyZWN0aXZlPjtcblxuICAgIC8qKiBSZW5kZXJlciB0ZW1wbGF0ZSByZWZlcmVuY2UuICovXG4gICAgQFZpZXdDaGlsZCgncmVuZGVyZXInKVxuICAgIHNldCByZW5kZXJlcihyZW5kZXJlcjogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9vblpvbmVTdGFibGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlciQuc2V0KHJlbmRlcmVyIHx8IG51bGwpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogVHlwZSBvZiB0aGUgbGlzdCBpdGVtLiBXaGV0aGVyIGl0cyBhIHN0YW5kYXJkIGl0ZW0gb3IgYSBcInNob3cgbW9yZVwiIGJ1dHRvbiBjb250YWluZXIuICovXG4gICAgcmVhZG9ubHkgdHlwZTogJ2l0ZW0nIHwgJ3Nob3dNb3JlJyA9ICdpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3RvZ2dsZUljb24kID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZEF0dHIkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnc2xpbS1hcnJvdy1kb3duJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcnRsJCgpID8gJ3NsaW0tYXJyb3ctbGVmdCcgOiAnc2xpbS1hcnJvdy1yaWdodCc7XG4gICAgfSk7XG5cbiAgICAvKiogTGlzdCBpdGVtIHBsYWNlbWVudCBjb250YWluZXIuICovXG4gICAgcmVhZG9ubHkgcGxhY2VtZW50Q29udGFpbmVyID1cbiAgICAgICAgaW5qZWN0KEZkYk5hdmlnYXRpb25Db250ZW50Q29udGFpbmVyLCB7XG4gICAgICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgICAgIH0pIHx8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBpcyB2aXNpYmxlIGluIHRoZSBtYWluIG5hdmlnYXRpb24gbGlzdCBjb250YWluZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNWaXNpYmxlJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudExpc3RJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0dyb3VwJCgpID8gIXRoaXMubmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkgOiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZWRMZXZlbCQoKSA8IDM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRMaXN0SXRlbS5pc1Zpc2libGUkKCkgJiYgdGhpcy5wYXJlbnRMaXN0SXRlbS5leHBhbmRlZCQoKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgbmF2aWdhdGFibGUgdmlhIHRoZSBrZXlib2FyZC5cbiAgICAgKi9cbiAgICBnZXQgc2tpcE5hdmlnYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNwYWNlciB8fCB0aGlzLnNlcGFyYXRvcjtcbiAgICB9XG5cbiAgICAvKiogYXJpYS1leHBhbmRlZCBhdHRyaWJ1dGUgdmFsdWUuICovXG4gICAgcmVhZG9ubHkgZXhwYW5kZWRBdHRyJCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkgPyB0aGlzLnBvcG92ZXJPcGVuJCgpICYmICF0aGlzLmlzT3ZlcmZsb3ckKCkgOiB0aGlzLmV4cGFuZGVkJCgpXG4gICAgKTtcblxuICAgIC8qKiBDU1MgQ2xhc3Mgc2lnbmFsLiAqL1xuICAgIHJlYWRvbmx5IGNsYXNzJCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIFtcbiAgICAgICAgICAgIExJU1RfSVRFTV9DTEFTUyxcbiAgICAgICAgICAgIHRoaXMuX2NsYXNzJCgpLFxuICAgICAgICAgICAgdGhpcy5fc2VwYXJhdG9yJCgpID8gYCR7TElTVF9JVEVNX0NMQVNTfS0tc2VwYXJhdG9yYCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5fc3BhY2VyJCgpID8gYCR7TElTVF9JVEVNX0NMQVNTfS0tc3BhY2VyYCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5faG9tZSQoKSA/IGAke0xJU1RfSVRFTV9DTEFTU30tLWhvbWVgIDogJydcbiAgICAgICAgXVxuICAgICAgICAgICAgLmZpbHRlcigoaykgPT4gISFrKVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICk7XG5cbiAgICAvKiogU2VsZWN0ZWQgU2lnbmFsLiAqL1xuICAgIHJlYWRvbmx5IHNlbGVjdGVkJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUG9wb3ZlciBwb3NpdGlvbi4gQ2hhbmdlcyBiYXNlZCBvbiBydGwgdmFsdWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgX3BvcG92ZXJQbGFjZW1lbnQkID0gY29tcHV0ZWQ8UGxhY2VtZW50PigoKSA9PiAodGhpcy5fcnRsJCgpID8gJ2xlZnQtc3RhcnQnIDogJ3JpZ2h0LXN0YXJ0JykpO1xuXG4gICAgLyoqIE9wdGlvbmFsIHBhcmVudCBsaXN0IGNvbXBvbmVudC4gKi9cbiAgICByZWFkb25seSBwYXJlbnRMaXN0SXRlbUNvbXBvbmVudCA9IGluamVjdChGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1DbXAsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIHNraXBTZWxmOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBwYXJlbnRMaXN0SXRlbSgpOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudE5hdmlnYXRpb25MaXN0SXRlbURpcmVjdGl2ZT8ucGFyZW50TmF2TGlzdEl0ZW1EaXJlY3RpdmU/Ll9pdGVtIHx8IHRoaXMucGFyZW50TGlzdEl0ZW1Db21wb25lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hvbWUkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xhc3MkID0gc2lnbmFsPE51bGxhYmxlPHN0cmluZz4+KG51bGwpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zZXBhcmF0b3IkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3BhY2VyJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpbmtzOiBGZGJOYXZpZ2F0aW9uSXRlbUxpbmtbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGlsZExpc3RzOiBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudFtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2tleU1hbmFnZXI6IE51bGxhYmxlPEZvY3VzS2V5TWFuYWdlcjxGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwkID0gdG9TaWduYWwoXG4gICAgICAgIGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgICAgICB9KT8ucnRsIHx8IG9mKGZhbHNlKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRGlyZWN0aXZlIHRoYXQgdXNlZCBkdXJpbmcgZGF0YS1kcml2ZW4gcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudE5hdmlnYXRpb25MaXN0SXRlbURpcmVjdGl2ZSA9IGluamVjdChOYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudE5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlLCB7XG4gICAgICAgIHNraXBTZWxmOiB0cnVlLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5saXN0SXRlbXMkKCkpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLnNraXBOYXZpZ2F0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBXZSBuZWVkIHRvIHRyYWNrIGNoaWxkIGRpcmVjdGl2ZXMgY2hhbmdlIGFuZCBzZXQgbGlzdCBpdGVtcyBiYXNlZCBvbiB0aGF0LlxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmU/LmNoaWxkRGlyZWN0aXZlcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuX3BhcmVudE5hdmlnYXRpb25MaXN0SXRlbURpcmVjdGl2ZS5jaGlsZERpcmVjdGl2ZXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRJdGVtcyA9IEFycmF5LmZyb20oY2hpbGRyZW4pLm1hcCgoY2hpbGQpID0+IGNoaWxkLl9pdGVtISk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyQuc2V0KG1hcHBlZEl0ZW1zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmU/LnJlZ2lzdGVySXRlbSh0aGlzKTtcblxuICAgICAgICB0aGlzLm5hdmlnYXRpb24uY2xvc2VBbGxQb3B1cHMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9jdXNCZWZvcmVMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3BvdmVyT3BlbiQoKSkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNQb3BvdmVyTGluaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdoZW4gaXRlbSBpcyBmb2N1c2VkLCB3ZSBub3RpZnkgbGlzdCBjb250YWluZXIgYWJvdXQgaXQgdG8gdXBkYXRlIGFjdGl2ZSBpbmRleCBpbiBGb2N1c0tleU1hbmFnZXIuXG4gICAgICovXG4gICAgX2ZvY3VzSW5IYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50TGlzdEl0ZW0/LnBvcG92ZXJPcGVuJCgpICYmICF0aGlzLmlzT3ZlcmZsb3ckKCkpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbi5zZXRBY3RpdmVJdGVtKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3BhcmVudE5hdmlnYXRpb25TZXJ2aWNlPy5jdXJyZW50SXRlbSQubmV4dCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0SXRlbXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmUpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zJC5zZXQodGhpcy5saXN0SXRlbXMudG9BcnJheSgpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJMaW5rKGxpbms6IEZkYk5hdmlnYXRpb25JdGVtTGluayk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbGlua3MuaW5kZXhPZihsaW5rKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX2xpbmtzLnB1c2gobGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJMaW5rKGxpbms6IEZkYk5hdmlnYXRpb25JdGVtTGluayk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saW5rcy5zcGxpY2UodGhpcy5fbGlua3MuaW5kZXhPZihsaW5rKSwgMSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3RlckNoaWxkTGlzdChsaXN0OiBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2hpbGRMaXN0cy5pbmNsdWRlcyhsaXN0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NoaWxkTGlzdHMucHVzaChsaXN0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJDaGlsZExpc3QobGlzdDogTmF2aWdhdGlvbkxpc3RDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGlsZExpc3RzLmluY2x1ZGVzKGxpc3QpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hpbGRMaXN0cy5zcGxpY2UodGhpcy5fY2hpbGRMaXN0cy5pbmRleE9mKGxpc3QpLCAxKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUhvcml6b250YWxOYXZpZ2F0aW9uKGlzRXhwYW5kOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKGlzRXhwYW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBtZXRob2Qgd2hlbiBBcnJvdyBkb3duIGlzIHByZXNzZWQgb24gdGhlIGxpbmsgaW4gcG9wb3Zlci5cbiAgICAgKi9cbiAgICBwb3BvdmVyTGlua0Fycm93RG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlcj8uc2V0QWN0aXZlSXRlbSgwKTtcbiAgICB9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9pbm5lckxpc3RLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyT3BlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykgJiYgdGhpcy5fa2V5TWFuYWdlcj8uYWN0aXZlSXRlbUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c1BvcG92ZXJMaW5rKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtVUF9BUlJPVywgRE9XTl9BUlJPV10pKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzR29CYWNrID0gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX3J0bCQoKSA/IFJJR0hUX0FSUk9XIDogTEVGVF9BUlJPVyk7XG5cbiAgICAgICAgaWYgKCFpc0dvQmFjaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc25hcHBlZEl0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgZXhwYW5kZWQgc3RhdGUgb2YgdGhlIGl0ZW0uICovXG4gICAgdG9nZ2xlRXhwYW5kZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXhwYW5kZWQkLnVwZGF0ZSgoZXhwYW5kZWQpID0+ICFleHBhbmRlZCk7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrIG1ldGhvZCB3aGVuIHVzZXIgdXNlZCBrZXlib2FyZCBhcnJvd3MgdG8gZXhwYW5kL2NvbGxhcHNlIGxpc3QgaXRlbS4gKi9cbiAgICBrZXlib2FyZEV4cGFuZGVkKHNob3VsZEV4cGFuZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc092ZXJmbG93JCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0l0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihzaG91bGRFeHBhbmQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NuYXBwZWRJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvY3VzIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBVc2VkIGJ5IG1haW4gbmF2aWdhdGlvbiBjb21wb25lbnQgRm9jdXNLZXlNYW5hZ2VyLlxuICAgICAqIEBwYXJhbSBvcmlnaW5cbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgLy8gSWYgcG9wb3ZlciBpcyBvcGVuLCBmb2N1cyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2hpZnRlZCB0byBjbG9uZWQgbGluay5cbiAgICAgICAgaWYgKHRoaXMucG9wb3Zlck9wZW4kKCkgJiYgIXRoaXMuaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9jdXNMaW5rKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyBpbm5lciBsaW5rIGVsZW1lbnQuXG4gICAgICogT3B0aW9uYWxseSBjbG9zZXMgdGhlIHBvcG92ZXIuXG4gICAgICovXG4gICAgZm9jdXNMaW5rKGNsb3NlUG9wb3ZlciA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGluayQoKT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKGNsb3NlUG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbiQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUG9wb3Zlck9wZW4oaXNPcGVuOiBib29sZWFuLCBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldChpc09wZW4pO1xuICAgICAgICBpZiAoIWlzT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb25ab25lU3RhYmxlKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHBvcG92ZXIucG9wb3ZlckJvZHkuX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZvY3VzUG9wb3ZlckxpbmsoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpbmtzLmZpbmQoKGxpbmspID0+IGxpbmsuaW5Qb3BvdmVyKT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlSXRlbUtleWJvYXJkRXhwYW5kZWRIYW5kbGVyKHNob3VsZEV4cGFuZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQ2hpbGRyZW4kKCkpIHtcbiAgICAgICAgICAgIGlmICghc2hvdWxkRXhwYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRMaXN0SXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2hvdWxkRXhwYW5kKSB7XG4gICAgICAgICAgICAvLyBJZiBpdGVtIGFscmVhZHkgY29sbGFwc2VkLCBzaGlmdCBmb2N1cyB0byBwYXJlbnQgbGlua1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkJCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRMaXN0SXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkJC5zZXQoZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcy5maXJzdD8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkJC5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NuYXBwZWRJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRFeHBhbmQgJiYgIXRoaXMucG9wb3Zlck9wZW4kKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNob3VsZEV4cGFuZCAmJiB0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5saW5rJCgpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNZXRob2QgdXNlZCB0byBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBmb3IgbGlzdCBpdGVtIHRoYXQgaXMgaW5zaWRlIG92ZXJmbG93IGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vdmVyZmxvd0l0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihzaG91bGRFeHBhbmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHNob3VsZEV4cGFuZCAmJiB0aGlzLl9jaGlsZExpc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0TGlzdCA9IHRoaXMuX2NoaWxkTGlzdHNbMF07XG4gICAgICAgICAgICBmaXJzdExpc3Quc2V0QWN0aXZlSXRlbUluZGV4KDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRFeHBhbmQgJiYgIXRoaXMucG9wb3Zlck9wZW4kKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNob3VsZEV4cGFuZCAmJiB0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5saW5rPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25ab25lU3RhYmxlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuX3pvbmUuaXNTdGFibGUpLFxuICAgICAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8IS0tIEdlbmVyYWwgcmVuZGVyZXIuIC0tPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICBAaWYgKCFzZXBhcmF0b3IpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1ncm91cF09XCJpc0dyb3VwJCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1jaGlsZF09XCJub3JtYWxpemVkTGV2ZWwkKCkgPiAyXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1vdmVyZmxvd109XCJpc092ZXJmbG93JCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS13aXRoLWV4cGFuZGVyXT1cIiEhbGluayQoKT8ucm91dGVyTGluayAmJiBoYXNDaGlsZHJlbiQoKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cImxldmVsJCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNBY3RpdmVBdHRyJCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRBdHRyJCgpXCJcbiAgICAgICAgICAgIFthdHRyLm5vcm1hbGl6ZWQtbGV2ZWxdPVwibm9ybWFsaXplZExldmVsJCgpXCJcbiAgICAgICAgICAgIChmb2N1c2luKT1cIl9mb2N1c0luSGFuZGxlcigpXCJcbiAgICAgICAgICAgIGZkYk5hdmlnYXRpb25MaXN0SXRlbU1hcmtlclxuICAgICAgICAgICAgI2l0ZW1Db250YWluZXJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmICghbmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkgfHwgIWhhc0NoaWxkcmVuJCgpKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzbmFwcGVkTmF2aWdhdGlvbkl0ZW1SZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbUNvbnRhaW5lciB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoaXNPdmVyZmxvdyQoKSAmJiBoYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm92ZXJmbG93SXRlbUxpc3RSZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghbmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkpIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0UmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU25hcHBlZCBuYXZpZ2F0aW9uIGxpc3QgaXRlbSByZW5kZXJlci4gSW1wbGljaXQgY29udGV4dCBwb2ludHMgdG8gdGhlIHBvcG92ZXIgdHJpZ2dlciBlbGVtZW50LiAtLT5cbjxuZy10ZW1wbGF0ZSAjc25hcHBlZE5hdmlnYXRpb25JdGVtUmVuZGVyZXIgbGV0LWl0ZW1Db250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZmFsc2UgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgQGlmICghaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbaXNPcGVuXT1cInBvcG92ZXJPcGVuJCgpXCJcbiAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwiX29uUG9wb3Zlck9wZW4oJGV2ZW50LCBwb3BvdmVyKVwiXG4gICAgICAgICAgICBbdHJpZ2dlcl09XCJpdGVtQ29udGFpbmVyXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiX3BvcG92ZXJQbGFjZW1lbnQkKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IFtuZ0NsYXNzXT1cIm5hdmlnYXRpb24uY2xhc3NMaXN0JCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndyYXBwZXJSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gR2VuZXJpYyBsaW5rIHJlbmRlcmVyLiAtLT5cbjxuZy10ZW1wbGF0ZSAjbGlua1JlbmRlcmVyIGxldC1zaG93VG9nZ2xlQnV0dG9uPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rUmVmPy50ZW1wbGF0ZVJlZiB8fCBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICBAaWYgKCEhc2hvd1RvZ2dsZUJ1dHRvbiAmJiAhIWxpbmskKCk/LnJvdXRlckxpbmsgJiYgaGFzQ2hpbGRyZW4kKCkpIHtcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kZWQoKVwiIGZkLWJ1dHRvbiBmZGJOZXN0ZWRCdXR0b24gY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19leHBhbmRlclwiPlxuICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cIl90b2dnbGVJY29uJCgpXCI+PC9mZC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPCEtLSBHZW5lcmljIGxpc3QgcmVuZGVyZXIuIFVzZWQgd2hlbiBuYXZpZ2F0aW9uIGlzIG5vdCBzbmFwcGVkLiAtLT5cbjxuZy10ZW1wbGF0ZSAjbGlzdFJlbmRlcmVyPlxuICAgIEBpZiAoaXNHcm91cCQoKSAmJiBub3JtYWxpemVkTGV2ZWwkKCkgPT09IDEpIHtcbiAgICAgICAgPHVsIGZkYi1uYXZpZ2F0aW9uLWxpc3QgW2xpc3RJdGVtc109XCJsaXN0SXRlbXMkKClcIiBwYXJlbnRJdGVtcz48L3VsPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndyYXBwZXJSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBmYWxzZSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPCEtLSBUZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgc3VibGlzdCBvZiBpdGVtcyBmb3IgdGhlIGxpc3QgaXRlbSB0aGF0IGlzIGN1cnJlbnRseSBpbiBvdmVyZmxvdyBtZW51LiAtLT5cbjxuZy10ZW1wbGF0ZSAjb3ZlcmZsb3dJdGVtTGlzdFJlbmRlcmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lciBmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lci0tc3VibWVudSBmZC1tZW51X19zdWJsaXN0XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ3cmFwcGVyUmVuZGVyZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRydWUgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBHZW5lcmljIGxpc3QgcmVuZGVyZXIuIEltcGxpY2l0IGNvbnRleHQgZGVmaW5lcyB3aGV0aGVyIHRoZSBpbm5lciBsaXN0IHNob3VsZCBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBieSBpdHMgb3duLiAtLT5cbjxuZy10ZW1wbGF0ZSAjd3JhcHBlclJlbmRlcmVyIGxldC1rZXlib2FyZE5hdmlnYXRpb24+XG4gICAgPGRpdiBjbGFzcz1cImZkLW5hdmlnYXRpb25fX2xpc3Qtd3JhcHBlclwiPlxuICAgICAgICBAaWYgKG5hdmlnYXRpb24uaXNTbmFwcGVkJCgpICYmICFpc092ZXJmbG93JCgpKSB7XG4gICAgICAgICAgICA8IS0tIElmIG9wZW5lciBsaW5rIGl0c2VsZiBpcyBhY3RpdmUsIHByb2plY3QgYXJpYS1zZWxlY3RlZCBhdHRyaWJ1dGUgdG8gbGluayByZXBlYXRlciB0b28uIC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9faXRlbSBmZC1uYXZpZ2F0aW9uX19pdGVtLS10aXRsZSBmZC1uYXZpZ2F0aW9uX19pdGVtLS1jaGlsZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJsaW5rJCgpPy5pc0FjdGl2ZSQoKSB8fCBzZWxlY3RlZCQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZmFsc2UgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8dWxcbiAgICAgICAgICAgIGZkYi1uYXZpZ2F0aW9uLWxpc3RcbiAgICAgICAgICAgIFtsaXN0SXRlbXNdPVwibGlzdEl0ZW1zJCgpXCJcbiAgICAgICAgICAgIFtjaGlsZEl0ZW1zXT1cIm5vcm1hbGl6ZWRMZXZlbCQoKSA+IDJcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwiZmFsc2UgJiYgX2lubmVyTGlzdEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXNCZWZvcmUpPVwiX2ZvY3VzQmVmb3JlTGlzdCgpXCJcbiAgICAgICAgICAgIFt3aXRoS2V5Ym9hcmROYXZpZ2F0aW9uXT1cImtleWJvYXJkTmF2aWdhdGlvblwiXG4gICAgICAgID48L3VsPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
490
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24taXRlbS9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2J0cC9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1pdGVtL25hdmlnYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVB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LE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsNkJBQTZCO3lCQUMzQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLDZCQUE2Qjt5QkFDM0M7cUJBQ0osaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3REFLM0MsS0FBSztzQkFEUixLQUFLO2dCQVdGLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsU0FBUztzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVV2QyxNQUFNO3NCQURULEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVXZDLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFXdkMsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVd2QyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVzNDLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBSzFELElBQUk7c0JBRFAsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBU25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQywwQkFBMEI7Z0JBS3BDLFFBQVE7c0JBRFgsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPV05fQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmVzdGVkQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9idHAvYnV0dG9uJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBhc3luY1NjaGVkdWxlciwgZmlsdGVyLCBvYnNlcnZlT24sIHN0YXJ0V2l0aCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uYXZpZ2F0aW9uLWxpc3QtaXRlbS1yZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25Db250ZW50Q29udGFpbmVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24tY29udGVudC1jb250YWluZXIuY2xhc3MnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkl0ZW1MaW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24taXRlbS1saW5rLmNsYXNzJztcbmltcG9ydCB7XG4gICAgRmRiTmF2aWdhdGlvbkxpc3RJdGVtLFxuICAgIEZkYk5hdmlnYXRpb25MaXN0SXRlbUNtcCxcbiAgICBMSVNUX0lURU1fQ0xBU1Ncbn0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24tbGlzdC1pdGVtLmNsYXNzJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25MaW5rUmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkYk5hdmlnYXRpb25MaXN0SXRlbU1hcmtlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpc3RJdGVtTWFya2VyRGlyZWN0aXZlIHtcbiAgICAvKiogRWxlbWVudCByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50KS5tYXJrZXIgPSB0aGlzO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZGItbmF2aWdhdGlvbi1saXN0LWl0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIE5hdmlnYXRpb25MaXN0Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlDb21wb25lbnQsXG4gICAgICAgIE5hdmlnYXRpb25MaXN0SXRlbU1hcmtlckRpcmVjdGl2ZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIE5nQ2xhc3NcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZkYk5hdmlnYXRpb25MaXN0SXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ21wLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IE5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEZkYk5hdmlnYXRpb25MaXN0SXRlbSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjbGFzcyh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9jbGFzcyQuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgY2xhc3MoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGFzcyQoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgbGlzdCBpdGVtIHJlcHJlc2VudHMgXCJIb21lXCIgaXRlbS4gKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBob21lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hvbWUkLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGhvbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob21lJCgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGEgc2VwYXJhdG9yICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgc2VwYXJhdG9yKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NlcGFyYXRvciQuc2V0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHNlcGFyYXRvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcGFyYXRvciQoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgbGlzdCBpdGVtIHNob3VsZCBiZSByZW5kZXJlZCBhcyBhIHNwYWNlciAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHNwYWNlcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zcGFjZXIkLnNldCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzcGFjZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcGFjZXIkKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgYSBncm91cC4gKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBncm91cChncm91cDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzR3JvdXAkLnNldChncm91cCk7XG4gICAgfVxuXG4gICAgZ2V0IGdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0dyb3VwJCgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gaXMgZXhwYW5kZWQuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgZXhwYW5kZWQoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCQuc2V0KGV4cGFuZGVkKTtcbiAgICB9XG5cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkJCgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpdGVtIHNob3VsZCBiZSBtYXJrZWQgYXMgc2VsZWN0ZWQuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgc2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCQuc2V0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkJCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0sIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pXG4gICAgbGlzdEl0ZW1zOiBRdWVyeUxpc3Q8RmRiTmF2aWdhdGlvbkxpc3RJdGVtPjtcblxuICAgIC8qKiBMaW5rIHJlZmVyZW5jZS4gKi9cbiAgICBAQ29udGVudENoaWxkKEZkYk5hdmlnYXRpb25JdGVtTGluaylcbiAgICBzZXQgbGluayh2YWx1ZTogTnVsbGFibGU8RmRiTmF2aWdhdGlvbkl0ZW1MaW5rPikge1xuICAgICAgICB0aGlzLmxpbmskLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGluayB0ZW1wbGF0ZSByZWZlcmVuY2UuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOYXZpZ2F0aW9uTGlua1JlZkRpcmVjdGl2ZSlcbiAgICBsaW5rUmVmOiBOdWxsYWJsZTxOYXZpZ2F0aW9uTGlua1JlZkRpcmVjdGl2ZT47XG5cbiAgICAvKiogUmVuZGVyZXIgdGVtcGxhdGUgcmVmZXJlbmNlLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlcmVyJylcbiAgICBzZXQgcmVuZGVyZXIocmVuZGVyZXI6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fb25ab25lU3RhYmxlKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIkLnNldChyZW5kZXJlciB8fCBudWxsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFR5cGUgb2YgdGhlIGxpc3QgaXRlbS4gV2hldGhlciBpdHMgYSBzdGFuZGFyZCBpdGVtIG9yIGEgXCJzaG93IG1vcmVcIiBidXR0b24gY29udGFpbmVyLiAqL1xuICAgIHJlYWRvbmx5IHR5cGU6ICdpdGVtJyB8ICdzaG93TW9yZScgPSAnaXRlbSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF90b2dnbGVJY29uJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWRBdHRyJCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3NsaW0tYXJyb3ctZG93bic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3J0bCQoKSA/ICdzbGltLWFycm93LWxlZnQnIDogJ3NsaW0tYXJyb3ctcmlnaHQnO1xuICAgIH0pO1xuXG4gICAgLyoqIExpc3QgaXRlbSBwbGFjZW1lbnQgY29udGFpbmVyLiAqL1xuICAgIHJlYWRvbmx5IHBsYWNlbWVudENvbnRhaW5lciA9XG4gICAgICAgIGluamVjdChGZGJOYXZpZ2F0aW9uQ29udGVudENvbnRhaW5lciwge1xuICAgICAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgICAgICB9KSB8fCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBsaXN0IGl0ZW0gaXMgdmlzaWJsZSBpbiB0aGUgbWFpbiBuYXZpZ2F0aW9uIGxpc3QgY29udGFpbmVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlzVmlzaWJsZSQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzT3ZlcmZsb3ckKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRMaXN0SXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNHcm91cCQoKSA/ICF0aGlzLm5hdmlnYXRpb24uaXNTbmFwcGVkJCgpIDogdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb24uaXNTbmFwcGVkJCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVkTGV2ZWwkKCkgPCAzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50TGlzdEl0ZW0uaXNWaXNpYmxlJCgpICYmIHRoaXMucGFyZW50TGlzdEl0ZW0uZXhwYW5kZWQkKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBpdGVtIGlzIG5hdmlnYXRhYmxlIHZpYSB0aGUga2V5Ym9hcmQuXG4gICAgICovXG4gICAgZ2V0IHNraXBOYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zcGFjZXIgfHwgdGhpcy5zZXBhcmF0b3I7XG4gICAgfVxuXG4gICAgLyoqIGFyaWEtZXhwYW5kZWQgYXR0cmlidXRlIHZhbHVlLiAqL1xuICAgIHJlYWRvbmx5IGV4cGFuZGVkQXR0ciQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLm5hdmlnYXRpb24uaXNTbmFwcGVkJCgpID8gdGhpcy5wb3BvdmVyT3BlbiQoKSAmJiAhdGhpcy5pc092ZXJmbG93JCgpIDogdGhpcy5leHBhbmRlZCQoKVxuICAgICk7XG5cbiAgICAvKiogQ1NTIENsYXNzIHNpZ25hbC4gKi9cbiAgICByZWFkb25seSBjbGFzcyQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBbXG4gICAgICAgICAgICBMSVNUX0lURU1fQ0xBU1MsXG4gICAgICAgICAgICB0aGlzLl9jbGFzcyQoKSxcbiAgICAgICAgICAgIHRoaXMuX3NlcGFyYXRvciQoKSA/IGAke0xJU1RfSVRFTV9DTEFTU30tLXNlcGFyYXRvcmAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuX3NwYWNlciQoKSA/IGAke0xJU1RfSVRFTV9DTEFTU30tLXNwYWNlcmAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuX2hvbWUkKCkgPyBgJHtMSVNUX0lURU1fQ0xBU1N9LS1ob21lYCA6ICcnXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5maWx0ZXIoKGspID0+ICEhaylcbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICApO1xuXG4gICAgLyoqIFNlbGVjdGVkIFNpZ25hbC4gKi9cbiAgICByZWFkb25seSBzZWxlY3RlZCQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBvcG92ZXIgcG9zaXRpb24uIENoYW5nZXMgYmFzZWQgb24gcnRsIHZhbHVlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IF9wb3BvdmVyUGxhY2VtZW50JCA9IGNvbXB1dGVkPFBsYWNlbWVudD4oKCkgPT4gKHRoaXMuX3J0bCQoKSA/ICdsZWZ0LXN0YXJ0JyA6ICdyaWdodC1zdGFydCcpKTtcblxuICAgIC8qKiBPcHRpb25hbCBwYXJlbnQgbGlzdCBjb21wb25lbnQuICovXG4gICAgcmVhZG9ubHkgcGFyZW50TGlzdEl0ZW1Db21wb25lbnQgPSBpbmplY3QoRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ21wLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgcGFyZW50TGlzdEl0ZW0oKTogRmRiTmF2aWdhdGlvbkxpc3RJdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmU/LnBhcmVudE5hdkxpc3RJdGVtRGlyZWN0aXZlPy5faXRlbSB8fCB0aGlzLnBhcmVudExpc3RJdGVtQ29tcG9uZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ob21lJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NsYXNzJCA9IHNpZ25hbDxOdWxsYWJsZTxzdHJpbmc+PihudWxsKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2VwYXJhdG9yJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NwYWNlciQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9saW5rczogRmRiTmF2aWdhdGlvbkl0ZW1MaW5rW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGRMaXN0czogTmF2aWdhdGlvbkxpc3RDb21wb25lbnRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBOdWxsYWJsZTxGb2N1c0tleU1hbmFnZXI8RmRiTmF2aWdhdGlvbkxpc3RJdGVtPj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2UgPSBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwkID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4gISF0aGlzLl9ydGxTZXJ2aWNlPy5ydGxTaWduYWwoKSk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRGlyZWN0aXZlIHRoYXQgdXNlZCBkdXJpbmcgZGF0YS1kcml2ZW4gcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudE5hdmlnYXRpb25MaXN0SXRlbURpcmVjdGl2ZSA9IGluamVjdChOYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudE5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlLCB7XG4gICAgICAgIHNraXBTZWxmOiB0cnVlLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5saXN0SXRlbXMkKCkpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLnNraXBOYXZpZ2F0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBXZSBuZWVkIHRvIHRyYWNrIGNoaWxkIGRpcmVjdGl2ZXMgY2hhbmdlIGFuZCBzZXQgbGlzdCBpdGVtcyBiYXNlZCBvbiB0aGF0LlxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmU/LmNoaWxkRGlyZWN0aXZlcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuX3BhcmVudE5hdmlnYXRpb25MaXN0SXRlbURpcmVjdGl2ZS5jaGlsZERpcmVjdGl2ZXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRJdGVtcyA9IEFycmF5LmZyb20oY2hpbGRyZW4pLm1hcCgoY2hpbGQpID0+IGNoaWxkLl9pdGVtISk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyQuc2V0KG1hcHBlZEl0ZW1zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmU/LnJlZ2lzdGVySXRlbSh0aGlzKTtcblxuICAgICAgICB0aGlzLm5hdmlnYXRpb24uY2xvc2VBbGxQb3B1cHMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9jdXNCZWZvcmVMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3BvdmVyT3BlbiQoKSkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNQb3BvdmVyTGluaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdoZW4gaXRlbSBpcyBmb2N1c2VkLCB3ZSBub3RpZnkgbGlzdCBjb250YWluZXIgYWJvdXQgaXQgdG8gdXBkYXRlIGFjdGl2ZSBpbmRleCBpbiBGb2N1c0tleU1hbmFnZXIuXG4gICAgICovXG4gICAgX2ZvY3VzSW5IYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50TGlzdEl0ZW0/LnBvcG92ZXJPcGVuJCgpICYmICF0aGlzLmlzT3ZlcmZsb3ckKCkpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbi5zZXRBY3RpdmVJdGVtKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3BhcmVudE5hdmlnYXRpb25TZXJ2aWNlPy5jdXJyZW50SXRlbSQubmV4dCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0SXRlbXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLl9wYXJlbnROYXZpZ2F0aW9uTGlzdEl0ZW1EaXJlY3RpdmUpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zJC5zZXQodGhpcy5saXN0SXRlbXMudG9BcnJheSgpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJMaW5rKGxpbms6IEZkYk5hdmlnYXRpb25JdGVtTGluayk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbGlua3MuaW5kZXhPZihsaW5rKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX2xpbmtzLnB1c2gobGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJMaW5rKGxpbms6IEZkYk5hdmlnYXRpb25JdGVtTGluayk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saW5rcy5zcGxpY2UodGhpcy5fbGlua3MuaW5kZXhPZihsaW5rKSwgMSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3RlckNoaWxkTGlzdChsaXN0OiBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2hpbGRMaXN0cy5pbmNsdWRlcyhsaXN0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NoaWxkTGlzdHMucHVzaChsaXN0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJDaGlsZExpc3QobGlzdDogTmF2aWdhdGlvbkxpc3RDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGlsZExpc3RzLmluY2x1ZGVzKGxpc3QpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hpbGRMaXN0cy5zcGxpY2UodGhpcy5fY2hpbGRMaXN0cy5pbmRleE9mKGxpc3QpLCAxKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZUhvcml6b250YWxOYXZpZ2F0aW9uKGlzRXhwYW5kOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKGlzRXhwYW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBtZXRob2Qgd2hlbiBBcnJvdyBkb3duIGlzIHByZXNzZWQgb24gdGhlIGxpbmsgaW4gcG9wb3Zlci5cbiAgICAgKi9cbiAgICBwb3BvdmVyTGlua0Fycm93RG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlcj8uc2V0QWN0aXZlSXRlbSgwKTtcbiAgICB9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9pbm5lckxpc3RLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyT3BlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykgJiYgdGhpcy5fa2V5TWFuYWdlcj8uYWN0aXZlSXRlbUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c1BvcG92ZXJMaW5rKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtVUF9BUlJPVywgRE9XTl9BUlJPV10pKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzR29CYWNrID0gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIHRoaXMuX3J0bCQoKSA/IFJJR0hUX0FSUk9XIDogTEVGVF9BUlJPVyk7XG5cbiAgICAgICAgaWYgKCFpc0dvQmFjaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc25hcHBlZEl0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgZXhwYW5kZWQgc3RhdGUgb2YgdGhlIGl0ZW0uICovXG4gICAgdG9nZ2xlRXhwYW5kZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXhwYW5kZWQkLnVwZGF0ZSgoZXhwYW5kZWQpID0+ICFleHBhbmRlZCk7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrIG1ldGhvZCB3aGVuIHVzZXIgdXNlZCBrZXlib2FyZCBhcnJvd3MgdG8gZXhwYW5kL2NvbGxhcHNlIGxpc3QgaXRlbS4gKi9cbiAgICBrZXlib2FyZEV4cGFuZGVkKHNob3VsZEV4cGFuZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc092ZXJmbG93JCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd0l0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihzaG91bGRFeHBhbmQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NuYXBwZWRJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvY3VzIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBVc2VkIGJ5IG1haW4gbmF2aWdhdGlvbiBjb21wb25lbnQgRm9jdXNLZXlNYW5hZ2VyLlxuICAgICAqIEBwYXJhbSBvcmlnaW5cbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgLy8gSWYgcG9wb3ZlciBpcyBvcGVuLCBmb2N1cyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2hpZnRlZCB0byBjbG9uZWQgbGluay5cbiAgICAgICAgaWYgKHRoaXMucG9wb3Zlck9wZW4kKCkgJiYgIXRoaXMuaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9jdXNMaW5rKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyBpbm5lciBsaW5rIGVsZW1lbnQuXG4gICAgICogT3B0aW9uYWxseSBjbG9zZXMgdGhlIHBvcG92ZXIuXG4gICAgICovXG4gICAgZm9jdXNMaW5rKGNsb3NlUG9wb3ZlciA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGluayQoKT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKGNsb3NlUG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbiQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUG9wb3Zlck9wZW4oaXNPcGVuOiBib29sZWFuLCBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldChpc09wZW4pO1xuICAgICAgICBpZiAoIWlzT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb25ab25lU3RhYmxlKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHBvcG92ZXIucG9wb3ZlckJvZHkuX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2ZvY3VzUG9wb3ZlckxpbmsoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpbmtzLmZpbmQoKGxpbmspID0+IGxpbmsuaW5Qb3BvdmVyKT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlSXRlbUtleWJvYXJkRXhwYW5kZWRIYW5kbGVyKHNob3VsZEV4cGFuZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQ2hpbGRyZW4kKCkpIHtcbiAgICAgICAgICAgIGlmICghc2hvdWxkRXhwYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRMaXN0SXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2hvdWxkRXhwYW5kKSB7XG4gICAgICAgICAgICAvLyBJZiBpdGVtIGFscmVhZHkgY29sbGFwc2VkLCBzaGlmdCBmb2N1cyB0byBwYXJlbnQgbGlua1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkJCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRMaXN0SXRlbT8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkJC5zZXQoZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcy5maXJzdD8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkJC5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NuYXBwZWRJdGVtS2V5Ym9hcmRFeHBhbmRlZEhhbmRsZXIoc2hvdWxkRXhwYW5kOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5oYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRFeHBhbmQgJiYgIXRoaXMucG9wb3Zlck9wZW4kKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNob3VsZEV4cGFuZCAmJiB0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5saW5rJCgpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNZXRob2QgdXNlZCB0byBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBmb3IgbGlzdCBpdGVtIHRoYXQgaXMgaW5zaWRlIG92ZXJmbG93IGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vdmVyZmxvd0l0ZW1LZXlib2FyZEV4cGFuZGVkSGFuZGxlcihzaG91bGRFeHBhbmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHNob3VsZEV4cGFuZCAmJiB0aGlzLl9jaGlsZExpc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0TGlzdCA9IHRoaXMuX2NoaWxkTGlzdHNbMF07XG4gICAgICAgICAgICBmaXJzdExpc3Quc2V0QWN0aXZlSXRlbUluZGV4KDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRFeHBhbmQgJiYgIXRoaXMucG9wb3Zlck9wZW4kKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNob3VsZEV4cGFuZCAmJiB0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5saW5rPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25ab25lU3RhYmxlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuX3pvbmUuaXNTdGFibGUpLFxuICAgICAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8IS0tIEdlbmVyYWwgcmVuZGVyZXIuIC0tPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICBAaWYgKCFzZXBhcmF0b3IpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1ncm91cF09XCJpc0dyb3VwJCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1jaGlsZF09XCJub3JtYWxpemVkTGV2ZWwkKCkgPiAyXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS1vdmVyZmxvd109XCJpc092ZXJmbG93JCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1uYXZpZ2F0aW9uX19pdGVtLS13aXRoLWV4cGFuZGVyXT1cIiEhbGluayQoKT8ucm91dGVyTGluayAmJiBoYXNDaGlsZHJlbiQoKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cImxldmVsJCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNBY3RpdmVBdHRyJCgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRBdHRyJCgpXCJcbiAgICAgICAgICAgIFthdHRyLm5vcm1hbGl6ZWQtbGV2ZWxdPVwibm9ybWFsaXplZExldmVsJCgpXCJcbiAgICAgICAgICAgIChmb2N1c2luKT1cIl9mb2N1c0luSGFuZGxlcigpXCJcbiAgICAgICAgICAgIGZkYk5hdmlnYXRpb25MaXN0SXRlbU1hcmtlclxuICAgICAgICAgICAgI2l0ZW1Db250YWluZXJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmICghbmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkgfHwgIWhhc0NoaWxkcmVuJCgpKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzbmFwcGVkTmF2aWdhdGlvbkl0ZW1SZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbUNvbnRhaW5lciB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoaXNPdmVyZmxvdyQoKSAmJiBoYXNDaGlsZHJlbiQoKSkge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm92ZXJmbG93SXRlbUxpc3RSZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghbmF2aWdhdGlvbi5pc1NuYXBwZWQkKCkpIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0UmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU25hcHBlZCBuYXZpZ2F0aW9uIGxpc3QgaXRlbSByZW5kZXJlci4gSW1wbGljaXQgY29udGV4dCBwb2ludHMgdG8gdGhlIHBvcG92ZXIgdHJpZ2dlciBlbGVtZW50LiAtLT5cbjxuZy10ZW1wbGF0ZSAjc25hcHBlZE5hdmlnYXRpb25JdGVtUmVuZGVyZXIgbGV0LWl0ZW1Db250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZmFsc2UgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgQGlmICghaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbaXNPcGVuXT1cInBvcG92ZXJPcGVuJCgpXCJcbiAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwiX29uUG9wb3Zlck9wZW4oJGV2ZW50LCBwb3BvdmVyKVwiXG4gICAgICAgICAgICBbdHJpZ2dlcl09XCJpdGVtQ29udGFpbmVyXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiX3BvcG92ZXJQbGFjZW1lbnQkKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IFtuZ0NsYXNzXT1cIm5hdmlnYXRpb24uY2xhc3NMaXN0JCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndyYXBwZXJSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gR2VuZXJpYyBsaW5rIHJlbmRlcmVyLiAtLT5cbjxuZy10ZW1wbGF0ZSAjbGlua1JlbmRlcmVyIGxldC1zaG93VG9nZ2xlQnV0dG9uPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rUmVmPy50ZW1wbGF0ZVJlZiB8fCBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICBAaWYgKCEhc2hvd1RvZ2dsZUJ1dHRvbiAmJiAhIWxpbmskKCk/LnJvdXRlckxpbmsgJiYgaGFzQ2hpbGRyZW4kKCkpIHtcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kZWQoKVwiIGZkLWJ1dHRvbiBmZGJOZXN0ZWRCdXR0b24gY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19leHBhbmRlclwiPlxuICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cIl90b2dnbGVJY29uJCgpXCI+PC9mZC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPCEtLSBHZW5lcmljIGxpc3QgcmVuZGVyZXIuIFVzZWQgd2hlbiBuYXZpZ2F0aW9uIGlzIG5vdCBzbmFwcGVkLiAtLT5cbjxuZy10ZW1wbGF0ZSAjbGlzdFJlbmRlcmVyPlxuICAgIEBpZiAoaXNHcm91cCQoKSAmJiBub3JtYWxpemVkTGV2ZWwkKCkgPT09IDEpIHtcbiAgICAgICAgPHVsIGZkYi1uYXZpZ2F0aW9uLWxpc3QgW2xpc3RJdGVtc109XCJsaXN0SXRlbXMkKClcIiBwYXJlbnRJdGVtcz48L3VsPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndyYXBwZXJSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBmYWxzZSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPCEtLSBUZW1wbGF0ZSB1c2VkIGZvciByZW5kZXJpbmcgc3VibGlzdCBvZiBpdGVtcyBmb3IgdGhlIGxpc3QgaXRlbSB0aGF0IGlzIGN1cnJlbnRseSBpbiBvdmVyZmxvdyBtZW51LiAtLT5cbjxuZy10ZW1wbGF0ZSAjb3ZlcmZsb3dJdGVtTGlzdFJlbmRlcmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lciBmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lci0tc3VibWVudSBmZC1tZW51X19zdWJsaXN0XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ3cmFwcGVyUmVuZGVyZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRydWUgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBHZW5lcmljIGxpc3QgcmVuZGVyZXIuIEltcGxpY2l0IGNvbnRleHQgZGVmaW5lcyB3aGV0aGVyIHRoZSBpbm5lciBsaXN0IHNob3VsZCBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBieSBpdHMgb3duLiAtLT5cbjxuZy10ZW1wbGF0ZSAjd3JhcHBlclJlbmRlcmVyIGxldC1rZXlib2FyZE5hdmlnYXRpb24+XG4gICAgPGRpdiBjbGFzcz1cImZkLW5hdmlnYXRpb25fX2xpc3Qtd3JhcHBlclwiPlxuICAgICAgICBAaWYgKG5hdmlnYXRpb24uaXNTbmFwcGVkJCgpICYmICFpc092ZXJmbG93JCgpKSB7XG4gICAgICAgICAgICA8IS0tIElmIG9wZW5lciBsaW5rIGl0c2VsZiBpcyBhY3RpdmUsIHByb2plY3QgYXJpYS1zZWxlY3RlZCBhdHRyaWJ1dGUgdG8gbGluayByZXBlYXRlciB0b28uIC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9faXRlbSBmZC1uYXZpZ2F0aW9uX19pdGVtLS10aXRsZSBmZC1uYXZpZ2F0aW9uX19pdGVtLS1jaGlsZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJsaW5rJCgpPy5pc0FjdGl2ZSQoKSB8fCBzZWxlY3RlZCQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZmFsc2UgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8dWxcbiAgICAgICAgICAgIGZkYi1uYXZpZ2F0aW9uLWxpc3RcbiAgICAgICAgICAgIFtsaXN0SXRlbXNdPVwibGlzdEl0ZW1zJCgpXCJcbiAgICAgICAgICAgIFtjaGlsZEl0ZW1zXT1cIm5vcm1hbGl6ZWRMZXZlbCQoKSA+IDJcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwiZmFsc2UgJiYgX2lubmVyTGlzdEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXNCZWZvcmUpPVwiX2ZvY3VzQmVmb3JlTGlzdCgpXCJcbiAgICAgICAgICAgIFt3aXRoS2V5Ym9hcmROYXZpZ2F0aW9uXT1cImtleWJvYXJkTmF2aWdhdGlvblwiXG4gICAgICAgID48L3VsPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @angular-eslint/no-host-metadata-property */
|
|
2
2
|
import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
|
|
3
|
-
import {
|
|
3
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import { ChangeDetectionStrategy, Component, Directive, ElementRef, HostBinding, HostListener, Input, TemplateRef, ViewEncapsulation, inject } from '@angular/core';
|
|
5
5
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { RouterLink, RouterLinkActive } from '@angular/router';
|
|
@@ -88,7 +88,7 @@ export class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
88
88
|
if (!KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
-
const expansionKey = this._rtl?.rtl ? RIGHT_ARROW : LEFT_ARROW;
|
|
91
|
+
const expansionKey = this._rtl?.rtl.value ? RIGHT_ARROW : LEFT_ARROW;
|
|
92
92
|
this._listItemComponent?.keyboardExpanded(KeyUtil.isKeyCode(event, expansionKey));
|
|
93
93
|
}
|
|
94
94
|
/** @hidden */
|
|
@@ -105,7 +105,7 @@ export class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
105
105
|
}
|
|
106
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NavigationLinkComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
108
|
-
args: [{ selector: 'a[fdb-navigation-link]', imports: [IconComponent,
|
|
108
|
+
args: [{ selector: 'a[fdb-navigation-link]', imports: [IconComponent, NgTemplateOutlet], hostDirectives: [RouterLinkActive], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
109
109
|
{
|
|
110
110
|
provide: FdbNavigationItemLink,
|
|
111
111
|
useExisting: NavigationLinkComponent
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
132
132
|
type: HostListener,
|
|
133
133
|
args: ['keydown', ['$event']]
|
|
134
134
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGFBQWEsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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O3NCQURKLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS00sU0FBUztzQkFEcEIsV0FBVzt1QkFBQyxlQUFlO2dCQW9EcEIsYUFBYTtzQkFEcEIsWUFBWTt1QkFBQyxPQUFPO2dCQWNiLGVBQWU7c0JBRHRCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHkgKi9cbmltcG9ydCB7IERPV05fQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkayc7XG5pbXBvcnQgeyBGRF9ERUZBVUxUX0lDT05fRk9OVF9GQU1JTFksIEljb25Db21wb25lbnQsIEljb25Gb250IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgb2YsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkl0ZW1MaW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24taXRlbS1saW5rLmNsYXNzJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25MaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBGZGJOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24uY2xhc3MnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGJOYXZpZ2F0aW9uTGlua1JlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpbmtSZWZEaXJlY3RpdmUge1xuICAgIC8qKiBMaW5rIHRlbXBsYXRlIHJlZi4gKi9cbiAgICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdhW2ZkYi1uYXZpZ2F0aW9uLWxpbmtdJyxcbiAgICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICBob3N0RGlyZWN0aXZlczogW1JvdXRlckxpbmtBY3RpdmVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRmRiTmF2aWdhdGlvbkl0ZW1MaW5rLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IE5hdmlnYXRpb25MaW5rQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1uYXZpZ2F0aW9uX19saW5rJyxcbiAgICAgICAgcm9sZTogJ2xpbmsnXG4gICAgfSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTGlua0NvbXBvbmVudCBleHRlbmRzIEZkYk5hdmlnYXRpb25JdGVtTGluayBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIExpbmsgZ2x5cGggKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEdseXBoIGZvbnQgZmFtaWx5ICovXG4gICAgQElucHV0KClcbiAgICBnbHlwaEZvbnQ6IEljb25Gb250ID0gRkRfREVGQVVMVF9JQ09OX0ZPTlRfRkFNSUxZO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpbmsgaXMgZm9yIHRoZSBleHRlcm5hbCByZXNvdXJjZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGV4dGVybmFsID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgcHJpdmF0ZSBnZXQgX3RhYkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8ucG9wb3Zlck9wZW4kKCkgfHwgdGhpcy5fbmF2aWdhdGlvbi5nZXRBY3RpdmVJdGVtKCk/LmxpbmskKCkgPT09IHRoaXMgPyAwIDogLTE7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpbmsgaXMgaW5zaWRlIHBvcG92ZXIuICovXG4gICAgZ2V0IGluUG9wb3ZlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1uYXZpZ2F0aW9uX19pdGVtLS10aXRsZScpO1xuICAgIH1cblxuICAgIC8qKiBFbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTExpbmtFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGlzQWN0aXZlJDogU2lnbmFsPGJvb2xlYW4gfCB1bmRlZmluZWQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfbGlzdEl0ZW1Db21wb25lbnQgPSBpbmplY3QoRmRiTmF2aWdhdGlvbkxpc3RJdGVtLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogUm91dGVyIGxpbmsgcmVmZXJlbmNlLiBVc2VkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBsaXN0IGl0ZW0gc2hvdWxkIGJlIHJlbmRlcmVkIHdpdGggZXh0ZXJuYWwgZXhwYW5zaW9uIGJ1dHRvbi4gKi9cbiAgICByZWFkb25seSByb3V0ZXJMaW5rID0gaW5qZWN0KFJvdXRlckxpbmssIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIHNlbGY6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGlua0FjdGl2ZSA9IGluamVjdChSb3V0ZXJMaW5rQWN0aXZlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBzZWxmOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bCA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb24gPSBpbmplY3QoRmRiTmF2aWdhdGlvbik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8ucmVnaXN0ZXJMaW5rKHRoaXMpO1xuICAgICAgICB0aGlzLmlzQWN0aXZlJCA9IHRvU2lnbmFsKFxuICAgICAgICAgICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZT8uaXNBY3RpdmVDaGFuZ2UucGlwZShzdGFydFdpdGgodGhpcy5fcm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZSkpIHx8IG9mKGZhbHNlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIHByaXZhdGUgX2NsaWNrSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5Qb3BvdmVyIHx8ICF0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8uaXNWaXNpYmxlJCgpIHx8IHRoaXMuX2xpc3RJdGVtQ29tcG9uZW50Py5pc092ZXJmbG93JCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmNsb3NlUG9wdXBzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWdub3JlIGNsaWNrIGlmIGxpbmsgaGFzIFVSTCBhcHBsaWVkIHRvIGl0LlxuICAgICAgICBpZiAodGhpcy5yb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LnRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIF9rZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pblBvcG92ZXIgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIERPV05fQVJST1cpKSB7XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8ucG9wb3ZlckxpbmtBcnJvd0Rvd24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhwYW5zaW9uS2V5ID0gdGhpcy5fcnRsPy5ydGwgPyBSSUdIVF9BUlJPVyA6IExFRlRfQVJST1c7XG5cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LmtleWJvYXJkRXhwYW5kZWQoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIGV4cGFuc2lvbktleSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtQ29tcG9uZW50Py51bnJlZ2lzdGVyTGluayh0aGlzKTtcbiAgICB9XG59XG4iLCJAaWYgKGdseXBoKSB7XG4gICAgPGZkLWljb25cbiAgICAgICAgW2dseXBoXT1cImdseXBoXCJcbiAgICAgICAgW2ZvbnRdPVwiZ2x5cGhGb250XCJcbiAgICAgICAgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19pY29uXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCIncHJlc2VudGF0aW9uJ1wiXG4gICAgICAgIFthcmlhSGlkZGVuXT1cInRydWVcIlxuICAgID48L2ZkLWljb24+XG59XG48c3BhbiBjbGFzcz1cImZkLW5hdmlnYXRpb25fX3RleHRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG5AaWYgKGV4dGVybmFsKSB7XG4gICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19leHRlcm5hbC1saW5rLWluZGljYXRvclwiXG4gICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiZXh0ZXJuYWwgbGluayBpbmRpY2F0b3JcIlxuICAgID48L3NwYW4+XG59XG48c3BhblxuICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fc2VsZWN0aW9uLWluZGljYXRvclwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBhcmlhLWxhYmVsPVwic2VsZWN0aW9uIGluZGljYXRvclwiXG4+XG48L3NwYW4+XG5AaWYgKF9saXN0SXRlbUNvbXBvbmVudD8uaGFzQ2hpbGRyZW4kKCkgJiYgIWluUG9wb3ZlciAmJiAhcm91dGVyTGluaykge1xuICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9faGFzLWNoaWxkcmVuLWluZGljYXRvclwiXG4gICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiaGFzIGNoaWxkcmVuIGluZGljYXRvciwgZXhwYW5kZWRcIlxuICAgID5cbiAgICA8L3NwYW4+XG59XG4iXX0=
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsYUFBYSxFQUFZLE1BQU0sNEJBQTRCLENBQUM7QUFDbEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlD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SztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTSxTQUFTO3NCQURwQixXQUFXO3VCQUFDLGVBQWU7Z0JBb0RwQixhQUFhO3NCQURwQixZQUFZO3VCQUFDLE9BQU87Z0JBY2IsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkayc7XG5pbXBvcnQgeyBGRF9ERUZBVUxUX0lDT05fRk9OVF9GQU1JTFksIEljb25Db21wb25lbnQsIEljb25Gb250IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgb2YsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkl0ZW1MaW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24taXRlbS1saW5rLmNsYXNzJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25MaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBGZGJOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24uY2xhc3MnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGJOYXZpZ2F0aW9uTGlua1JlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpbmtSZWZEaXJlY3RpdmUge1xuICAgIC8qKiBMaW5rIHRlbXBsYXRlIHJlZi4gKi9cbiAgICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdhW2ZkYi1uYXZpZ2F0aW9uLWxpbmtdJyxcbiAgICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSb3V0ZXJMaW5rQWN0aXZlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZkYk5hdmlnYXRpb25JdGVtTGluayxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOYXZpZ2F0aW9uTGlua0NvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbmF2aWdhdGlvbl9fbGluaycsXG4gICAgICAgIHJvbGU6ICdsaW5rJ1xuICAgIH0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tbGluay5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkxpbmtDb21wb25lbnQgZXh0ZW5kcyBGZGJOYXZpZ2F0aW9uSXRlbUxpbmsgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBMaW5rIGdseXBoICovXG4gICAgQElucHV0KClcbiAgICBnbHlwaDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBHbHlwaCBmb250IGZhbWlseSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2x5cGhGb250OiBJY29uRm9udCA9IEZEX0RFRkFVTFRfSUNPTl9GT05UX0ZBTUlMWTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaW5rIGlzIGZvciB0aGUgZXh0ZXJuYWwgcmVzb3VyY2UuICovXG4gICAgQElucHV0KClcbiAgICBleHRlcm5hbCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHByaXZhdGUgZ2V0IF90YWJJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LnBvcG92ZXJPcGVuJCgpIHx8IHRoaXMuX25hdmlnYXRpb24uZ2V0QWN0aXZlSXRlbSgpPy5saW5rJCgpID09PSB0aGlzID8gMCA6IC0xO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsaW5rIGlzIGluc2lkZSBwb3BvdmVyLiAqL1xuICAgIGdldCBpblBvcG92ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnZmQtbmF2aWdhdGlvbl9faXRlbS0tdGl0bGUnKTtcbiAgICB9XG5cbiAgICAvKiogRWxlbWVudCByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxMaW5rRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBpc0FjdGl2ZSQ6IFNpZ25hbDxib29sZWFuIHwgdW5kZWZpbmVkPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2xpc3RJdGVtQ29tcG9uZW50ID0gaW5qZWN0KEZkYk5hdmlnYXRpb25MaXN0SXRlbSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIFJvdXRlciBsaW5rIHJlZmVyZW5jZS4gVXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgbGlzdCBpdGVtIHNob3VsZCBiZSByZW5kZXJlZCB3aXRoIGV4dGVybmFsIGV4cGFuc2lvbiBidXR0b24uICovXG4gICAgcmVhZG9ubHkgcm91dGVyTGluayA9IGluamVjdChSb3V0ZXJMaW5rLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBzZWxmOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlckxpbmtBY3RpdmUgPSBpbmplY3QoUm91dGVyTGlua0FjdGl2ZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2VsZjogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwgPSBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYXZpZ2F0aW9uID0gaW5qZWN0KEZkYk5hdmlnYXRpb24pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LnJlZ2lzdGVyTGluayh0aGlzKTtcbiAgICAgICAgdGhpcy5pc0FjdGl2ZSQgPSB0b1NpZ25hbChcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlckxpbmtBY3RpdmU/LmlzQWN0aXZlQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKHRoaXMuX3JvdXRlckxpbmtBY3RpdmUuaXNBY3RpdmUpKSB8fCBvZihmYWxzZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBwcml2YXRlIF9jbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmluUG9wb3ZlciB8fCAhdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LmlzVmlzaWJsZSQoKSB8fCB0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8uaXNPdmVyZmxvdyQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5jbG9zZVBvcHVwcygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIElnbm9yZSBjbGljayBpZiBsaW5rIGhhcyBVUkwgYXBwbGllZCB0byBpdC5cbiAgICAgICAgaWYgKHRoaXMucm91dGVyTGluaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtQ29tcG9uZW50Py50b2dnbGVFeHBhbmRlZCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBfa2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5Qb3BvdmVyICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1Db21wb25lbnQ/LnBvcG92ZXJMaW5rQXJyb3dEb3duKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV4cGFuc2lvbktleSA9IHRoaXMuX3J0bD8ucnRsLnZhbHVlID8gUklHSFRfQVJST1cgOiBMRUZUX0FSUk9XO1xuXG4gICAgICAgIHRoaXMuX2xpc3RJdGVtQ29tcG9uZW50Py5rZXlib2FyZEV4cGFuZGVkKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBleHBhbnNpb25LZXkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saXN0SXRlbUNvbXBvbmVudD8udW5yZWdpc3RlckxpbmsodGhpcyk7XG4gICAgfVxufVxuIiwiQGlmIChnbHlwaCkge1xuICAgIDxmZC1pY29uXG4gICAgICAgIFtnbHlwaF09XCJnbHlwaFwiXG4gICAgICAgIFtmb250XT1cImdseXBoRm9udFwiXG4gICAgICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9faWNvblwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwiJ3ByZXNlbnRhdGlvbidcIlxuICAgICAgICBbYXJpYUhpZGRlbl09XCJ0cnVlXCJcbiAgICA+PC9mZC1pY29uPlxufVxuPHNwYW4gY2xhc3M9XCJmZC1uYXZpZ2F0aW9uX190ZXh0XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zcGFuPlxuQGlmIChleHRlcm5hbCkge1xuICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fZXh0ZXJuYWwtbGluay1pbmRpY2F0b3JcIlxuICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cImV4dGVybmFsIGxpbmsgaW5kaWNhdG9yXCJcbiAgICA+PC9zcGFuPlxufVxuPHNwYW5cbiAgICBjbGFzcz1cImZkLW5hdmlnYXRpb25fX3NlbGVjdGlvbi1pbmRpY2F0b3JcIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgYXJpYS1sYWJlbD1cInNlbGVjdGlvbiBpbmRpY2F0b3JcIlxuPlxuPC9zcGFuPlxuQGlmIChfbGlzdEl0ZW1Db21wb25lbnQ/Lmhhc0NoaWxkcmVuJCgpICYmICFpblBvcG92ZXIgJiYgIXJvdXRlckxpbmspIHtcbiAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZkLW5hdmlnYXRpb25fX2hhcy1jaGlsZHJlbi1pbmRpY2F0b3JcIlxuICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cImhhcyBjaGlsZHJlbiBpbmRpY2F0b3IsIGV4cGFuZGVkXCJcbiAgICA+XG4gICAgPC9zcGFuPlxufVxuIl19
|
package/esm2022/navigation/components/navigation-more-button/navigation-more-button.component.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
|
|
2
2
|
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, DestroyRef, Input, ViewChild, ViewEncapsulation, computed, effect, inject, signal } from '@angular/core';
|
|
4
|
-
import { takeUntilDestroyed
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk';
|
|
6
6
|
import { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';
|
|
7
|
-
import { of } from 'rxjs';
|
|
8
7
|
import { FdbNavigationItemLink } from '../../models/navigation-item-link.class';
|
|
9
8
|
import { FdbNavigationListItem } from '../../models/navigation-list-item.class';
|
|
10
9
|
import { FdbNavigation } from '../../models/navigation.class';
|
|
@@ -44,9 +43,11 @@ export class NavigationMoreButtonComponent {
|
|
|
44
43
|
/** @hidden */
|
|
45
44
|
this._popoverClicked = false;
|
|
46
45
|
/** @hidden */
|
|
47
|
-
this.
|
|
46
|
+
this._rtlService = inject(RtlService, {
|
|
48
47
|
optional: true
|
|
49
|
-
})
|
|
48
|
+
});
|
|
49
|
+
/** @hidden */
|
|
50
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
50
51
|
effect(() => {
|
|
51
52
|
if (this.popoverOpen$() && !this._popoverClicked) {
|
|
52
53
|
setTimeout(() => {
|
|
@@ -136,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
136
137
|
type: ViewChild,
|
|
137
138
|
args: [FdbNavigationItemLink]
|
|
138
139
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tb3JlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2J0cC9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1tb3JlLWJ1dHRvbi9uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uL25hdmlnYXRpb24tbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBWSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8s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QUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLE9BQU87cUJBQ1YsYUFDVTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLCtCQUErQjt5QkFDN0M7cUJBQ0osaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsMEJBQTBCO3FCQUNwQzt3REFLRCxTQUFTO3NCQURSLEtBQUs7Z0JBS1csS0FBSztzQkFEckIsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkl0ZW1MaW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24taXRlbS1saW5rLmNsYXNzJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25MaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9uYXZpZ2F0aW9uLWxpc3QtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBGZGJOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsvbmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGlzdC9uYXZpZ2F0aW9uLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uTW9yZUJ1dHRvblJlZkNvbnRleHQge1xuICAgICRpbXBsaWNpdDogKCkgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2xpW2ZkYi1uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5hdmlnYXRpb25MaW5rQ29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBOZ0NsYXNzXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRmRiTmF2aWdhdGlvbkxpc3RJdGVtLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IE5hdmlnYXRpb25Nb3JlQnV0dG9uQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1uYXZpZ2F0aW9uX19saXN0LWl0ZW0nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9yZUJ1dHRvbkNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpc3RJdGVtczogRmRiTmF2aWdhdGlvbkxpc3RJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChGZGJOYXZpZ2F0aW9uSXRlbUxpbmspXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbGluazogTnVsbGFibGU8RmRiTmF2aWdhdGlvbkl0ZW1MaW5rPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3VzdG9tTW9yZVJlbmRlcmVyOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBzaG93IG1vcmUgaXMgdmlzaWJsZS4gKi9cbiAgICBpc1Zpc2libGUkID0gc2lnbmFsKHRydWUpO1xuXG4gICAgLyoqIFdoZXRoZXIgcG9wb3ZlciBpcyBvcGVuLiBBcHBsaWNhYmxlIGZvciBzbmFwcGVkIG5hdmlnYXRpb24gc3RhdGUuICovXG4gICAgcmVhZG9ubHkgcG9wb3Zlck9wZW4kID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgdHlwZSA9ICdzaG93TW9yZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IHBsYWNlbWVudENvbnRhaW5lciA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaW4gb3ZlcmZsb3cgbWVudS5cbiAgICAgKi9cbiAgICByZWFkb25seSBpc092ZXJmbG93JCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogV2hldGhlciBpdGVtIGhhcyBjaGlsZCBpdGVtcy4gKi9cbiAgICByZWFkb25seSBoYXNDaGlsZHJlbiQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfbmF2aWdhdGlvbiA9IGluamVjdChGZGJOYXZpZ2F0aW9uKTtcblxuICAgIC8qKlxuICAgICAqIExpbmsgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxpbmskID0gc2lnbmFsPE51bGxhYmxlPEZkYk5hdmlnYXRpb25JdGVtTGluaz4+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBvcG92ZXIgcG9zaXRpb24uIENoYW5nZXMgYmFzZWQgb24gcnRsIHZhbHVlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IF9wb3BvdmVyUGxhY2VtZW50JCA9IGNvbXB1dGVkPFBsYWNlbWVudD4oKCkgPT4gKHRoaXMuX3J0bCQoKSA/ICdsZWZ0LXN0YXJ0JyA6ICdyaWdodC1zdGFydCcpKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcG9wb3ZlckNsaWNrZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsJCA9IHRvU2lnbmFsKFxuICAgICAgICBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICAgICAgfSk/LnJ0bCB8fCBvZihmYWxzZSlcbiAgICApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJPcGVuJCgpICYmICF0aGlzLl9wb3BvdmVyQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtc1swXT8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJDbGlja2VkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24uY2xvc2VBbGxQb3B1cHMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoaW5qZWN0KERlc3Ryb3lSZWYpKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdG9nZ2xlUG9wb3Zlcih3aXRoQ2xpY2sgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyQ2xpY2tlZCA9IHdpdGhDbGljaztcbiAgICAgICAgdGhpcy5wb3BvdmVyT3BlbiQudXBkYXRlKCh2YWx1ZSkgPT4gIXZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyTGluaygpOiB2b2lkIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJMaW5rKCk6IHZvaWQge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJDaGlsZExpc3QoKTogdm9pZCB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1bnJlZ2lzdGVyQ2hpbGRMaXN0KCk6IHZvaWQge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNMaW5rKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyBpbm5lciBsaW5rIGVsZW1lbnQuXG4gICAgICogT3B0aW9uYWxseSBjbG9zZXMgdGhlIHBvcG92ZXIuXG4gICAgICovXG4gICAgZm9jdXNMaW5rKGNsb3NlUG9wb3ZlciA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpbms/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBpZiAoY2xvc2VQb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0b2dnbGVFeHBhbmRlZCgpOiB2b2lkIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGtleWJvYXJkRXhwYW5kZWQoKTogdm9pZCB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfa2V5ZG93blBvcG92ZXJUb2dnbGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc1J0bCA9IHRoaXMuX3J0bCQoKSB8fCBmYWxzZTtcblxuICAgICAgICBjb25zdCBpc09wZW5BY3Rpb24gPSBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgaXNSdGwgPyBMRUZUX0FSUk9XIDogUklHSFRfQVJST1cpO1xuXG4gICAgICAgIC8vIElmIHVzZXIgY2xpY2tlZCBvbiBwb3BvdmVyIG9wZW5lciBidXR0b24sIGFuZCB0aGVuIHRyaWVkIHRvIHVzZSBrZXlib2FyZCwgc2ltcGx5IHNoaWZ0IGZvY3VzIHRvIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBwb3BvdmVyIG1lbnUuXG4gICAgICAgIGlmIChpc09wZW5BY3Rpb24gJiYgdGhpcy5wb3BvdmVyT3BlbiQoKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXNbMF0/LmZvY3VzKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC5zZXQoaXNPcGVuQWN0aW9uKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXG4gICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICBjbGFzcz1cImZkLW5hdmlnYXRpb25fX2l0ZW1cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwicG9wb3Zlck9wZW4kKClcIlxuICAgIGFyaWEtbGV2ZWw9XCIxXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlUG9wb3Zlcih0cnVlKVwiXG4gICAgKGtleWRvd24pPVwiX2tleWRvd25Qb3BvdmVyVG9nZ2xlKCRldmVudClcIlxuICAgICN0cmlnZ2VyXG4+XG4gICAgPGEgZmRiLW5hdmlnYXRpb24tbGluayBnbHlwaD1cIm92ZXJmbG93XCI+TW9yZSBJdGVtczwvYT5cbiAgICA8ZmQtcG9wb3ZlclxuICAgICAgICBbdHJpZ2dlcl09XCJ0cmlnZ2VyXCJcbiAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgW2lzT3Blbl09XCJwb3BvdmVyT3BlbiQoKVwiXG4gICAgICAgIChpc09wZW5DaGFuZ2UpPVwicG9wb3Zlck9wZW4kLnNldCgkZXZlbnQpXCJcbiAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBhZGRpdGlvbmFsQm9keUNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fbGlzdC1jb250YWluZXIgZmQtbmF2aWdhdGlvbl9fbGlzdC1jb250YWluZXItLW1lbnVcIlxuICAgICAgICBbcGxhY2VtZW50XT1cIl9wb3BvdmVyUGxhY2VtZW50JCgpXCJcbiAgICA+XG4gICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgW25nQ2xhc3NdPVwiX25hdmlnYXRpb24uY2xhc3NMaXN0JCgpXCI+XG4gICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICBmZGItbmF2aWdhdGlvbi1saXN0XG4gICAgICAgICAgICAgICAgd2l0aEtleWJvYXJkTmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIFtwYXJlbnRJdGVtc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLW1lbnVfX2xpc3RcIlxuICAgICAgICAgICAgICAgIFtsaXN0SXRlbXNdPVwibGlzdEl0ZW1zXCJcbiAgICAgICAgICAgID48L3VsPlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L2Rpdj5cbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tb3JlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2J0cC9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1tb3JlLWJ1dHRvbi9uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1vcmUtYnV0dG9uL25hdmlnYXRpb24tbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFZLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJB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QUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLE9BQU87cUJBQ1YsYUFDVTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLCtCQUErQjt5QkFDN0M7cUJBQ0osaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsMEJBQTBCO3FCQUNwQzt3REFLRCxTQUFTO3NCQURSLEtBQUs7Z0JBS1csS0FBSztzQkFEckIsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkayc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25JdGVtTGluayB9IGZyb20gJy4uLy4uL21vZGVscy9uYXZpZ2F0aW9uLWl0ZW0tbGluay5jbGFzcyc7XG5pbXBvcnQgeyBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbmF2aWdhdGlvbi1saXN0LWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9uYXZpZ2F0aW9uLmNsYXNzJztcbmltcG9ydCB7IE5hdmlnYXRpb25MaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk1vcmVCdXR0b25SZWZDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6ICgpID0+IHZvaWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdsaVtmZGItbmF2aWdhdGlvbi1tb3JlLWJ1dHRvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOYXZpZ2F0aW9uTGlua0NvbXBvbmVudCxcbiAgICAgICAgTmF2aWdhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmdDbGFzc1xuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZkYk5hdmlnYXRpb25MaXN0SXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOYXZpZ2F0aW9uTW9yZUJ1dHRvbkNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1tb3JlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbmF2aWdhdGlvbl9fbGlzdC1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbk1vcmVCdXR0b25Db21wb25lbnQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBsaXN0SXRlbXM6IEZkYk5hdmlnYXRpb25MaXN0SXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoRmRiTmF2aWdhdGlvbkl0ZW1MaW5rKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpbms6IE51bGxhYmxlPEZkYk5hdmlnYXRpb25JdGVtTGluaz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGN1c3RvbU1vcmVSZW5kZXJlcjogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKiogV2hldGhlciB0aGUgc2hvdyBtb3JlIGlzIHZpc2libGUuICovXG4gICAgaXNWaXNpYmxlJCA9IHNpZ25hbCh0cnVlKTtcblxuICAgIC8qKiBXaGV0aGVyIHBvcG92ZXIgaXMgb3Blbi4gQXBwbGljYWJsZSBmb3Igc25hcHBlZCBuYXZpZ2F0aW9uIHN0YXRlLiAqL1xuICAgIHJlYWRvbmx5IHBvcG92ZXJPcGVuJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IHR5cGUgPSAnc2hvd01vcmUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBwbGFjZW1lbnRDb250YWluZXIgPSB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBpdGVtIGlzIGluIG92ZXJmbG93IG1lbnUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNPdmVyZmxvdyQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgaXRlbSBoYXMgY2hpbGQgaXRlbXMuICovXG4gICAgcmVhZG9ubHkgaGFzQ2hpbGRyZW4kID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX25hdmlnYXRpb24gPSBpbmplY3QoRmRiTmF2aWdhdGlvbik7XG5cbiAgICAvKipcbiAgICAgKiBMaW5rIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBsaW5rJCA9IHNpZ25hbDxOdWxsYWJsZTxGZGJOYXZpZ2F0aW9uSXRlbUxpbms+PihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQb3BvdmVyIHBvc2l0aW9uLiBDaGFuZ2VzIGJhc2VkIG9uIHJ0bCB2YWx1ZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBfcG9wb3ZlclBsYWNlbWVudCQgPSBjb21wdXRlZDxQbGFjZW1lbnQ+KCgpID0+ICh0aGlzLl9ydGwkKCkgPyAnbGVmdC1zdGFydCcgOiAncmlnaHQtc3RhcnQnKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BvcG92ZXJDbGlja2VkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2UgPSBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwkID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4gISF0aGlzLl9ydGxTZXJ2aWNlPy5ydGxTaWduYWwoKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3Zlck9wZW4kKCkgJiYgIXRoaXMuX3BvcG92ZXJDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zWzBdPy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlckNsaWNrZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5jbG9zZUFsbFBvcHVwcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZChpbmplY3QoRGVzdHJveVJlZikpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbiQuc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0b2dnbGVQb3BvdmVyKHdpdGhDbGljayA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJDbGlja2VkID0gd2l0aENsaWNrO1xuICAgICAgICB0aGlzLnBvcG92ZXJPcGVuJC51cGRhdGUoKHZhbHVlKSA9PiAhdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJMaW5rKCk6IHZvaWQge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdW5yZWdpc3RlckxpbmsoKTogdm9pZCB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3RlckNoaWxkTGlzdCgpOiB2b2lkIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHVucmVnaXN0ZXJDaGlsZExpc3QoKTogdm9pZCB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0xpbmsoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2VzIGlubmVyIGxpbmsgZWxlbWVudC5cbiAgICAgKiBPcHRpb25hbGx5IGNsb3NlcyB0aGUgcG9wb3Zlci5cbiAgICAgKi9cbiAgICBmb2N1c0xpbmsoY2xvc2VQb3BvdmVyID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGluaz8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGlmIChjbG9zZVBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldChmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAga2V5Ym9hcmRFeHBhbmRlZCgpOiB2b2lkIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9rZXlkb3duUG9wb3ZlclRvZ2dsZShldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIUtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUnRsID0gdGhpcy5fcnRsJCgpIHx8IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IGlzT3BlbkFjdGlvbiA9IEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBpc1J0bCA/IExFRlRfQVJST1cgOiBSSUdIVF9BUlJPVyk7XG5cbiAgICAgICAgLy8gSWYgdXNlciBjbGlja2VkIG9uIHBvcG92ZXIgb3BlbmVyIGJ1dHRvbiwgYW5kIHRoZW4gdHJpZWQgdG8gdXNlIGtleWJvYXJkLCBzaW1wbHkgc2hpZnQgZm9jdXMgdG8gdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIHBvcG92ZXIgbWVudS5cbiAgICAgICAgaWYgKGlzT3BlbkFjdGlvbiAmJiB0aGlzLnBvcG92ZXJPcGVuJCgpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtc1swXT8uZm9jdXMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucG9wb3Zlck9wZW4kLnNldChpc09wZW5BY3Rpb24pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBhcmlhLWN1cnJlbnQ9XCJwYWdlXCJcbiAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgIGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9faXRlbVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJwb3BvdmVyT3BlbiQoKVwiXG4gICAgYXJpYS1sZXZlbD1cIjFcIlxuICAgIChjbGljayk9XCJ0b2dnbGVQb3BvdmVyKHRydWUpXCJcbiAgICAoa2V5ZG93bik9XCJfa2V5ZG93blBvcG92ZXJUb2dnbGUoJGV2ZW50KVwiXG4gICAgI3RyaWdnZXJcbj5cbiAgICA8YSBmZGItbmF2aWdhdGlvbi1saW5rIGdseXBoPVwib3ZlcmZsb3dcIj5Nb3JlIEl0ZW1zPC9hPlxuICAgIDxmZC1wb3BvdmVyXG4gICAgICAgIFt0cmlnZ2VyXT1cInRyaWdnZXJcIlxuICAgICAgICBbdHJpZ2dlcnNdPVwiW11cIlxuICAgICAgICBbaXNPcGVuXT1cInBvcG92ZXJPcGVuJCgpXCJcbiAgICAgICAgKGlzT3BlbkNoYW5nZSk9XCJwb3BvdmVyT3BlbiQuc2V0KCRldmVudClcIlxuICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICBbbm9BcnJvd109XCJmYWxzZVwiXG4gICAgICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M9XCJmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lciBmZC1uYXZpZ2F0aW9uX19saXN0LWNvbnRhaW5lci0tbWVudVwiXG4gICAgICAgIFtwbGFjZW1lbnRdPVwiX3BvcG92ZXJQbGFjZW1lbnQkKClcIlxuICAgID5cbiAgICAgICAgPGZkLXBvcG92ZXItYm9keSBbbmdDbGFzc109XCJfbmF2aWdhdGlvbi5jbGFzc0xpc3QkKClcIj5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgIGZkYi1uYXZpZ2F0aW9uLWxpc3RcbiAgICAgICAgICAgICAgICB3aXRoS2V5Ym9hcmROYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgW3BhcmVudEl0ZW1zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbWVudV9fbGlzdFwiXG4gICAgICAgICAgICAgICAgW2xpc3RJdGVtc109XCJsaXN0SXRlbXNcIlxuICAgICAgICAgICAgPjwvdWw+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgIDwvZmQtcG9wb3Zlcj5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { computed, inject, signal } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
2
|
import { RtlService } from '@fundamental-ngx/cdk/utils';
|
|
4
3
|
export class ToolHeaderComponentClass {
|
|
5
4
|
constructor() {
|
|
@@ -68,7 +67,9 @@ export class ToolHeaderComponentClass {
|
|
|
68
67
|
* RTL signal
|
|
69
68
|
* @hidden
|
|
70
69
|
*/
|
|
71
|
-
this._rtl =
|
|
70
|
+
this._rtl = computed(() => !!this._rtlService?.rtlSignal());
|
|
71
|
+
/** @hidden */
|
|
72
|
+
this._rtlService = inject(RtlService, { optional: true });
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1oZWFkZXItY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9idHAvdG9vbC1oZWFkZXIvc3JjL3Rvb2wtaGVhZGVyLWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3hELE1BQU0sT0FBZ0Isd0JBQXdCO0lBQTlDO1FBQ0ksa0JBQWtCO1FBQ2xCLFNBQUksR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFFL0IsY0FBYztRQUNkLGdCQUFXLEdBQUcsTUFBTSxDQUEyQixXQUFXLENBQUMsQ0FBQztRQUU1RCxjQUFjO1FBQ0osdUJBQWtCLEdBQUcsUUFBUSxDQUFxQixHQUFHLEVBQUU7WUFDN0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBTyxFQUFFO2dCQUN6QixPQUFPO29CQUNILGlCQUFpQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDN0MsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQzlDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDeEMsa0JBQWtCLEVBQUUsS0FBSztvQkFDekIsa0JBQWtCLEVBQUUsS0FBSztvQkFDekIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO29CQUM5Qyw4QkFBOEIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO29CQUNuRixzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDbkQsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQzlDLG9CQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO29CQUNqRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQzdDLCtCQUErQixFQUFFLEtBQUs7aUJBQ3pDLENBQUM7YUFDTDtZQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFFBQVEsRUFBRTtnQkFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztnQkFDckQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBQ2hDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyRSxNQUFNLDhCQUE4QixHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFFbkYsT0FBTztvQkFDSCxpQkFBaUIsRUFBRSxLQUFLO29CQUN4QixpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixXQUFXLEVBQUUsSUFBSTtvQkFDakIsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUNuRSxrQkFBa0IsRUFBRSxLQUFLO29CQUN6QixrQkFBa0I7b0JBQ2xCLDhCQUE4QjtvQkFDOUIsc0JBQXNCLEVBQUUsSUFBSTtvQkFDNUIsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsb0JBQW9CLEVBQUUsSUFBSTtvQkFDMUIsaUJBQWlCLEVBQUUsS0FBSztvQkFDeEIsK0JBQStCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVc7aUJBQ3RFLENBQUM7YUFDTDtZQUNELE9BQU87Z0JBQ0gsaUJBQWlCLEVBQUUsS0FBSztnQkFDeEIsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLDhCQUE4QixFQUFFLEtBQUs7Z0JBQ3JDLHNCQUFzQixFQUFFLElBQUk7Z0JBQzVCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLG9CQUFvQixFQUFFLElBQUk7Z0JBQzFCLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLCtCQUErQixFQUFFLElBQUk7YUFDeEMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsMEJBQTBCO1FBQ2hCLGdCQUFXLEdBQUcsTUFBTSxDQUE4QixJQUFJLENBQUMsQ0FBQztRQUVsRSxjQUFjO1FBQ0osd0JBQW1CLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXZEOzs7V0FHRztRQUNPLFNBQUksR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUUxRSxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvYnRwL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgeyBGZGJWaWV3TW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvYnRwL3NoYXJlZCc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRmRiVG9vbEhlYWRlclN0YXRlIH0gZnJvbSAnLi90b29sLWhlYWRlci1zdGF0ZS50eXBlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvb2xIZWFkZXJDb21wb25lbnRDbGFzcyB7XG4gICAgLyoqIE1vZGUgc2lnbmFsICovXG4gICAgbW9kZSA9IHNpZ25hbDxGZGJWaWV3TW9kZT4oJycpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcmllbnRhdGlvbiA9IHNpZ25hbDwnbGFuZHNjYXBlJyB8ICdwb3J0cmFpdCc+KCdsYW5kc2NhcGUnKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGZkYlRvb2xIZWFkZXJTdGF0ZSA9IGNvbXB1dGVkPEZkYlRvb2xIZWFkZXJTdGF0ZT4oKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdwaG9uZScpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYmFja0J1dHRvblZpc2libGU6IHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZCgpLFxuICAgICAgICAgICAgICAgIG1lbnVCdXR0b25WaXNpYmxlOiAhdGhpcy5zZWFyY2hGaWVsZEV4cGFuZGVkKCksXG4gICAgICAgICAgICAgICAgbG9nb1Zpc2libGU6ICF0aGlzLnNlYXJjaEZpZWxkRXhwYW5kZWQoKSxcbiAgICAgICAgICAgICAgICBwcm9kdWN0TmFtZVZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNlY29uZFRpdGxlVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2VhcmNoRmllbGRWaXNpYmxlOiB0aGlzLnNlYXJjaEZpZWxkRXhwYW5kZWQoKSxcbiAgICAgICAgICAgICAgICBzZWFyY2hGaWVsZFRvZ2dsZUFjdGlvblZpc2libGU6ICEhdGhpcy5zZWFyY2hGaWVsZCgpICYmICF0aGlzLnNlYXJjaEZpZWxkRXhwYW5kZWQoKSxcbiAgICAgICAgICAgICAgICBwcm92aWRlZEFjdGlvbnNWaXNpYmxlOiAhdGhpcy5zZWFyY2hGaWVsZEV4cGFuZGVkKCksXG4gICAgICAgICAgICAgICAgdXNlckF2YXRhclZpc2libGU6ICF0aGlzLnNlYXJjaEZpZWxkRXhwYW5kZWQoKSxcbiAgICAgICAgICAgICAgICBwcm9kdWN0U3dpdGNoVmlzaWJsZTogIXRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZCgpLFxuICAgICAgICAgICAgICAgIHZvaWNlSW5wdXRWaXNpYmxlOiB0aGlzLnNlYXJjaEZpZWxkRXhwYW5kZWQoKSxcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3JzQmV0d2VlbkFjdGlvbnNWaXNpYmxlOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb2RlKCkgPT09ICd0YWJsZXQnKSB7XG4gICAgICAgICAgICBjb25zdCBpc1BvcnRyYWl0ID0gdGhpcy5vcmllbnRhdGlvbigpID09PSAncG9ydHJhaXQnO1xuICAgICAgICAgICAgY29uc3QgaXNMYW5kc2NhcGUgPSAhaXNQb3J0cmFpdDtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaEZpZWxkVmlzaWJsZSA9IHRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZCgpIHx8IGlzTGFuZHNjYXBlO1xuICAgICAgICAgICAgY29uc3Qgc2VhcmNoRmllbGRUb2dnbGVBY3Rpb25WaXNpYmxlID0gIXNlYXJjaEZpZWxkVmlzaWJsZSAmJiAhIXRoaXMuc2VhcmNoRmllbGQoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBiYWNrQnV0dG9uVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWVudUJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgbG9nb1Zpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgcHJvZHVjdE5hbWVWaXNpYmxlOiBpc1BvcnRyYWl0ID8gIXRoaXMuc2VhcmNoRmllbGRFeHBhbmRlZCgpIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzZWNvbmRUaXRsZVZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNlYXJjaEZpZWxkVmlzaWJsZSxcbiAgICAgICAgICAgICAgICBzZWFyY2hGaWVsZFRvZ2dsZUFjdGlvblZpc2libGUsXG4gICAgICAgICAgICAgICAgcHJvdmlkZWRBY3Rpb25zVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB1c2VyQXZhdGFyVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwcm9kdWN0U3dpdGNoVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2b2ljZUlucHV0VmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yc0JldHdlZW5BY3Rpb25zVmlzaWJsZTogdGhpcy5vcmllbnRhdGlvbigpID09PSAnbGFuZHNjYXBlJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYmFja0J1dHRvblZpc2libGU6IGZhbHNlLFxuICAgICAgICAgICAgbWVudUJ1dHRvblZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBsb2dvVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHByb2R1Y3ROYW1lVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHNlY29uZFRpdGxlVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHNlYXJjaEZpZWxkVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHNlYXJjaEZpZWxkVG9nZ2xlQWN0aW9uVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICBwcm92aWRlZEFjdGlvbnNWaXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgdXNlckF2YXRhclZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBwcm9kdWN0U3dpdGNoVmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZvaWNlSW5wdXRWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHNlcGFyYXRvcnNCZXR3ZWVuQWN0aW9uc1Zpc2libGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8qKiBTZWFyY2ggZmllbGQgc2lnbmFsICovXG4gICAgcHJvdGVjdGVkIHNlYXJjaEZpZWxkID0gc2lnbmFsPFNlYXJjaEZpZWxkQ29tcG9uZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBzZWFyY2hGaWVsZEV4cGFuZGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIFJUTCBzaWduYWxcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9ydGwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiAhIXRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1$1 from '@angular/common';
|
|
2
|
-
import { NgTemplateOutlet,
|
|
2
|
+
import { NgTemplateOutlet, CommonModule, NgClass } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { signal, DestroyRef, inject, computed, Injectable, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostBinding, Output, HostListener, ContentChildren, Injector, Directive, TemplateRef, ElementRef, NgZone, effect, ContentChild, ViewChild, ChangeDetectorRef } from '@angular/core';
|
|
5
5
|
import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
@@ -530,7 +530,7 @@ class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
530
530
|
if (!KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {
|
|
531
531
|
return;
|
|
532
532
|
}
|
|
533
|
-
const expansionKey = this._rtl?.rtl ? RIGHT_ARROW : LEFT_ARROW;
|
|
533
|
+
const expansionKey = this._rtl?.rtl.value ? RIGHT_ARROW : LEFT_ARROW;
|
|
534
534
|
this._listItemComponent?.keyboardExpanded(KeyUtil.isKeyCode(event, expansionKey));
|
|
535
535
|
}
|
|
536
536
|
/** @hidden */
|
|
@@ -547,7 +547,7 @@ class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
547
547
|
}
|
|
548
548
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NavigationLinkComponent, decorators: [{
|
|
549
549
|
type: Component,
|
|
550
|
-
args: [{ selector: 'a[fdb-navigation-link]', imports: [IconComponent,
|
|
550
|
+
args: [{ selector: 'a[fdb-navigation-link]', imports: [IconComponent, NgTemplateOutlet], hostDirectives: [RouterLinkActive], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
551
551
|
{
|
|
552
552
|
provide: FdbNavigationItemLink,
|
|
553
553
|
useExisting: NavigationLinkComponent
|
|
@@ -732,10 +732,11 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
732
732
|
this._childLists = [];
|
|
733
733
|
/** @hidden */
|
|
734
734
|
this._zone = inject(NgZone);
|
|
735
|
-
|
|
736
|
-
this._rtl$ = toSignal(inject(RtlService$1, {
|
|
735
|
+
this._rtlService = inject(RtlService$1, {
|
|
737
736
|
optional: true
|
|
738
|
-
})
|
|
737
|
+
});
|
|
738
|
+
/** @hidden */
|
|
739
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
739
740
|
/**
|
|
740
741
|
* @hidden
|
|
741
742
|
* Directive that used during data-driven rendering.
|
|
@@ -1076,9 +1077,11 @@ class NavigationMoreButtonComponent {
|
|
|
1076
1077
|
/** @hidden */
|
|
1077
1078
|
this._popoverClicked = false;
|
|
1078
1079
|
/** @hidden */
|
|
1079
|
-
this.
|
|
1080
|
+
this._rtlService = inject(RtlService, {
|
|
1080
1081
|
optional: true
|
|
1081
|
-
})
|
|
1082
|
+
});
|
|
1083
|
+
/** @hidden */
|
|
1084
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
1082
1085
|
effect(() => {
|
|
1083
1086
|
if (this.popoverOpen$() && !this._popoverClicked) {
|
|
1084
1087
|
setTimeout(() => {
|