@ts-core/angular 13.0.49 → 13.0.52

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.
@@ -12,13 +12,12 @@ import { WindowServiceEvent } from '../window/WindowService';
12
12
  import { IQuestion, IQuestionOptions } from '../question/IQuestion';
13
13
  import * as i0 from "@angular/core";
14
14
  export declare class BottomSheetService extends Destroyable {
15
- defaultFactory: WindowFactory<IWindow>;
15
+ factory: WindowFactory<IWindow>;
16
16
  questionComponent: ComponentType<IWindowContent>;
17
17
  protected dialog: MatBottomSheet;
18
18
  protected language: LanguageService;
19
19
  private observer;
20
20
  constructor(dialog: MatBottomSheet, language: LanguageService);
21
- protected getFactory<T extends IWindowContent>(component: ComponentType<T>, config: WindowConfig): WindowFactory<IWindow>;
22
21
  open<T extends IWindowContent>(component: ComponentType<T>, config: WindowConfig): T;
23
22
  removeAll(): void;
24
23
  destroy(): void;
@@ -1,7 +1,6 @@
1
1
  import { BottomSheetImpl } from '../BottomSheetImpl';
2
- import { BottomSheetCloseElementComponent } from './bottom-sheet-close-element/bottom-sheet-close-element.component';
3
2
  export declare class BottomSheetBaseComponent extends BottomSheetImpl {
4
- static CLOSE_COMPONENT: typeof BottomSheetCloseElementComponent;
3
+ static CLOSE_COMPONENT: typeof import("@ts-core/angular").WindowCloseElementComponent;
5
4
  protected elementsCreate(): void;
6
5
  protected commitIsBlinkProperties(): void;
7
6
  protected commitIsDisabledProperties(): void;
@@ -8,5 +8,5 @@ export declare class BottomSheetCloseElementComponent extends WindowElement {
8
8
  protected createChildren(): void;
9
9
  clickHandler(event: MouseEvent): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<BottomSheetCloseElementComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<BottomSheetCloseElementComponent, "vi-bottom-sheet-close-element", never, {}, {}, never, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<BottomSheetCloseElementComponent, "sheet-close-element", never, {}, {}, never, never>;
12
12
  }
@@ -83,8 +83,8 @@ export class BottomSheetImpl extends DestroyableContainer {
83
83
  setProperties() {
84
84
  ViewUtil.addClass(this.container, 'vi-bottom-sheet');
85
85
  ViewUtil.toggleClass(this.container, 'vi-modal', this.config.isModal);
86
+ this.container.addEventListener('click', this.mouseClickHandlerProxy, true);
86
87
  if (!this.config.isModal) {
87
- this.container.addEventListener('click', this.mouseClickHandlerProxy, true);
88
88
  this.container.addEventListener('mousedown', this.mouseDownHandlerProxy);
89
89
  }
90
90
  }
@@ -267,4 +267,4 @@ export class BottomSheetImpl extends DestroyableContainer {
267
267
  // --------------------------------------------------------------------------
268
268
  BottomSheetImpl.BLINK_DELAY = 500;
269
269
  BottomSheetImpl.SHAKE_DELAY = 500;
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRJbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHdkQsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE1BQU0sT0FBTyxlQUF5QixTQUFRLG9CQUFvQjtJQThCOUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLFVBQTRCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBM0JaLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsY0FBYztRQUNkLEVBQUU7UUFDRiw2RUFBNkU7UUFFckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU0xQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWtFckMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFUSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUks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YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlQ29udGFpbmVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgSVdpbmRvdywgV2luZG93RXZlbnQgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvdyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vd2luZG93L1dpbmRvd1Byb3BlcnRpZXMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IFdpbmRvd0ltcGwgfSBmcm9tICcuLi93aW5kb3cvV2luZG93SW1wbCc7XG5pbXBvcnQgeyBXaW5kb3dFbGVtZW50IH0gZnJvbSAnLi4vd2luZG93L2NvbXBvbmVudC9XaW5kb3dFbGVtZW50JztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRJbXBsPFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBJV2luZG93IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0YW50c1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgQkxJTktfREVMQVkgPSA1MDA7XG4gICAgcHVibGljIHN0YXRpYyBTSEFLRV9ERUxBWSA9IDUwMDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2lzQmxpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGJsaW5rVGltZXI6IGFueTtcblxuICAgIHByaXZhdGUgX3dyYXBwZXI6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2JhY2tkcm9wOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIF9jb250YWluZXI6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2lzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBlbGVtZW50czogQXJyYXk8Q29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+PjtcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllczogV2luZG93UHJvcGVydGllcztcblxuICAgIHByb3RlY3RlZCBvYnNlcnZlcjogU3ViamVjdDxzdHJpbmc+O1xuICAgIHByb3RlY3RlZCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgQ29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgICAgIHRoaXMuY29udGVudC53aW5kb3cgPSB0aGlzO1xuXG4gICAgICAgIC8vIEhhdmUgdG8gc2F2ZSBmb3IgdW5zdWJzY3JpYmUgb24gZGVzdHJveVxuICAgICAgICB0aGlzLl93cmFwcGVyID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuaG9zdEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuYmFja2Ryb3BFbGVtZW50O1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5vdmVybGF5RWxlbWVudDtcblxuICAgICAgICB0aGlzLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50c0NyZWF0ZSgpO1xuXG4gICAgICAgIHRoaXMuZ2V0UmVmZXJlbmNlKCkuYWZ0ZXJPcGVuZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSh0aGlzLnNldE9wZW5lZCk7XG4gICAgICAgIHRoaXMuZ2V0UmVmZXJlbmNlKCkuYWZ0ZXJEaXNtaXNzZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSh0aGlzLnNldENsb3NlZCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFbGVtZW50cyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbmV3IEFycmF5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5lbGVtZW50RGVzdHJveShpdGVtKSk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50QWRkKGl0ZW06IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pik6IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMucHVzaChpdGVtKTtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSB0aGlzO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlbW92ZShpdGVtOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4pOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4ge1xuICAgICAgICBBcnJheVV0aWwucmVtb3ZlKHRoaXMuZWxlbWVudHMsIGl0ZW0pO1xuICAgICAgICB0aGlzLmVsZW1lbnREZXN0cm95KGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudERlc3Ryb3koaXRlbTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+KTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+IHtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSBudWxsO1xuICAgICAgICBpdGVtLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXRDbG9zZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5DTE9TRUQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldE9wZW5lZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk9QRU5FRCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBibGlua1RvZ2dsZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gIXRoaXMuaXNCbGluaztcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLmFkZENsYXNzKHRoaXMuY29udGFpbmVyLCAndmktYm90dG9tLXNoZWV0Jyk7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGFpbmVyLCAndmktbW9kYWwnLCB0aGlzLmNvbmZpZy5pc01vZGFsKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmlzTW9kYWwpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRJc0JsaW5rUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNEaXNhYmxlZFByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGdldENvbmZpZygpOiBXaW5kb3dDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldFJlZmVyZW5jZSgpOiBNYXRCb3R0b21TaGVldFJlZjxJV2luZG93Q29udGVudDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gXy5maW5kKHRoaXMuZWxlbWVudHMsIGl0ZW0gPT4gaXRlbS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoXy5pc05pbChlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnQuaW5zdGFuY2UuY2xpY2tIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdG9wQmxpbmtJZk5lZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNCbGluayA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuYmxpbmtUaW1lcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5ibGlua1RpbWVyKTtcbiAgICAgICAgdGhpcy5ibGlua1RpbWVyID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPblRvcCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtb3VzZUNsaWNrSGFuZGxlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc05lZWRDbGlja1N0b3BQcm9wYWdhdGlvbihldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VzZURvd25IYW5kbGVyUHJveHkgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5tb3VzZURvd25IYW5kbGVyKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBtb3VzZUNsaWNrSGFuZGxlclByb3h5ID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMubW91c2VDbGlja0hhbmRsZXIoZXZlbnQpO1xuICAgIH07XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGVtaXQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5kaXNtaXNzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzRGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubW91c2VDbGlja0hhbmRsZXJQcm94eSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bkhhbmRsZXJQcm94eSk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gbnVsbDtcblxuICAgICAgICB0aGlzLl93cmFwcGVyID0gbnVsbDtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSBudWxsO1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5ibGlua1RpbWVyKTtcbiAgICAgICAgdGhpcy5ibGlua1RpbWVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmxpbmsoKTogdm9pZCB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5ibGlua1RpbWVyKTtcbiAgICAgICAgdGhpcy5ibGlua1RpbWVyID0gc2V0SW50ZXJ2YWwodGhpcy5ibGlua1RvZ2dsZSwgV2luZG93SW1wbC5CTElOS19ERUxBWSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNoYWtlKCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBzZXRPblRvcCgpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFNpemUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTmFOO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE5hTjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0V2lkdGgodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge31cblxuICAgIHB1YmxpYyBzZXRIZWlnaHQodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge31cblxuICAgIHB1YmxpYyBzZXRTaXplKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogdm9pZCB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBNb3ZlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0WCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTmFOO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRYKHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgZ2V0WSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTmFOO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0WSh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7fVxuXG4gICAgcHVibGljIG1vdmUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByaXZhdGUgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgcmVmZXJlbmNlKCk6IE1hdEJvdHRvbVNoZWV0UmVmPElXaW5kb3dDb250ZW50PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlIGFzIGFueTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzQmxpbmsoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0JsaW5rO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGlzQmxpbmsodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0JsaW5rKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNCbGluayA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzQmxpbmtQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc1NoYWtpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCBpc1NoYWtpbmcodmFsdWU6IGJvb2xlYW4pIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb25maWcoKTogV2luZG93Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb250ZW50KCk6IElXaW5kb3dDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMucmVmZXJlbmNlKSA/IHRoaXMucmVmZXJlbmNlLmluc3RhbmNlIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250YWluZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3cmFwcGVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dyYXBwZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBiYWNrZHJvcCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrZHJvcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT25Ub3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc09uVG9wKHZhbHVlOiBib29sZWFuKSB7fVxuXG4gICAgcHVibGljIGdldCBpc01pbmltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzTWluaW1pemVkKHZhbHVlOiBib29sZWFuKSB7fVxuXG4gICAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc0Rpc2FibGVkUHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuRElTQUJMRURfQ0hBTkdFRCk7XG4gICAgfVxufVxuIl19
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRJbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHdkQsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE1BQU0sT0FBTyxlQUF5QixTQUFRLG9CQUFvQjtJQThCOUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLFVBQTRCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBM0JaLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsY0FBYztRQUNkLEVBQUU7UUFDRiw2RUFBNkU7UUFFckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU0xQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWtFckMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFUSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUks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YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlQ29udGFpbmVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgSVdpbmRvdywgV2luZG93RXZlbnQgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvdyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vd2luZG93L1dpbmRvd1Byb3BlcnRpZXMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IFdpbmRvd0ltcGwgfSBmcm9tICcuLi93aW5kb3cvV2luZG93SW1wbCc7XG5pbXBvcnQgeyBXaW5kb3dFbGVtZW50IH0gZnJvbSAnLi4vd2luZG93L2NvbXBvbmVudC9XaW5kb3dFbGVtZW50JztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRJbXBsPFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBJV2luZG93IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0YW50c1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgQkxJTktfREVMQVkgPSA1MDA7XG4gICAgcHVibGljIHN0YXRpYyBTSEFLRV9ERUxBWSA9IDUwMDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2lzQmxpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGJsaW5rVGltZXI6IGFueTtcblxuICAgIHByaXZhdGUgX3dyYXBwZXI6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2JhY2tkcm9wOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIF9jb250YWluZXI6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2lzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBlbGVtZW50czogQXJyYXk8Q29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+PjtcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllczogV2luZG93UHJvcGVydGllcztcblxuICAgIHByb3RlY3RlZCBvYnNlcnZlcjogU3ViamVjdDxzdHJpbmc+O1xuICAgIHByb3RlY3RlZCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgQ29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgICAgIHRoaXMuY29udGVudC53aW5kb3cgPSB0aGlzO1xuXG4gICAgICAgIC8vIEhhdmUgdG8gc2F2ZSBmb3IgdW5zdWJzY3JpYmUgb24gZGVzdHJveVxuICAgICAgICB0aGlzLl93cmFwcGVyID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuaG9zdEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuYmFja2Ryb3BFbGVtZW50O1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5vdmVybGF5RWxlbWVudDtcblxuICAgICAgICB0aGlzLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50c0NyZWF0ZSgpO1xuXG4gICAgICAgIHRoaXMuZ2V0UmVmZXJlbmNlKCkuYWZ0ZXJPcGVuZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSh0aGlzLnNldE9wZW5lZCk7XG4gICAgICAgIHRoaXMuZ2V0UmVmZXJlbmNlKCkuYWZ0ZXJEaXNtaXNzZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSh0aGlzLnNldENsb3NlZCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFbGVtZW50cyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbmV3IEFycmF5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5lbGVtZW50RGVzdHJveShpdGVtKSk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50QWRkKGl0ZW06IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pik6IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMucHVzaChpdGVtKTtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSB0aGlzO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlbW92ZShpdGVtOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4pOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4ge1xuICAgICAgICBBcnJheVV0aWwucmVtb3ZlKHRoaXMuZWxlbWVudHMsIGl0ZW0pO1xuICAgICAgICB0aGlzLmVsZW1lbnREZXN0cm95KGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudERlc3Ryb3koaXRlbTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+KTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+IHtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSBudWxsO1xuICAgICAgICBpdGVtLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXRDbG9zZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5DTE9TRUQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldE9wZW5lZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk9QRU5FRCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBibGlua1RvZ2dsZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gIXRoaXMuaXNCbGluaztcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLmFkZENsYXNzKHRoaXMuY29udGFpbmVyLCAndmktYm90dG9tLXNoZWV0Jyk7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGFpbmVyLCAndmktbW9kYWwnLCB0aGlzLmNvbmZpZy5pc01vZGFsKTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubW91c2VDbGlja0hhbmRsZXJQcm94eSwgdHJ1ZSk7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuaXNNb2RhbCkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5tb3VzZURvd25IYW5kbGVyUHJveHkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdElzQmxpbmtQcm9wZXJ0aWVzKCk6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBjb21taXRJc0Rpc2FibGVkUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q29uZmlnKCk6IFdpbmRvd0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMuY29uZmlnO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0UmVmZXJlbmNlKCk6IE1hdEJvdHRvbVNoZWV0UmVmPElXaW5kb3dDb250ZW50PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlIGFzIGFueTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNOZWVkQ2xpY2tTdG9wUHJvcGFnYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBfLmZpbmQodGhpcy5lbGVtZW50cywgaXRlbSA9PiBpdGVtLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmIChfLmlzTmlsKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudC5pbnN0YW5jZS5jbGlja0hhbmRsZXIoZXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BCbGlua0lmTmVlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5ibGlua1RpbWVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgRXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgbW91c2VEb3duSGFuZGxlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9uVG9wKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vdXNlQ2xpY2tIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdXNlRG93bkhhbmRsZXJQcm94eSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlRG93bkhhbmRsZXIoZXZlbnQpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIG1vdXNlQ2xpY2tIYW5kbGVyUHJveHkgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5tb3VzZUNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZW1pdChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmRpc21pc3MoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZWxlbWVudHNEZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5fY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50LmRlc3Ryb3koKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLm9ic2VydmVyKSkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3dyYXBwZXIgPSBudWxsO1xuICAgICAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBibGluaygpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBzZXRJbnRlcnZhbCh0aGlzLmJsaW5rVG9nZ2xlLCBXaW5kb3dJbXBsLkJMSU5LX0RFTEFZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hha2UoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIHNldE9uVG9wKCk6IHZvaWQge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgU2l6ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOYU47XG4gICAgfVxuXG4gICAgcHVibGljIGdldEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTmFOO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7fVxuXG4gICAgcHVibGljIHNldEhlaWdodCh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7fVxuXG4gICAgcHVibGljIHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIE1vdmUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRYKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOYU47XG4gICAgfVxuXG4gICAgcHVibGljIHNldFgodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge31cblxuICAgIHB1YmxpYyBnZXRZKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOYU47XG4gICAgfVxuICAgIHB1YmxpYyBzZXRZKHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgbW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCByZWZlcmVuY2UoKTogTWF0Qm90dG9tU2hlZXRSZWY8SVdpbmRvd0NvbnRlbnQ8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2UgYXMgYW55O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNCbGluaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQmxpbms7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXQgaXNCbGluayh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzQmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0JsaW5rID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0SXNCbGlua1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzU2hha2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGlzU2hha2luZyh2YWx1ZTogYm9vbGVhbikge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBXaW5kb3dDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRlbnQoKTogSVdpbmRvd0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5yZWZlcmVuY2UpID8gdGhpcy5yZWZlcmVuY2UuaW5zdGFuY2UgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdyYXBwZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fd3JhcHBlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJhY2tkcm9wKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2tkcm9wO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNPblRvcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzT25Ub3AodmFsdWU6IGJvb2xlYW4pIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTWluaW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNNaW5pbWl6ZWQodmFsdWU6IGJvb2xlYW4pIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzRGlzYWJsZWRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5ESVNBQkxFRF9DSEFOR0VEKTtcbiAgICB9XG59XG4iXX0=
@@ -4,12 +4,12 @@ import { ObservableData } from '@ts-core/common/observer';
4
4
  import * as _ from 'lodash';
5
5
  import { Subject } from 'rxjs';
6
6
  import { WindowFactory } from '../window/WindowFactory';
7
- import { BottomSheetBaseComponent } from './component/BottomSheetBaseComponent';
8
7
  import { WindowConfig } from '../window/WindowConfig';
9
8
  import { WindowServiceEvent } from '../window/WindowService';
10
9
  import { QuestionManager } from '../question/QuestionManager';
11
10
  import { QuestionMode } from '../question/IQuestion';
12
11
  import { WindowQuestionComponent } from '../window/component/window-question/window-question.component';
12
+ import { BottomSheetBaseComponent } from './component/BottomSheetBaseComponent';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/material/bottom-sheet";
15
15
  import * as i2 from "@ts-core/frontend/language";
@@ -24,25 +24,17 @@ export class BottomSheetService extends Destroyable {
24
24
  this.dialog = dialog;
25
25
  this.language = language;
26
26
  this.observer = new Subject();
27
- this.defaultFactory = new WindowFactory(BottomSheetBaseComponent);
27
+ this.factory = new WindowFactory(BottomSheetBaseComponent);
28
28
  this.questionComponent = WindowQuestionComponent;
29
29
  }
30
30
  // --------------------------------------------------------------------------
31
31
  //
32
- // Protected Methods
33
- //
34
- // --------------------------------------------------------------------------
35
- getFactory(component, config) {
36
- return this.defaultFactory;
37
- }
38
- // --------------------------------------------------------------------------
39
- //
40
32
  // Public Methods
41
33
  //
42
34
  // --------------------------------------------------------------------------
43
35
  open(component, config) {
44
36
  let reference = this.dialog.open(component, config);
45
- let window = this.getFactory(component, config).create({ config, reference: reference, overlay: reference._overlayRef });
37
+ let window = this.factory.create({ config, reference: reference, overlay: reference._overlayRef });
46
38
  this.observer.next(new ObservableData(WindowServiceEvent.OPEN_STARTED, window));
47
39
  let subscription = window.events.subscribe(event => {
48
40
  switch (event) {
@@ -69,7 +61,7 @@ export class BottomSheetService extends Destroyable {
69
61
  this.observer.complete();
70
62
  this.observer = null;
71
63
  }
72
- this.defaultFactory = null;
64
+ this.factory = null;
73
65
  this.questionComponent = null;
74
66
  this.dialog = null;
75
67
  this.language = null;
@@ -106,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
106
98
  type: Injectable,
107
99
  args: [{ providedIn: 'root' }]
108
100
  }], ctorParameters: function () { return [{ type: i1.MatBottomSheet }, { type: i2.LanguageService }]; } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUErQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7OztBQUd4RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQWUvQyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBc0IsRUFBRSxRQUF5QjtRQUN6RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxP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Riw2RUFBNkU7SUFFN0UsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7O2dIQXRIUSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQURMLE1BQU07NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldCwgTWF0Qm90dG9tU2hlZXRDb25maWcsIE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL29ic2VydmVyJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpbmRvd0ZhY3RvcnkgfSBmcm9tICcuLi93aW5kb3cvV2luZG93RmFjdG9yeSc7XG5pbXBvcnQgeyBJV2luZG93IH0gZnJvbSAnLi4vd2luZG93L0lXaW5kb3cnO1xuaW1wb3J0IHsgQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50JztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZywgV2luZG93Q29uZmlnT3B0aW9ucyB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgSVdpbmRvd0NvbnRlbnQgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvd0NvbnRlbnQnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZUV2ZW50IH0gZnJvbSAnLi4vd2luZG93L1dpbmRvd1NlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vcXVlc3Rpb24vUXVlc3Rpb25NYW5hZ2VyJztcbmltcG9ydCB7IElRdWVzdGlvbiwgSVF1ZXN0aW9uT3B0aW9ucywgUXVlc3Rpb25Nb2RlIH0gZnJvbSAnLi4vcXVlc3Rpb24vSVF1ZXN0aW9uJztcbmltcG9ydCB7IFdpbmRvd1F1ZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vd2luZG93L2NvbXBvbmVudC93aW5kb3ctcXVlc3Rpb24vd2luZG93LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRTZXJ2aWNlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVmYXVsdEZhY3Rvcnk6IFdpbmRvd0ZhY3Rvcnk8SVdpbmRvdz47XG4gICAgcHVibGljIHF1ZXN0aW9uQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPElXaW5kb3dDb250ZW50PjtcblxuICAgIHByb3RlY3RlZCBkaWFsb2c6IE1hdEJvdHRvbVNoZWV0O1xuICAgIHByb3RlY3RlZCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBvYnNlcnZlcjogU3ViamVjdDxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXRCb3R0b21TaGVldCwgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICB0aGlzLmRlZmF1bHRGYWN0b3J5ID0gbmV3IFdpbmRvd0ZhY3RvcnkoQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkNvbXBvbmVudCA9IFdpbmRvd1F1ZXN0aW9uQ29tcG9uZW50O1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldEZhY3Rvcnk8VCBleHRlbmRzIElXaW5kb3dDb250ZW50Pihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZzogV2luZG93Q29uZmlnKTogV2luZG93RmFjdG9yeTxJV2luZG93PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRGYWN0b3J5O1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIG9wZW48VCBleHRlbmRzIElXaW5kb3dDb250ZW50Pihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZzogV2luZG93Q29uZmlnKTogVCB7XG4gICAgICAgIGxldCByZWZlcmVuY2U6IE1hdEJvdHRvbVNoZWV0UmVmPFQ+ID0gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnQsIGNvbmZpZyBhcyBNYXRCb3R0b21TaGVldENvbmZpZzxUPik7XG5cbiAgICAgICAgbGV0IHdpbmRvdyA9IHRoaXMuZ2V0RmFjdG9yeShjb21wb25lbnQsIGNvbmZpZykuY3JlYXRlKHsgY29uZmlnLCByZWZlcmVuY2U6IHJlZmVyZW5jZSBhcyBhbnksIG92ZXJsYXk6IChyZWZlcmVuY2UgYXMgYW55KS5fb3ZlcmxheVJlZiB9KTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9TVEFSVEVELCB3aW5kb3cpKTtcblxuICAgICAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudCkge1xuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93U2VydmljZUV2ZW50Lk9QRU5FRDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTkVELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9GSU5JU0hFRCwgd2luZG93KSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGwoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kZWZhdWx0RmFjdG9yeSA9IG51bGw7XG4gICAgICAgIHRoaXMucXVlc3Rpb25Db21wb25lbnQgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nID0gbnVsbDtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0QWRkaXRpb25hbCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGluZm8odHJhbnNsYXRpb25JZD86IHN0cmluZywgdHJhbnNsYXRpb24/OiBhbnksIHF1ZXN0aW9uT3B0aW9ucz86IElRdWVzdGlvbk9wdGlvbnMsIGNvbmZpZ09wdGlvbnM/OiBXaW5kb3dDb25maWdPcHRpb25zKTogSVF1ZXN0aW9uIHtcbiAgICAgICAgbGV0IHRleHQgPSB0aGlzLmxhbmd1YWdlLnRyYW5zbGF0ZSh0cmFuc2xhdGlvbklkLCB0cmFuc2xhdGlvbik7XG4gICAgICAgIGxldCBjb25maWc6IFdpbmRvd0NvbmZpZzxRdWVzdGlvbk1hbmFnZXI+ID0gXy5hc3NpZ24obmV3IFdpbmRvd0NvbmZpZyh0cnVlLCBmYWxzZSwgNDUwKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIGNvbmZpZy5kYXRhID0gbmV3IFF1ZXN0aW9uTWFuYWdlcihfLmFzc2lnbihxdWVzdGlvbk9wdGlvbnMsIHsgbW9kZTogUXVlc3Rpb25Nb2RlLklORk8sIHRleHQgfSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKHRoaXMucXVlc3Rpb25Db21wb25lbnQsIGNvbmZpZykuY29uZmlnLmRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIHF1ZXN0aW9uKHRyYW5zbGF0aW9uSWQ/OiBzdHJpbmcsIHRyYW5zbGF0aW9uPzogYW55LCBxdWVzdGlvbk9wdGlvbnM/OiBJUXVlc3Rpb25PcHRpb25zLCBjb25maWdPcHRpb25zPzogV2luZG93Q29uZmlnT3B0aW9ucyk6IElRdWVzdGlvbiB7XG4gICAgICAgIGxldCB0ZXh0ID0gdGhpcy5sYW5ndWFnZS50cmFuc2xhdGUodHJhbnNsYXRpb25JZCwgdHJhbnNsYXRpb24pO1xuICAgICAgICBsZXQgY29uZmlnOiBXaW5kb3dDb25maWc8UXVlc3Rpb25NYW5hZ2VyPiA9IF8uYXNzaWduKG5ldyBXaW5kb3dDb25maWcodHJ1ZSwgZmFsc2UsIDQ1MCksIGNvbmZpZ09wdGlvbnMpO1xuICAgICAgICBjb25maWcuZGF0YSA9IG5ldyBRdWVzdGlvbk1hbmFnZXIoXy5hc3NpZ24ocXVlc3Rpb25PcHRpb25zLCB7IG1vZGU6IFF1ZXN0aW9uTW9kZS5RVUVTVElPTiwgdGV4dCB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8T2JzZXJ2YWJsZURhdGE8V2luZG93U2VydmljZUV2ZW50LCBJV2luZG93Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUErQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUdoRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQWUvQyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBc0IsRUFBRSxRQUF5QjtRQUN6RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxP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QVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldCwgTWF0Qm90dG9tU2hlZXRDb25maWcsIE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL29ic2VydmVyJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpbmRvd0ZhY3RvcnkgfSBmcm9tICcuLi93aW5kb3cvV2luZG93RmFjdG9yeSc7XG5pbXBvcnQgeyBJV2luZG93IH0gZnJvbSAnLi4vd2luZG93L0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93Q29uZmlnLCBXaW5kb3dDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vd2luZG93L1dpbmRvd0NvbmZpZyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlRXZlbnQgfSBmcm9tICcuLi93aW5kb3cvV2luZG93U2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9xdWVzdGlvbi9RdWVzdGlvbk1hbmFnZXInO1xuaW1wb3J0IHsgSVF1ZXN0aW9uLCBJUXVlc3Rpb25PcHRpb25zLCBRdWVzdGlvbk1vZGUgfSBmcm9tICcuLi9xdWVzdGlvbi9JUXVlc3Rpb24nO1xuaW1wb3J0IHsgV2luZG93UXVlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi93aW5kb3cvY29tcG9uZW50L3dpbmRvdy1xdWVzdGlvbi93aW5kb3ctcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L0JvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRTZXJ2aWNlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZmFjdG9yeTogV2luZG93RmFjdG9yeTxJV2luZG93PjtcbiAgICBwdWJsaWMgcXVlc3Rpb25Db21wb25lbnQ6IENvbXBvbmVudFR5cGU8SVdpbmRvd0NvbnRlbnQ+O1xuXG4gICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0Qm90dG9tU2hlZXQ7XG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2U7XG5cbiAgICBwcml2YXRlIG9ic2VydmVyOiBTdWJqZWN0PE9ic2VydmFibGVEYXRhPFdpbmRvd1NlcnZpY2VFdmVudCwgSVdpbmRvdz4+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihkaWFsb2c6IE1hdEJvdHRvbVNoZWV0LCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlhbG9nID0gZGlhbG9nO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMuZmFjdG9yeSA9IG5ldyBXaW5kb3dGYWN0b3J5KEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucXVlc3Rpb25Db21wb25lbnQgPSBXaW5kb3dRdWVzdGlvbkNvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBvcGVuPFQgZXh0ZW5kcyBJV2luZG93Q29udGVudD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc6IFdpbmRvd0NvbmZpZyk6IFQge1xuICAgICAgICBsZXQgcmVmZXJlbmNlOiBNYXRCb3R0b21TaGVldFJlZjxUPiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb25maWcgYXMgTWF0Qm90dG9tU2hlZXRDb25maWc8VD4pO1xuXG4gICAgICAgIGxldCB3aW5kb3cgPSB0aGlzLmZhY3RvcnkuY3JlYXRlKHsgY29uZmlnLCByZWZlcmVuY2U6IHJlZmVyZW5jZSBhcyBhbnksIG92ZXJsYXk6IChyZWZlcmVuY2UgYXMgYW55KS5fb3ZlcmxheVJlZiB9KTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9TVEFSVEVELCB3aW5kb3cpKTtcblxuICAgICAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudCkge1xuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93U2VydmljZUV2ZW50Lk9QRU5FRDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTkVELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9GSU5JU0hFRCwgd2luZG93KSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGwoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mYWN0b3J5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkNvbXBvbmVudCA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5kaWFsb2cgPSBudWxsO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRBZGRpdGlvbmFsIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaW5mbyh0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IFdpbmRvd0NvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGNvbmZpZzogV2luZG93Q29uZmlnPFF1ZXN0aW9uTWFuYWdlcj4gPSBfLmFzc2lnbihuZXcgV2luZG93Q29uZmlnKHRydWUsIGZhbHNlLCA0NTApLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgY29uZmlnLmRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuSU5GTywgdGV4dCB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcXVlc3Rpb24odHJhbnNsYXRpb25JZD86IHN0cmluZywgdHJhbnNsYXRpb24/OiBhbnksIHF1ZXN0aW9uT3B0aW9ucz86IElRdWVzdGlvbk9wdGlvbnMsIGNvbmZpZ09wdGlvbnM/OiBXaW5kb3dDb25maWdPcHRpb25zKTogSVF1ZXN0aW9uIHtcbiAgICAgICAgbGV0IHRleHQgPSB0aGlzLmxhbmd1YWdlLnRyYW5zbGF0ZSh0cmFuc2xhdGlvbklkLCB0cmFuc2xhdGlvbik7XG4gICAgICAgIGxldCBjb25maWc6IFdpbmRvd0NvbmZpZzxRdWVzdGlvbk1hbmFnZXI+ID0gXy5hc3NpZ24obmV3IFdpbmRvd0NvbmZpZyh0cnVlLCBmYWxzZSwgNDUwKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIGNvbmZpZy5kYXRhID0gbmV3IFF1ZXN0aW9uTWFuYWdlcihfLmFzc2lnbihxdWVzdGlvbk9wdGlvbnMsIHsgbW9kZTogUXVlc3Rpb25Nb2RlLlFVRVNUSU9OLCB0ZXh0IH0pKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { ViewContainerRef } from '@angular/core';
2
2
  import { ViewUtil } from '../../util/ViewUtil';
3
3
  import { BottomSheetImpl } from '../BottomSheetImpl';
4
- import { BottomSheetCloseElementComponent } from './bottom-sheet-close-element/bottom-sheet-close-element.component';
4
+ import { WindowBaseComponent } from '../../window/component/WindowBaseComponent';
5
5
  export class BottomSheetBaseComponent extends BottomSheetImpl {
6
6
  // --------------------------------------------------------------------------
7
7
  //
@@ -51,5 +51,5 @@ export class BottomSheetBaseComponent extends BottomSheetImpl {
51
51
  // Static Properties
52
52
  //
53
53
  // --------------------------------------------------------------------------
54
- BottomSheetBaseComponent.CLOSE_COMPONENT = BottomSheetCloseElementComponent;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L2NvbXBvbmVudC9Cb3R0b21TaGVldEJhc2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFFckgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFTekQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxjQUFjO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3JHO0lBQ0wsQ0FBQztJQUVTLHVCQUF1QjtRQUM3QixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLDBCQUEwQjtRQUNoQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVTLHlCQUF5QjtRQUMvQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxVQUFVO1FBQ3BCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFjLGFBQWE7UUFDdkIsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWMsY0FBYztRQUN4QixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYyxZQUFZO1FBQ3RCLE9BQU8saUNBQWlDLENBQUM7SUFDN0MsQ0FBQzs7QUEzREQsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRixxQkFBcUI7QUFDckIsRUFBRTtBQUNGLDZFQUE2RTtBQUUvRCx3Q0FBZSxHQUFHLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi8uLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IEJvdHRvbVNoZWV0SW1wbCB9IGZyb20gJy4uL0JvdHRvbVNoZWV0SW1wbCc7XG5pbXBvcnQgeyBCb3R0b21TaGVldENsb3NlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vYm90dG9tLXNoZWV0LWNsb3NlLWVsZW1lbnQvYm90dG9tLXNoZWV0LWNsb3NlLWVsZW1lbnQuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCBleHRlbmRzIEJvdHRvbVNoZWV0SW1wbCB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBTdGF0aWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgQ0xPU0VfQ09NUE9ORU5UID0gQm90dG9tU2hlZXRDbG9zZUVsZW1lbnRDb21wb25lbnQ7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5lbGVtZW50c0NyZWF0ZSgpO1xuXG4gICAgICAgIGlmICghKHRoaXMuY29udGVudC5jb250YWluZXIgaW5zdGFuY2VvZiBWaWV3Q29udGFpbmVyUmVmKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRBZGQodGhpcy5jb250ZW50LmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50LkNMT1NFX0NPTVBPTkVOVCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdElzQmxpbmtQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBWaWV3VXRpbC50b2dnbGVDbGFzcyh0aGlzLmNvbnRhaW5lciwgdGhpcy5ibGlua0NsYXNzLCB0aGlzLmlzQmxpbmspO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRJc0Rpc2FibGVkUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250YWluZXIsIHRoaXMuZGlzYWJsZWRDbGFzcywgdGhpcy5pc0Rpc2FibGVkKTtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250ZW50LmVsZW1lbnQsIHRoaXMuZGlzYWJsZWRDbGFzcywgdGhpcy5pc0Rpc2FibGVkKTtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250ZW50LmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCB0aGlzLmRpc2FibGVkQ2xhc3MsIHRoaXMuaXNEaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdElzU2hha2luZ1Byb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGFpbmVyLCB0aGlzLnNoYWtpbmdDbGFzcywgdGhpcy5pc1NoYWtpbmcpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvdGVjdGVkIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGJsaW5rQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICd2aS1ibGluayc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBkaXNhYmxlZENsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAndmktZGlzYWJsZWQnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbWluaW1pemVkQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICd2aS1taW5pbWl6ZWQnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2hha2luZ0NsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnc2hha2UtY29uc3RhbnQgc2hha2UtaG9yaXpvbnRhbCc7XG4gICAgfVxufVxuIl19
54
+ BottomSheetBaseComponent.CLOSE_COMPONENT = WindowBaseComponent.CLOSE_COMPONENT;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L2NvbXBvbmVudC9Cb3R0b21TaGVldEJhc2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFTekQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxjQUFjO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3JHO0lBQ0wsQ0FBQztJQUVTLHVCQUF1QjtRQUM3QixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLDBCQUEwQjtRQUNoQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVTLHlCQUF5QjtRQUMvQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxVQUFVO1FBQ3BCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFjLGFBQWE7UUFDdkIsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWMsY0FBYztRQUN4QixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYyxZQUFZO1FBQ3RCLE9BQU8saUNBQWlDLENBQUM7SUFDN0MsQ0FBQzs7QUEzREQsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRixxQkFBcUI7QUFDckIsRUFBRTtBQUNGLDZFQUE2RTtBQUUvRCx3Q0FBZSxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBCb3R0b21TaGVldEltcGwgfSBmcm9tICcuLi9Cb3R0b21TaGVldEltcGwnO1xuaW1wb3J0IHsgV2luZG93QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpbmRvdy9jb21wb25lbnQvV2luZG93QmFzZUNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBCb3R0b21TaGVldEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCb3R0b21TaGVldEltcGwge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgU3RhdGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIENMT1NFX0NPTVBPTkVOVCA9IFdpbmRvd0Jhc2VDb21wb25lbnQuQ0xPU0VfQ09NUE9ORU5UO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50c0NyZWF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZWxlbWVudHNDcmVhdGUoKTtcblxuICAgICAgICBpZiAoISh0aGlzLmNvbnRlbnQuY29udGFpbmVyIGluc3RhbmNlb2YgVmlld0NvbnRhaW5lclJlZikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmRpc2FibGVDbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50QWRkKHRoaXMuY29udGVudC5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudC5DTE9TRV9DT01QT05FTlQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRJc0JsaW5rUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250YWluZXIsIHRoaXMuYmxpbmtDbGFzcywgdGhpcy5pc0JsaW5rKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNEaXNhYmxlZFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGFpbmVyLCB0aGlzLmRpc2FibGVkQ2xhc3MsIHRoaXMuaXNEaXNhYmxlZCk7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGVudC5lbGVtZW50LCB0aGlzLmRpc2FibGVkQ2xhc3MsIHRoaXMuaXNEaXNhYmxlZCk7XG4gICAgICAgIFZpZXdVdGlsLnRvZ2dsZUNsYXNzKHRoaXMuY29udGVudC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgdGhpcy5kaXNhYmxlZENsYXNzLCB0aGlzLmlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRJc1NoYWtpbmdQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBWaWV3VXRpbC50b2dnbGVDbGFzcyh0aGlzLmNvbnRhaW5lciwgdGhpcy5zaGFraW5nQ2xhc3MsIHRoaXMuaXNTaGFraW5nKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCBibGlua0NsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAndmktYmxpbmsnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgZGlzYWJsZWRDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3ZpLWRpc2FibGVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IG1pbmltaXplZENsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAndmktbWluaW1pemVkJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNoYWtpbmdDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3NoYWtlLWNvbnN0YW50IHNoYWtlLWhvcml6b250YWwnO1xuICAgIH1cbn1cbiJdfQ==
@@ -47,9 +47,9 @@ export class BottomSheetCloseElementComponent extends WindowElement {
47
47
  BottomSheetCloseElementComponent.ICON_CLASS = 'fas fa-times';
48
48
  BottomSheetCloseElementComponent.ICON_VALUE = null;
49
49
  BottomSheetCloseElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BottomSheetCloseElementComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
50
- BottomSheetCloseElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BottomSheetCloseElementComponent, selector: "vi-bottom-sheet-close-element", usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;position:absolute;color:#fff;background-color:#0006;border-radius:50%;padding:8px;font-size:14px;font-weight:700;text-align:center}:host:hover{background-color:#0009}:host.small{font-size:10px;padding:4px}\n"] });
50
+ BottomSheetCloseElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BottomSheetCloseElementComponent, selector: "sheet-close-element", usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;position:absolute;color:#fff;background-color:#0006;border-radius:50%;padding:8px;font-size:14px;font-weight:700;text-align:center}:host:hover{background-color:#0009}:host.small{font-size:10px;padding:4px}\n"] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BottomSheetCloseElementComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'vi-bottom-sheet-close-element', template: '', styles: [":host{display:block;position:absolute;color:#fff;background-color:#0006;border-radius:50%;padding:8px;font-size:14px;font-weight:700;text-align:center}:host:hover{background-color:#0009}:host.small{font-size:10px;padding:4px}\n"] }]
53
+ args: [{ selector: 'sheet-close-element', template: '', styles: [":host{display:block;position:absolute;color:#fff;background-color:#0006;border-radius:50%;padding:8px;font-size:14px;font-weight:700;text-align:center}:host:hover{background-color:#0009}:host.small{font-size:10px;padding:4px}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LWNsb3NlLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L2NvbXBvbmVudC9ib3R0b20tc2hlZXQtY2xvc2UtZWxlbWVudC9ib3R0b20tc2hlZXQtY2xvc2UtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQU81QixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsYUFBYTtJQVUvRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG1CQUFtQjtJQUNuQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGNBQWM7UUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZELFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEc7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2RCxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDeEY7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsWUFBWSxDQUFDLEtBQWlCO1FBQ2pDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDOztBQWhERCw2RUFBNkU7QUFDN0UsRUFBRTtBQUNGLGFBQWE7QUFDYixFQUFFO0FBQ0YsNkVBQTZFO0FBRS9ELDJDQUFVLEdBQVcsY0FBZSxDQUFBO0FBQ3BDLDJDQUFVLEdBQVcsSUFBSyxDQUFBOzhIQVIvQixnQ0FBZ0M7a0hBQWhDLGdDQUFnQyw0RkFGL0IsRUFBRTs0RkFFSCxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0ksK0JBQStCLFlBRS9CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBXaW5kb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vd2luZG93L2NvbXBvbmVudC9XaW5kb3dFbGVtZW50JztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2aS1ib3R0b20tc2hlZXQtY2xvc2UtZWxlbWVudCcsXG4gICAgc3R5bGVVcmxzOiBbJ2JvdHRvbS1zaGVldC1jbG9zZS1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEJvdHRvbVNoZWV0Q2xvc2VFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgV2luZG93RWxlbWVudCB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RhbnRzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBJQ09OX0NMQVNTOiBzdHJpbmcgPSAnZmFzIGZhLXRpbWVzJztcbiAgICBwdWJsaWMgc3RhdGljIElDT05fVkFMVUU6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5jcmVhdGVDaGlsZHJlbigpO1xuXG4gICAgICAgIGlmICghXy5pc05pbChCb3R0b21TaGVldENsb3NlRWxlbWVudENvbXBvbmVudC5JQ09OX1ZBTFVFKSkge1xuICAgICAgICAgICAgVmlld1V0aWwuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAnaW5uZXJIVE1MJywgQm90dG9tU2hlZXRDbG9zZUVsZW1lbnRDb21wb25lbnQuSUNPTl9WQUxVRSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmlsKEJvdHRvbVNoZWV0Q2xvc2VFbGVtZW50Q29tcG9uZW50LklDT05fQ0xBU1MpKSB7XG4gICAgICAgICAgICBWaWV3VXRpbC5hZGRDbGFzc2VzKHRoaXMubmF0aXZlRWxlbWVudCwgQm90dG9tU2hlZXRDbG9zZUVsZW1lbnRDb21wb25lbnQuSUNPTl9DTEFTUyk7XG4gICAgICAgIH1cbiAgICAgICAgVmlld1V0aWwuYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnbW91c2UtYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY2xpY2tIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLndpbmRvdykpIHtcbiAgICAgICAgICAgIHRoaXMud2luZG93LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LWNsb3NlLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L2NvbXBvbmVudC9ib3R0b20tc2hlZXQtY2xvc2UtZWxlbWVudC9ib3R0b20tc2hlZXQtY2xvc2UtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQU81QixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsYUFBYTtJQVUvRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG1CQUFtQjtJQUNuQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGNBQWM7UUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZELFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEc7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2RCxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDeEY7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsWUFBWSxDQUFDLEtBQWlCO1FBQ2pDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDOztBQWhERCw2RUFBNkU7QUFDN0UsRUFBRTtBQUNGLGFBQWE7QUFDYixFQUFFO0FBQ0YsNkVBQTZFO0FBRS9ELDJDQUFVLEdBQVcsY0FBZSxDQUFBO0FBQ3BDLDJDQUFVLEdBQVcsSUFBSyxDQUFBOzhIQVIvQixnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxrRkFGL0IsRUFBRTs0RkFFSCxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0kscUJBQXFCLFlBRXJCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBXaW5kb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vd2luZG93L2NvbXBvbmVudC9XaW5kb3dFbGVtZW50JztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzaGVldC1jbG9zZS1lbGVtZW50JyxcbiAgICBzdHlsZVVybHM6IFsnYm90dG9tLXNoZWV0LWNsb3NlLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRDbG9zZUVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBXaW5kb3dFbGVtZW50IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdGFudHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIElDT05fQ0xBU1M6IHN0cmluZyA9ICdmYXMgZmEtdGltZXMnO1xuICAgIHB1YmxpYyBzdGF0aWMgSUNPTl9WQUxVRTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmNyZWF0ZUNoaWxkcmVuKCk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKEJvdHRvbVNoZWV0Q2xvc2VFbGVtZW50Q29tcG9uZW50LklDT05fVkFMVUUpKSB7XG4gICAgICAgICAgICBWaWV3VXRpbC5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCBCb3R0b21TaGVldENsb3NlRWxlbWVudENvbXBvbmVudC5JQ09OX1ZBTFVFKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOaWwoQm90dG9tU2hlZXRDbG9zZUVsZW1lbnRDb21wb25lbnQuSUNPTl9DTEFTUykpIHtcbiAgICAgICAgICAgIFZpZXdVdGlsLmFkZENsYXNzZXModGhpcy5uYXRpdmVFbGVtZW50LCBCb3R0b21TaGVldENsb3NlRWxlbWVudENvbXBvbmVudC5JQ09OX0NMQVNTKTtcbiAgICAgICAgfVxuICAgICAgICBWaWV3VXRpbC5hZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdtb3VzZS1hY3RpdmUnKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjbGlja0hhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuY2xpY2tIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMud2luZG93KSkge1xuICAgICAgICAgICAgdGhpcy53aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
+ import * as _ from 'lodash';
1
2
  export class WindowFactory {
2
3
  // --------------------------------------------------------------------------
3
4
  //
4
5
  // Constructor
5
6
  //
6
7
  // --------------------------------------------------------------------------
7
- constructor(classType) {
8
- this.classType = classType;
8
+ constructor(defaultType) {
9
+ this.defaultType = defaultType;
9
10
  }
10
11
  // --------------------------------------------------------------------------
11
12
  //
@@ -13,7 +14,14 @@ export class WindowFactory {
13
14
  //
14
15
  // --------------------------------------------------------------------------
15
16
  create(properties) {
16
- return new this.classType(properties);
17
+ let item = null;
18
+ if (!_.isNil(this.createFunction)) {
19
+ item = this.createFunction(properties);
20
+ }
21
+ if (_.isNil(item)) {
22
+ item = new this.defaultType(properties);
23
+ }
24
+ return item;
17
25
  }
18
26
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sYUFBYTtJQUN0Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLFNBQXdCO1FBQXhCLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFBRyxDQUFDO0lBRWxELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLFVBQTRCO1FBQ3RDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXaW5kb3cgfSBmcm9tICcuL0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93UHJvcGVydGllcyB9IGZyb20gJy4vV2luZG93UHJvcGVydGllcyc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dGYWN0b3J5PFUgZXh0ZW5kcyBJV2luZG93PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xhc3NUeXBlOiBXaW5kb3dUeXBlPFU+KSB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY3JlYXRlKHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXMpOiBVIHtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLmNsYXNzVHlwZShwcm9wZXJ0aWVzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93VHlwZTxUPiB7XG4gICAgbmV3IChwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVDtcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLE9BQU8sYUFBYTtJQVN0Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBQUcsQ0FBQztJQUVwRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxVQUE0QjtRQUN0QyxJQUFJLElBQUksR0FBTSxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2YsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXaW5kb3cgfSBmcm9tICcuL0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93UHJvcGVydGllcyB9IGZyb20gJy4vV2luZG93UHJvcGVydGllcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dGYWN0b3J5PFUgZXh0ZW5kcyBJV2luZG93PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjcmVhdGVGdW5jdGlvbjogQ3JlYXRlRnVuY3Rpb247XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkZWZhdWx0VHlwZTogV2luZG93VHlwZTxVPikge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNyZWF0ZShwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVSB7XG4gICAgICAgIGxldCBpdGVtOiBVID0gbnVsbDtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY3JlYXRlRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5jcmVhdGVGdW5jdGlvbihwcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05pbChpdGVtKSkge1xuICAgICAgICAgICAgaXRlbSA9IG5ldyB0aGlzLmRlZmF1bHRUeXBlKHByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVuY3Rpb24gPSA8VSBleHRlbmRzIElXaW5kb3c+KHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXMpID0+IFU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93VHlwZTxUPiB7XG4gICAgbmV3IChwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVDtcbn1cbiJdfQ==
@@ -110,12 +110,6 @@ export class WindowImpl extends WindowBase {
110
110
  if (!this.config.isModal) {
111
111
  this.container.addEventListener('mousedown', this.mouseDownHandlerProxy);
112
112
  }
113
- /*
114
- if (!this.config.isModal) {
115
- this.container.addEventListener('click', this.mouseClickHandlerProxy, true);
116
- this.container.addEventListener('mousedown', this.mouseDownHandlerProxy);
117
- }
118
- */
119
113
  this.elementsCreate();
120
114
  }
121
115
  commitIsBlinkProperties() { }
@@ -362,4 +356,4 @@ export class WindowImpl extends WindowBase {
362
356
  WindowImpl.BLINK_DELAY = 500;
363
357
  WindowImpl.SHAKE_DELAY = 500;
364
358
  WindowImpl.RESIZE_DELAY = 200;
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93SW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQVcsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE1BQU0sT0FBTyxVQUFvQixTQUFRLFVBQWE7SUEwQ2xELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUE0QjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQXRDWiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGNBQWM7UUFDZCxFQUFFO1FBQ0YsNkVBQTZFO1FBRXJFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUs1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQTRFcEMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENB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QVUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFjO1FBQ2pDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O0FBaGNELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0YsYUFBYTtBQUNiLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsc0JBQVcsR0FBRyxHQUFHLENBQUM7QUFDbEIsc0JBQVcsR0FBRyxHQUFHLENBQUM7QUFDbEIsdUJBQVksR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IElXaW5kb3csIFdpbmRvd0V2ZW50IH0gZnJvbSAnLi9JV2luZG93JztcbmltcG9ydCB7IElXaW5kb3dDb250ZW50IH0gZnJvbSAnLi9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dCYXNlIH0gZnJvbSAnLi9XaW5kb3dCYXNlJztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4vV2luZG93Q29uZmlnJztcbmltcG9ydCB7IFdpbmRvd1Byb3BlcnRpZXMgfSBmcm9tICcuL1dpbmRvd1Byb3BlcnRpZXMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgV2luZG93RWxlbWVudCB9IGZyb20gJy4vY29tcG9uZW50L1dpbmRvd0VsZW1lbnQnO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL3V0aWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dJbXBsPFQgPSBhbnk+IGV4dGVuZHMgV2luZG93QmFzZTxUPiBpbXBsZW1lbnRzIElXaW5kb3cge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgQ29uc3RhbnRzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBCTElOS19ERUxBWSA9IDUwMDtcbiAgICBwdWJsaWMgc3RhdGljIFNIQUtFX0RFTEFZID0gNTAwO1xuICAgIHB1YmxpYyBzdGF0aWMgUkVTSVpFX0RFTEFZID0gMjAwO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBfaXNCbGluazogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgYmxpbmtUaW1lcjogYW55O1xuXG4gICAgcHJpdmF0ZSBfaXNTaGFraW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzaGFrZVRpbWVyOiBhbnk7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVRpbWVyOiBhbnk7XG5cbiAgICBwcml2YXRlIF9pc09uVG9wOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzTWluaW1pemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpc1dhc09uVG9wOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF93cmFwcGVyOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIF9iYWNrZHJvcDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfY29udGFpbmVyOiBIVE1MRWxlbWVudDtcblxuICAgIHByb3RlY3RlZCBlbGVtZW50czogQXJyYXk8Q29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+PjtcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllczogV2luZG93UHJvcGVydGllcztcblxuICAgIHByb3RlY3RlZCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgb2JzZXJ2ZXI6IFN1YmplY3Q8c3RyaW5nPjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgQ29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbmV3IEFycmF5KCk7XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICAgICAgdGhpcy5jb250ZW50LndpbmRvdyA9IHRoaXM7XG5cbiAgICAgICAgLy8gSGF2ZSB0byBzYXZlIGZvciB1bnN1YnNjcmliZSBvbiBkZXN0cm95XG4gICAgICAgIHRoaXMuX3dyYXBwZXIgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5ob3N0RWxlbWVudDtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5iYWNrZHJvcEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IHRoaXMucHJvcGVydGllcy5vdmVybGF5Lm92ZXJsYXlFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuc2V0UHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyT3BlbmVkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRPcGVuZWQpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRDbG9zZWQpO1xuXG4gICAgICAgIHRoaXMuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgPT09IFdpbmRvd0V2ZW50LkNPTlRFTlRfUkVBRFkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy51cGRhdGVQb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFbGVtZW50cyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbmV3IEFycmF5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5lbGVtZW50RGVzdHJveShpdGVtKSk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50QWRkKGl0ZW06IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pik6IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMucHVzaChpdGVtKTtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSB0aGlzO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlbW92ZShpdGVtOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4pOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4ge1xuICAgICAgICBBcnJheVV0aWwucmVtb3ZlKHRoaXMuZWxlbWVudHMsIGl0ZW0pO1xuICAgICAgICB0aGlzLmVsZW1lbnREZXN0cm95KGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudERlc3Ryb3koaXRlbTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+KTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+IHtcbiAgICAgICAgaXRlbS5pbnN0YW5jZS53aW5kb3cgPSBudWxsO1xuICAgICAgICBpdGVtLmRlc3Ryb3koKTtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXRDbG9zZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LkNMT1NFRCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgc2V0T3BlbmVkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk9QRU5FRCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBibGlua1RvZ2dsZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gIXRoaXMuaXNCbGluaztcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHN0b3BTaGFraW5nID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzU2hha2luZyA9IGZhbHNlO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgZW1pdFJlc2l6ZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LlJFU0laRUQpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgc2V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0UHJvcGVydGllcygpO1xuICAgICAgICBWaWV3VXRpbC5hZGRDbGFzcyh0aGlzLmNvbnRhaW5lciwgJ3ZpLXdpbmRvdycpO1xuICAgICAgICBWaWV3VXRpbC50b2dnbGVDbGFzcyh0aGlzLmNvbnRhaW5lciwgJ3ZpLW1vZGFsJywgdGhpcy5jb25maWcuaXNNb2RhbCk7XG5cbiAgICAgICAgdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm1vdXNlQ2xpY2tIYW5kbGVyUHJveHksIHRydWUpO1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmlzTW9kYWwpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcbiAgICAgICAgfVxuICAgICAgICAvKlxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmlzTW9kYWwpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcbiAgICAgICAgfVxuICAgICAgICAqL1xuXG4gICAgICAgIHRoaXMuZWxlbWVudHNDcmVhdGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNCbGlua1Byb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRJc1NoYWtpbmdQcm9wZXJ0aWVzKCk6IHZvaWQge31cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNEaXNhYmxlZFByb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRJc01pbmltaXplZFByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGdldENvbmZpZygpOiBXaW5kb3dDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldFJlZmVyZW5jZSgpOiBNYXREaWFsb2dSZWY8SVdpbmRvd0NvbnRlbnQ8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHJldHVybiAhdGhpcy5pc1dhc09uVG9wO1xuICAgICAgICBpZiAodGhpcy5pc1dhc09uVG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZWxlbWVudCA9IF8uZmluZCh0aGlzLmVsZW1lbnRzLCBpdGVtID0+IGl0ZW0ubG9jYXRpb24ubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKF8uaXNOaWwoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50Lmluc3RhbmNlLmNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcEJsaW5rSWZOZWVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQmxpbmsgPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLmJsaW5rVGltZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYmxpbmtUaW1lcik7XG4gICAgICAgIHRoaXMuYmxpbmtUaW1lciA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2l6ZUhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKTtcbiAgICAgICAgdGhpcy5yZXNpemVUaW1lciA9IHNldFRpbWVvdXQodGhpcy5lbWl0UmVzaXplLCBXaW5kb3dJbXBsLlJFU0laRV9ERUxBWSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBtb3VzZURvd25IYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T25Ub3AoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VDbGlja0hhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOZWVkQ2xpY2tTdG9wUHJvcGFnYXRpb24oZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNXYXNPblRvcCkge1xuICAgICAgICAgICAgdGhpcy5pc1dhc09uVG9wID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbW91c2VEb3duSGFuZGxlclByb3h5ID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMubW91c2VEb3duSGFuZGxlcihldmVudCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgbW91c2VDbGlja0hhbmRsZXJQcm94eSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlQ2xpY2tIYW5kbGVyKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBlbWl0KGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0UmVmZXJlbmNlKCkuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZWxlbWVudHNEZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5fY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50LmRlc3Ryb3koKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLm9ic2VydmVyKSkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3dyYXBwZXIgPSBudWxsO1xuICAgICAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBudWxsO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zaGFrZVRpbWVyKTtcbiAgICAgICAgdGhpcy5zaGFrZVRpbWVyID0gbnVsbDtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lcik7XG4gICAgICAgIHRoaXMucmVzaXplVGltZXIgPSBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBibGluaygpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBzZXRJbnRlcnZhbCh0aGlzLmJsaW5rVG9nZ2xlLCBXaW5kb3dJbXBsLkJMSU5LX0RFTEFZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hha2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2hha2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTaGFraW5nID0gdHJ1ZTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNoYWtlVGltZXIpO1xuICAgICAgICB0aGlzLnNoYWtlVGltZXIgPSBzZXRJbnRlcnZhbCh0aGlzLnN0b3BTaGFraW5nLCBXaW5kb3dJbXBsLlNIQUtFX0RFTEFZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0T25Ub3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNXYXNPblRvcCA9IHRoaXMuaXNPblRvcDtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LlNFVF9PTl9UT1ApO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgU2l6ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLndpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SGVpZ2h0KHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2l6ZSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFdpZHRoKHdpZHRoLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0SGVpZ2h0KGhlaWdodCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIE1vdmUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRYKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLng7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFgodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnggPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk1PVkVEKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRZKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXRZKHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ID0gdmFsdWU7XG4gICAgICAgIGlmIChpc05lZWROb3RpZnkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5NT1ZFRCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFgoeCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldFkoeSwgZmFsc2UpO1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuTU9WRUQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0JsaW5rKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNCbGluaztcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCBpc0JsaW5rKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNCbGluaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzQmxpbmsgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc0JsaW5rUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNTaGFraW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTaGFraW5nO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGlzU2hha2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzU2hha2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzU2hha2luZyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzU2hha2luZ1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb25maWcoKTogV2luZG93Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb250ZW50KCk6IElXaW5kb3dDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2UgPyB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlLmNvbXBvbmVudEluc3RhbmNlIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250YWluZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3cmFwcGVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dyYXBwZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBiYWNrZHJvcCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrZHJvcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT25Ub3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09uVG9wO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzT25Ub3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc09uVG9wKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNPblRvcCA9IHZhbHVlO1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYmxpbmtUaW1lcik7XG4gICAgICAgIHRoaXMuaXNCbGluayA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNNaW5pbWl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc01pbmltaXplZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc01pbmltaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzTWluaW1pemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNNaW5pbWl6ZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc01pbmltaXplZFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk1JTklNSVpFRF9DSEFOR0VEKTtcbiAgICAgICAgdGhpcy5zdG9wQmxpbmtJZk5lZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzRGlzYWJsZWRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5ESVNBQkxFRF9DSEFOR0VEKTtcbiAgICB9XG59XG4iXX0=
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93SW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQVcsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE1BQU0sT0FBTyxVQUFvQixTQUFRLFVBQWE7SUEwQ2xELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUE0QjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQXRDWiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGNBQWM7UUFDZCxFQUFFO1FBQ0YsNkVBQTZFO1FBRXJFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUs1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQTRFcEMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENB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QUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxXQUFXLENBQUMsS0FBYztRQUNqQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQ2hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQTFiRCw2RUFBNkU7QUFDN0UsRUFBRTtBQUNGLGFBQWE7QUFDYixFQUFFO0FBQ0YsNkVBQTZFO0FBRS9ELHNCQUFXLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLHNCQUFXLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLHVCQUFZLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBJV2luZG93LCBXaW5kb3dFdmVudCB9IGZyb20gJy4vSVdpbmRvdyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4vSVdpbmRvd0NvbnRlbnQnO1xuaW1wb3J0IHsgV2luZG93QmFzZSB9IGZyb20gJy4vV2luZG93QmFzZSc7XG5pbXBvcnQgeyBXaW5kb3dDb25maWcgfSBmcm9tICcuL1dpbmRvd0NvbmZpZyc7XG5pbXBvcnQgeyBXaW5kb3dQcm9wZXJ0aWVzIH0gZnJvbSAnLi9XaW5kb3dQcm9wZXJ0aWVzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFdpbmRvd0VsZW1lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9XaW5kb3dFbGVtZW50JztcbmltcG9ydCB7IEFycmF5VXRpbCB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgV2luZG93SW1wbDxUID0gYW55PiBleHRlbmRzIFdpbmRvd0Jhc2U8VD4gaW1wbGVtZW50cyBJV2luZG93IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0YW50c1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgQkxJTktfREVMQVkgPSA1MDA7XG4gICAgcHVibGljIHN0YXRpYyBTSEFLRV9ERUxBWSA9IDUwMDtcbiAgICBwdWJsaWMgc3RhdGljIFJFU0laRV9ERUxBWSA9IDIwMDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2lzQmxpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGJsaW5rVGltZXI6IGFueTtcblxuICAgIHByaXZhdGUgX2lzU2hha2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgc2hha2VUaW1lcjogYW55O1xuXG4gICAgcHJpdmF0ZSByZXNpemVUaW1lcjogYW55O1xuXG4gICAgcHJpdmF0ZSBfaXNPblRvcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc01pbmltaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNXYXNPblRvcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfd3JhcHBlcjogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfYmFja2Ryb3A6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudHM6IEFycmF5PENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pj47XG4gICAgcHJvdGVjdGVkIHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXM7XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIG9ic2VydmVyOiBTdWJqZWN0PHN0cmluZz47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJvcGVydGllczogV2luZG93UHJvcGVydGllcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IG5ldyBBcnJheSgpO1xuXG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgICAgIHRoaXMuY29udGVudC53aW5kb3cgPSB0aGlzO1xuXG4gICAgICAgIC8vIEhhdmUgdG8gc2F2ZSBmb3IgdW5zdWJzY3JpYmUgb24gZGVzdHJveVxuICAgICAgICB0aGlzLl93cmFwcGVyID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuaG9zdEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuYmFja2Ryb3BFbGVtZW50O1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5vdmVybGF5RWxlbWVudDtcblxuICAgICAgICB0aGlzLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5hZnRlck9wZW5lZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKHRoaXMuc2V0T3BlbmVkKTtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKHRoaXMuc2V0Q2xvc2VkKTtcblxuICAgICAgICB0aGlzLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50ID09PSBXaW5kb3dFdmVudC5DT05URU5UX1JFQURZKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudXBkYXRlUG9zaXRpb24pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgRWxlbWVudHMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50c0NyZWF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IG5ldyBBcnJheSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50c0Rlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHRoaXMuZWxlbWVudERlc3Ryb3koaXRlbSkpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudEFkZChpdGVtOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4pOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4ge1xuICAgICAgICB0aGlzLmVsZW1lbnRzLnB1c2goaXRlbSk7XG4gICAgICAgIGl0ZW0uaW5zdGFuY2Uud2luZG93ID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRSZW1vdmUoaXRlbTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+KTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+IHtcbiAgICAgICAgQXJyYXlVdGlsLnJlbW92ZSh0aGlzLmVsZW1lbnRzLCBpdGVtKTtcbiAgICAgICAgdGhpcy5lbGVtZW50RGVzdHJveShpdGVtKTtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnREZXN0cm95KGl0ZW06IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pik6IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50PiB7XG4gICAgICAgIGl0ZW0uaW5zdGFuY2Uud2luZG93ID0gbnVsbDtcbiAgICAgICAgaXRlbS5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgc2V0Q2xvc2VkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5DTE9TRUQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldE9wZW5lZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5PUEVORUQpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgYmxpbmtUb2dnbGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNCbGluayA9ICF0aGlzLmlzQmxpbms7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBzdG9wU2hha2luZyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc1NoYWtpbmcgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGVtaXRSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5SRVNJWkVEKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgVmlld1V0aWwuYWRkQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS13aW5kb3cnKTtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS1tb2RhbCcsIHRoaXMuY29uZmlnLmlzTW9kYWwpO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5pc01vZGFsKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bkhhbmRsZXJQcm94eSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVsZW1lbnRzQ3JlYXRlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdElzQmxpbmtQcm9wZXJ0aWVzKCk6IHZvaWQge31cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNTaGFraW5nUHJvcGVydGllcygpOiB2b2lkIHt9XG4gICAgcHJvdGVjdGVkIGNvbW1pdElzRGlzYWJsZWRQcm9wZXJ0aWVzKCk6IHZvaWQge31cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNNaW5pbWl6ZWRQcm9wZXJ0aWVzKCk6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBnZXRDb25maWcoKTogV2luZG93Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5jb25maWc7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRSZWZlcmVuY2UoKTogTWF0RGlhbG9nUmVmPElXaW5kb3dDb250ZW50PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc05lZWRDbGlja1N0b3BQcm9wYWdhdGlvbihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyByZXR1cm4gIXRoaXMuaXNXYXNPblRvcDtcbiAgICAgICAgaWYgKHRoaXMuaXNXYXNPblRvcCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVsZW1lbnQgPSBfLmZpbmQodGhpcy5lbGVtZW50cywgaXRlbSA9PiBpdGVtLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmIChfLmlzTmlsKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudC5pbnN0YW5jZS5jbGlja0hhbmRsZXIoZXZlbnQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BCbGlua0lmTmVlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5ibGlua1RpbWVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmJsaW5rVGltZXIgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNpemVIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lcik7XG4gICAgICAgIHRoaXMucmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMuZW1pdFJlc2l6ZSwgV2luZG93SW1wbC5SRVNJWkVfREVMQVkpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VEb3duSGFuZGxlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9uVG9wKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vdXNlQ2xpY2tIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzV2FzT25Ub3ApIHtcbiAgICAgICAgICAgIHRoaXMuaXNXYXNPblRvcCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdXNlRG93bkhhbmRsZXJQcm94eSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlRG93bkhhbmRsZXIoZXZlbnQpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIG1vdXNlQ2xpY2tIYW5kbGVyUHJveHkgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5tb3VzZUNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZW1pdChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzRGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubW91c2VDbGlja0hhbmRsZXJQcm94eSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bkhhbmRsZXJQcm94eSk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gbnVsbDtcblxuICAgICAgICB0aGlzLl93cmFwcGVyID0gbnVsbDtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSBudWxsO1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5ibGlua1RpbWVyKTtcbiAgICAgICAgdGhpcy5ibGlua1RpbWVyID0gbnVsbDtcblxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuc2hha2VUaW1lcik7XG4gICAgICAgIHRoaXMuc2hha2VUaW1lciA9IG51bGw7XG5cbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpO1xuICAgICAgICB0aGlzLnJlc2l6ZVRpbWVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmxpbmsoKTogdm9pZCB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5ibGlua1RpbWVyKTtcbiAgICAgICAgdGhpcy5ibGlua1RpbWVyID0gc2V0SW50ZXJ2YWwodGhpcy5ibGlua1RvZ2dsZSwgV2luZG93SW1wbC5CTElOS19ERUxBWSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNoYWtlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1NoYWtpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU2hha2luZyA9IHRydWU7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zaGFrZVRpbWVyKTtcbiAgICAgICAgdGhpcy5zaGFrZVRpbWVyID0gc2V0SW50ZXJ2YWwodGhpcy5zdG9wU2hha2luZywgV2luZG93SW1wbC5TSEFLRV9ERUxBWSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9uVG9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzV2FzT25Ub3AgPSB0aGlzLmlzT25Ub3A7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5TRVRfT05fVE9QKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFNpemUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy53aWR0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0V2lkdGgodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLndpZHRoID0gdmFsdWU7XG4gICAgICAgIGlmIChpc05lZWROb3RpZnkpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplSGFuZGxlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldEhlaWdodCh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gdmFsdWU7XG4gICAgICAgIGlmIChpc05lZWROb3RpZnkpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplSGFuZGxlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRXaWR0aCh3aWR0aCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldEhlaWdodChoZWlnaHQsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBNb3ZlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0WCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy54O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRYKHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy54ID0gdmFsdWU7XG4gICAgICAgIGlmIChpc05lZWROb3RpZnkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5NT1ZFRCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0WSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy55O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0WSh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMueSA9IHZhbHVlO1xuICAgICAgICBpZiAoaXNOZWVkTm90aWZ5KSB7XG4gICAgICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuTU9WRUQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG1vdmUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRYKHgsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZXRZKHksIGZhbHNlKTtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk1PVkVEKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByaXZhdGUgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNCbGluaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQmxpbms7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXQgaXNCbGluayh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzQmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0JsaW5rID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0SXNCbGlua1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzU2hha2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hha2luZztcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCBpc1NoYWtpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc1NoYWtpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1NoYWtpbmcgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc1NoYWtpbmdQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29uZmlnKCk6IFdpbmRvd0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMuY29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29udGVudCgpOiBJV2luZG93Q29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlID8gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGFpbmVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd3JhcHBlcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93cmFwcGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYmFja2Ryb3AoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFja2Ryb3A7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc09uVG9wKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNPblRvcDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc09uVG9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNPblRvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzT25Ub3AgPSB2YWx1ZTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmJsaW5rVGltZXIpO1xuICAgICAgICB0aGlzLmlzQmxpbmsgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTWluaW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNaW5pbWl6ZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNNaW5pbWl6ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc01pbmltaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzTWluaW1pemVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0SXNNaW5pbWl6ZWRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5NSU5JTUlaRURfQ0hBTkdFRCk7XG4gICAgICAgIHRoaXMuc3RvcEJsaW5rSWZOZWVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc0Rpc2FibGVkUHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuRElTQUJMRURfQ0hBTkdFRCk7XG4gICAgfVxufVxuIl19
@@ -26,15 +26,6 @@ export class WindowModule {
26
26
  return {
27
27
  ngModule: WindowModule,
28
28
  providers: [WindowService]
29
- /*
30
- providers: [
31
- {
32
- provide: WindowService,
33
- deps: [MatDialog, LanguageService, CookieService],
34
- useFactory: windowServiceFactory
35
- }
36
- ]
37
- */
38
29
  };
39
30
  }
40
31
  }
@@ -49,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
49
40
  exports: EXPORTS
50
41
  }]
51
42
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93TW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUkzRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDNUcsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixDQUFDLENBQUM7QUFDOUksTUFBTSxZQUFZLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7QUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0FBT2xDLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLE9BQU87UUFDakIsT0FBTztZQUNILFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUMxQjs7Ozs7Ozs7Y0FRRTtTQUNMLENBQUM7SUFDTixDQUFDOzswR0FyQlEsWUFBWTsyR0FBWixZQUFZLGlCQVJILHVCQUF1QixFQURuQix1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsYUFEM0gsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLGFBRXBGLHVCQUF1QixFQURuQix1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEI7MkdBUy9ILFlBQVksWUFKWixPQUFPOzRGQUlQLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsT0FBTztpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgQ29va2llTW9kdWxlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZU1vZHVsZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICcuLi9sYW5ndWFnZS9MYW5ndWFnZU1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi9XaW5kb3dTZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFdpbmRvd0RyYWdBcmVhRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnQvV2luZG93RHJhZ0FyZWFEaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2luZG93UXVlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctcXVlc3Rpb24vd2luZG93LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaW5kb3dDbG9zZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctY2xvc2UtZWxlbWVudC93aW5kb3ctY2xvc2UtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93UmVzaXplRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy1yZXNpemUtZWxlbWVudC93aW5kb3ctcmVzaXplLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpbmRvd01pbmltaXplRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy1taW5pbWl6ZS1lbGVtZW50L3dpbmRvdy1taW5pbWl6ZS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgV2luZG93RmFjdG9yeSB9IGZyb20gJy4vV2luZG93RmFjdG9yeSc7XG5pbXBvcnQgeyBXaW5kb3dCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvV2luZG93QmFzZUNvbXBvbmVudCc7XG5cbmNvbnN0IElNUE9SVFMgPSBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIENvb2tpZU1vZHVsZSwgTGFuZ3VhZ2VNb2R1bGVdO1xuY29uc3QgRU5UUllfQ09NUE9ORU5UUyA9IFtXaW5kb3dRdWVzdGlvbkNvbXBvbmVudCwgV2luZG93Q2xvc2VFbGVtZW50Q29tcG9uZW50LCBXaW5kb3dSZXNpemVFbGVtZW50Q29tcG9uZW50LCBXaW5kb3dNaW5pbWl6ZUVsZW1lbnRDb21wb25lbnRdO1xuY29uc3QgREVDTEFSQVRJT05TID0gW1dpbmRvd0RyYWdBcmVhRGlyZWN0aXZlLCAuLi5FTlRSWV9DT01QT05FTlRTXTtcbmNvbnN0IEVYUE9SVFMgPSBbLi4uREVDTEFSQVRJT05TXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBJTVBPUlRTLFxuICAgIGRlY2xhcmF0aW9uczogREVDTEFSQVRJT05TLFxuICAgIGV4cG9ydHM6IEVYUE9SVFNcbn0pXG5leHBvcnQgY2xhc3MgV2luZG93TW9kdWxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRTdGF0aWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFdpbmRvd01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFdpbmRvd01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1dpbmRvd1NlcnZpY2VdXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBXaW5kb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbTWF0RGlhbG9nLCBMYW5ndWFnZVNlcnZpY2UsIENvb2tpZVNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiB3aW5kb3dTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICAgICovXG4gICAgICAgIH07XG4gICAgfVxufVxuLypcbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dTZXJ2aWNlRmFjdG9yeShkaWFsb2c6IE1hdERpYWxvZywgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSwgY29va2llczogQ29va2llU2VydmljZSk6IFdpbmRvd1NlcnZpY2Uge1xuICAgIGxldCBpdGVtID0gbmV3IFdpbmRvd1NlcnZpY2UoZGlhbG9nLCBsYW5ndWFnZSwgY29va2llcyk7XG4gICAgaXRlbS5kZWZhdWx0RmFjdG9yeSA9IG5ldyBXaW5kb3dGYWN0b3J5KFdpbmRvd0Jhc2VDb21wb25lbnQpO1xuICAgIGl0ZW0ucXVlc3Rpb25Db21wb25lbnQgPSBXaW5kb3dRdWVzdGlvbkNvbXBvbmVudDtcbiAgICByZXR1cm4gaXRlbTtcbn1cbiovXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93TW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUUzRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDNUcsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixDQUFDLENBQUM7QUFDOUksTUFBTSxZQUFZLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7QUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0FBT2xDLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLE9BQU87UUFDakIsT0FBTztZQUNILFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUM3QixDQUFDO0lBQ04sQ0FBQzs7MEdBWlEsWUFBWTsyR0FBWixZQUFZLGlCQVJILHVCQUF1QixFQURuQix1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsYUFEM0gsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLGFBRXBGLHVCQUF1QixFQURuQix1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEI7MkdBUy9ILFlBQVksWUFKWixPQUFPOzRGQUlQLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsT0FBTztpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgQ29va2llTW9kdWxlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZU1vZHVsZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICcuLi9sYW5ndWFnZS9MYW5ndWFnZU1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi9XaW5kb3dTZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFdpbmRvd0RyYWdBcmVhRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnQvV2luZG93RHJhZ0FyZWFEaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2luZG93UXVlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctcXVlc3Rpb24vd2luZG93LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaW5kb3dDbG9zZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctY2xvc2UtZWxlbWVudC93aW5kb3ctY2xvc2UtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93UmVzaXplRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy1yZXNpemUtZWxlbWVudC93aW5kb3ctcmVzaXplLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpbmRvd01pbmltaXplRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy1taW5pbWl6ZS1lbGVtZW50L3dpbmRvdy1taW5pbWl6ZS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5jb25zdCBJTVBPUlRTID0gW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBDb29raWVNb2R1bGUsIExhbmd1YWdlTW9kdWxlXTtcbmNvbnN0IEVOVFJZX0NPTVBPTkVOVFMgPSBbV2luZG93UXVlc3Rpb25Db21wb25lbnQsIFdpbmRvd0Nsb3NlRWxlbWVudENvbXBvbmVudCwgV2luZG93UmVzaXplRWxlbWVudENvbXBvbmVudCwgV2luZG93TWluaW1pemVFbGVtZW50Q29tcG9uZW50XTtcbmNvbnN0IERFQ0xBUkFUSU9OUyA9IFtXaW5kb3dEcmFnQXJlYURpcmVjdGl2ZSwgLi4uRU5UUllfQ09NUE9ORU5UU107XG5jb25zdCBFWFBPUlRTID0gWy4uLkRFQ0xBUkFUSU9OU107XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogSU1QT1JUUyxcbiAgICBkZWNsYXJhdGlvbnM6IERFQ0xBUkFUSU9OUyxcbiAgICBleHBvcnRzOiBFWFBPUlRTXG59KVxuZXhwb3J0IGNsYXNzIFdpbmRvd01vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxXaW5kb3dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBXaW5kb3dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtXaW5kb3dTZXJ2aWNlXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==