@colijnit/corecomponents_v12 256.1.18 → 256.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +141 -37
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.metadata.json +1 -1
  4. package/esm2015/lib/components/base/base-input.component.js +8 -1
  5. package/esm2015/lib/components/button/button.component.js +1 -1
  6. package/esm2015/lib/components/filter-item/filter-item.component.js +2 -2
  7. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +20 -2
  8. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +65 -30
  9. package/esm2015/lib/components/input-scanner/bar-code-scanner.js +16 -3
  10. package/esm2015/lib/components/input-scanner/input-scanner.component.js +28 -4
  11. package/esm2015/lib/components/input-search/input-search.component.js +6 -1
  12. package/esm2015/lib/components/list-of-values/list-of-values.module.js +1 -2
  13. package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +2 -1
  14. package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
  15. package/esm2015/lib/service/base-module-screen-config.service.js +2 -2
  16. package/fesm2015/colijnit-corecomponents_v12.js +139 -37
  17. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  18. package/lib/components/base/base-input.component.d.ts +4 -0
  19. package/lib/components/button/button.component.d.ts +2 -0
  20. package/lib/components/calendar/style/_layout.scss +14 -14
  21. package/lib/components/calendar/style/_material-definition.scss +3 -3
  22. package/lib/components/filter-item/filter-item.component.d.ts +2 -0
  23. package/lib/components/input-date-picker/input-date-picker.component.d.ts +2 -0
  24. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +5 -0
  25. package/lib/components/input-scanner/bar-code-scanner.d.ts +3 -0
  26. package/lib/components/input-scanner/input-scanner.component.d.ts +7 -2
  27. package/lib/components/input-search/input-search.component.d.ts +1 -0
  28. package/lib/interfaces/screen-config-adapter.component.interface.d.ts +2 -0
  29. package/package.json +1 -1
@@ -2,11 +2,17 @@ export class BarCodeScanner {
2
2
  constructor() {
3
3
  this._buffer = [];
4
4
  this._keyPress = (event) => {
5
+ this._clearScanTimeout();
5
6
  if (event.key === "Enter") {
6
- document.dispatchEvent(this._createScanEvent());
7
- this._buffer.length = 0;
7
+ if (this._buffer.length > 0) {
8
+ document.dispatchEvent(this._createScanEvent());
9
+ this._clearBuffer();
10
+ }
8
11
  }
9
12
  else {
13
+ this._scanTimeout = setTimeout(() => {
14
+ this._clearBuffer();
15
+ }, 200);
10
16
  const str = event.key;
11
17
  this._buffer.push(str);
12
18
  }
@@ -16,8 +22,15 @@ export class BarCodeScanner {
16
22
  close() {
17
23
  document.removeEventListener('keypress', this._keyPress);
18
24
  }
25
+ _clearScanTimeout() {
26
+ clearTimeout(this._scanTimeout);
27
+ this._scanTimeout = undefined;
28
+ }
29
+ _clearBuffer() {
30
+ this._buffer.length = 0;
31
+ }
19
32
  _createScanEvent() {
20
33
  return new CustomEvent("barcodescanned", { detail: this._buffer.join("") });
21
34
  }
22
35
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWNvZGUtc2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1zY2FubmVyL2Jhci1jb2RlLXNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFHekI7UUFGUSxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBVXZCLGNBQVMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUMzQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFO2dCQUN6QixRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsR0FBVyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQTtRQWZDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTSxLQUFLO1FBQ1YsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQVlPLGdCQUFnQjtRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQmFyQ29kZVNjYW5uZXIge1xyXG4gIHByaXZhdGUgX2J1ZmZlcjogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIHRoaXMuX2tleVByZXNzKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5cHJlc3MnLCB0aGlzLl9rZXlQcmVzcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9rZXlQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XHJcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQodGhpcy5fY3JlYXRlU2NhbkV2ZW50KCkpO1xyXG4gICAgICB0aGlzLl9idWZmZXIubGVuZ3RoID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHN0cjogc3RyaW5nID0gZXZlbnQua2V5O1xyXG4gICAgICB0aGlzLl9idWZmZXIucHVzaChzdHIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlU2NhbkV2ZW50KCk6IEV2ZW50IHtcclxuICAgIHJldHVybiBuZXcgQ3VzdG9tRXZlbnQoXCJiYXJjb2Rlc2Nhbm5lZFwiLCB7ZGV0YWlsOiB0aGlzLl9idWZmZXIuam9pbihcIlwiKX0pO1xyXG4gIH1cclxufVxyXG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWNvZGUtc2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1zY2FubmVyL2Jhci1jb2RlLXNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFJekI7UUFIUSxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBV3ZCLGNBQVMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFO2dCQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDM0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ3JCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDUixNQUFNLEdBQUcsR0FBVyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQTtRQXJCQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sS0FBSztRQUNWLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFrQk8saUJBQWlCO1FBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEJhckNvZGVTY2FubmVyIHtcclxuICBwcml2YXRlIF9idWZmZXI6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBfc2NhblRpbWVvdXQ6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIHRoaXMuX2tleVByZXNzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgdGhpcy5fa2V5UHJlc3MpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfa2V5UHJlc3MgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgIHRoaXMuX2NsZWFyU2NhblRpbWVvdXQoKTtcclxuICAgIGlmIChldmVudC5rZXkgPT09IFwiRW50ZXJcIikge1xyXG4gICAgICBpZiAodGhpcy5fYnVmZmVyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZVNjYW5FdmVudCgpKTtcclxuICAgICAgICB0aGlzLl9jbGVhckJ1ZmZlcigpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zY2FuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NsZWFyQnVmZmVyKCk7XHJcbiAgICAgIH0sIDIwMCk7XHJcbiAgICAgIGNvbnN0IHN0cjogc3RyaW5nID0gZXZlbnQua2V5O1xyXG4gICAgICB0aGlzLl9idWZmZXIucHVzaChzdHIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJTY2FuVGltZW91dCgpOiB2b2lkIHtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLl9zY2FuVGltZW91dCk7XHJcbiAgICB0aGlzLl9zY2FuVGltZW91dCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFyQnVmZmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYnVmZmVyLmxlbmd0aCA9IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVTY2FuRXZlbnQoKTogRXZlbnQge1xyXG4gICAgcmV0dXJuIG5ldyBDdXN0b21FdmVudChcImJhcmNvZGVzY2FubmVkXCIsIHtkZXRhaWw6IHRoaXMuX2J1ZmZlci5qb2luKFwiXCIpfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { ScannerService } from './scanner.service';
3
3
  import { OverlayService } from '../../service/overlay.service';
4
4
  export class InputScannerComponent {
@@ -13,14 +13,37 @@ export class InputScannerComponent {
13
13
  this.search = new EventEmitter();
14
14
  this.isFocused = new EventEmitter();
15
15
  this.barCodeScanned = new EventEmitter();
16
+ this._blockEnterKeydown = false;
16
17
  this._scannerService.registerInput(this);
17
18
  }
18
19
  showClass() {
19
20
  return true;
20
21
  }
22
+ ngOnDestroy() {
23
+ this._clearTimeout();
24
+ }
25
+ handleKeyDown(event) {
26
+ this._clearTimeout();
27
+ this._keyDownTimeout = setTimeout(() => {
28
+ if (this._blockEnterKeydown) {
29
+ return;
30
+ }
31
+ const enterKeys = ['Enter', 'NumpadEnter', 'Go'];
32
+ if (enterKeys.includes(event.key)) {
33
+ this.search.next(this.model);
34
+ }
35
+ }, 200);
36
+ }
21
37
  triggerCodeScanned(code) {
38
+ this._clearTimeout();
39
+ this._blockEnterKeydown = true;
22
40
  this.model = code;
23
41
  this.barCodeScanned.next(this.model);
42
+ this._blockEnterKeydown = false;
43
+ }
44
+ _clearTimeout() {
45
+ clearTimeout(this._keyDownTimeout);
46
+ this._keyDownTimeout = undefined;
24
47
  }
25
48
  }
26
49
  InputScannerComponent.decorators = [
@@ -29,6 +52,7 @@ InputScannerComponent.decorators = [
29
52
  template: `
30
53
  <co-input-search
31
54
  [(model)]="model"
55
+ [handleKeydown]="false"
32
56
  [customCssClass]="customCssClass"
33
57
  [placeholder]="placeholder"
34
58
  [centerLabel]="centerLabel"
@@ -38,7 +62,6 @@ InputScannerComponent.decorators = [
38
62
  [rightIconData]="rightIconData"
39
63
  (leftIconClick)="leftIconClick.emit($event)"
40
64
  (rightIconClick)="rightIconClick.emit($event)"
41
- (search)="search.emit($event)"
42
65
  (isFocused)="isFocused.emit($event)"
43
66
  ></co-input-search>
44
67
  `,
@@ -67,6 +90,7 @@ InputScannerComponent.propDecorators = {
67
90
  search: [{ type: Output }],
68
91
  isFocused: [{ type: Output }],
69
92
  barCodeScanned: [{ type: Output }],
70
- showClass: [{ type: HostBinding, args: ['class.co-input-scanner',] }]
93
+ showClass: [{ type: HostBinding, args: ['class.co-input-scanner',] }],
94
+ handleKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
71
95
  };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2Nhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtc2Nhbm5lci9pbnB1dC1zY2FubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBNEI3RCxNQUFNLE9BQU8scUJBQXFCO0lBZ0RoQyxZQUNVLGVBQStCO1FBQS9CLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQXpDbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFZOUIsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcvRCxrQkFBYSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3pFLG1CQUFjLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHMUUsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFELGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUcvRCxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBVXZFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFSTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBUU0sa0JBQWtCLENBQUMsSUFBYTtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBakZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztLQWVQO2dCQUNILFNBQVMsRUFBRTtvQkFDVCxjQUFjO29CQUNkLGNBQWM7aUJBQ2Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTVCTyxjQUFjOzs7b0JBOEJuQixLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSzswQkFHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSzs0QkFHTCxLQUFLOzZCQUdMLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNOzZCQUdOLE1BQU07cUJBR04sTUFBTTt3QkFHTixNQUFNOzZCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2Nhbm5lclNlcnZpY2V9IGZyb20gJy4vc2Nhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NjYW5uZXJJbnB1dH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2FubmVyLWlucHV0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1pbnB1dC1zY2FubmVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28taW5wdXQtc2VhcmNoXHJcbiAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21Dc3NDbGFzc109XCJjdXN0b21Dc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbY2VudGVyTGFiZWxdPVwiY2VudGVyTGFiZWxcIlxyXG4gICAgICAgICAgICAgIFt1c2VMZWZ0SWNvbl09XCJ1c2VMZWZ0SWNvblwiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgIFt1c2VSaWdodEljb25dPVwidXNlUmlnaHRJY29uXCJcclxuICAgICAgICAgICAgICBbcmlnaHRJY29uRGF0YV09XCJyaWdodEljb25EYXRhXCJcclxuICAgICAgICAgICAgICAobGVmdEljb25DbGljayk9XCJsZWZ0SWNvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInJpZ2h0SWNvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2guZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoaXNGb2N1c2VkKT1cImlzRm9jdXNlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICA+PC9jby1pbnB1dC1zZWFyY2g+XHJcbiAgICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU2Nhbm5lclNlcnZpY2UsXHJcbiAgICBPdmVybGF5U2VydmljZVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTY2FubmVyQ29tcG9uZW50IGltcGxlbWVudHMgU2Nhbm5lcklucHV0IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjZW50ZXJMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VMZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VSaWdodEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1c3RvbUNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpc0ZvY3VzZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGJhckNvZGVTY2FubmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWlucHV0LXNjYW5uZXInKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Nhbm5lclNlcnZpY2U6IFNjYW5uZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc2Nhbm5lclNlcnZpY2UucmVnaXN0ZXJJbnB1dCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmlnZ2VyQ29kZVNjYW5uZWQoY29kZT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNvZGU7XHJcbiAgICB0aGlzLmJhckNvZGVTY2FubmVkLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2Nhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtc2Nhbm5lci9pbnB1dC1zY2FubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUE0QjdELE1BQU0sT0FBTyxxQkFBcUI7SUFtRGhDLFlBQ1UsZUFBK0I7UUFBL0Isb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBNUNsQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVk5QixnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRy9ELGtCQUFhLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHekUsbUJBQWMsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUcxRSxXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHMUQsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRy9ELG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPakUsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBTTFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFYTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBV0QsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR00sYUFBYSxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDckMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzNCLE9BQU87YUFDUjtZQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUI7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDVCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFBYTtRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRU8sYUFBYTtRQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBQ25DLENBQUM7OztZQTlHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlUDtnQkFDSCxTQUFTLEVBQUU7b0JBQ1QsY0FBYztvQkFDZCxjQUFjO2lCQUNmO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE1Qk8sY0FBYzs7O29CQThCbkIsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSzsyQkFHTCxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSzs2QkFHTCxLQUFLOzBCQUdMLE1BQU07NEJBR04sTUFBTTs2QkFHTixNQUFNO3FCQUdOLE1BQU07d0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyx3QkFBd0I7NEJBa0JwQyxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2Nhbm5lclNlcnZpY2V9IGZyb20gJy4vc2Nhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NjYW5uZXJJbnB1dH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2FubmVyLWlucHV0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1pbnB1dC1zY2FubmVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28taW5wdXQtc2VhcmNoXHJcbiAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgIFtoYW5kbGVLZXlkb3duXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiY3VzdG9tQ3NzQ2xhc3NcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgW2NlbnRlckxhYmVsXT1cImNlbnRlckxhYmVsXCJcclxuICAgICAgICAgICAgICBbdXNlTGVmdEljb25dPVwidXNlTGVmdEljb25cIlxyXG4gICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwibGVmdEljb25EYXRhXCJcclxuICAgICAgICAgICAgICBbdXNlUmlnaHRJY29uXT1cInVzZVJpZ2h0SWNvblwiXHJcbiAgICAgICAgICAgICAgW3JpZ2h0SWNvbkRhdGFdPVwicmlnaHRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgKGxlZnRJY29uQ2xpY2spPVwibGVmdEljb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJyaWdodEljb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChpc0ZvY3VzZWQpPVwiaXNGb2N1c2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLWlucHV0LXNlYXJjaD5cclxuICAgIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTY2FubmVyU2VydmljZSxcclxuICAgIE92ZXJsYXlTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNjYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBTY2FubmVySW5wdXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbW9kZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2VudGVyTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlTGVmdEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlUmlnaHRJY29uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21Dc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBiYXJDb2RlU2Nhbm5lZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC1zY2FubmVyJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9ibG9ja0VudGVyS2V5ZG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2tleURvd25UaW1lb3V0OiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Nhbm5lclNlcnZpY2U6IFNjYW5uZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc2Nhbm5lclNlcnZpY2UucmVnaXN0ZXJJbnB1dCh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fY2xlYXJUaW1lb3V0KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2xlYXJUaW1lb3V0KCk7XHJcbiAgICB0aGlzLl9rZXlEb3duVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fYmxvY2tFbnRlcktleWRvd24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZW50ZXJLZXlzID0gWydFbnRlcicsICdOdW1wYWRFbnRlcicsICdHbyddO1xyXG4gICAgICBpZiAoZW50ZXJLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaC5uZXh0KHRoaXMubW9kZWwpO1xyXG4gICAgICB9XHJcbiAgICB9LCAyMDApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJpZ2dlckNvZGVTY2FubmVkKGNvZGU/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NsZWFyVGltZW91dCgpO1xyXG4gICAgdGhpcy5fYmxvY2tFbnRlcktleWRvd24gPSB0cnVlO1xyXG4gICAgdGhpcy5tb2RlbCA9IGNvZGU7XHJcbiAgICB0aGlzLmJhckNvZGVTY2FubmVkLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLl9ibG9ja0VudGVyS2V5ZG93biA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJUaW1lb3V0KCk6IHZvaWQge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2tleURvd25UaW1lb3V0KTtcclxuICAgIHRoaXMuX2tleURvd25UaW1lb3V0ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,6 +8,7 @@ export class InputSearchComponent extends BaseInputComponent {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.searchIcon = CoreComponentsIcon.Magnifier;
11
+ this.handleKeydown = true;
11
12
  this.search = new EventEmitter();
12
13
  this.isFocused = new EventEmitter();
13
14
  this.leftIconClick = new EventEmitter();
@@ -20,6 +21,9 @@ export class InputSearchComponent extends BaseInputComponent {
20
21
  return true;
21
22
  }
22
23
  handleKeyDown(event) {
24
+ if (!this.handleKeydown) {
25
+ return;
26
+ }
23
27
  const enterKeys = ['Enter', 'NumpadEnter', 'Go'];
24
28
  if (enterKeys.includes(event.key)) {
25
29
  event.preventDefault();
@@ -67,6 +71,7 @@ InputSearchComponent.decorators = [
67
71
  ];
68
72
  InputSearchComponent.propDecorators = {
69
73
  placeholder: [{ type: Input }],
74
+ handleKeydown: [{ type: Input }],
70
75
  search: [{ type: Output }],
71
76
  isFocused: [{ type: Output }],
72
77
  leftIconClick: [{ type: Output }],
@@ -84,4 +89,4 @@ __decorate([
84
89
  __decorate([
85
90
  InputBoolean()
86
91
  ], InputSearchComponent.prototype, "useRightIcon", void 0);
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTRCN0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUEwQjtJQTFCcEU7O1FBNEJrQixlQUFVLEdBQXVCLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQU12RSxXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHMUQsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRy9ELGtCQUFhLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHekUsbUJBQWMsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUkxRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUk3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVU5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQXlCdEMsQ0FBQztJQXRCUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQW9CO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDeEIsS0FBSyxDQUFDLE1BQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdEM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNPLGNBQWM7UUFDcEIsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OztZQXJGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYztpQkFDakI7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MEJBS0UsS0FBSztxQkFHTCxNQUFNO3dCQUdOLE1BQU07NEJBR04sTUFBTTs2QkFHTixNQUFNOzBCQUdOLEtBQUs7MkJBSUwsS0FBSzsyQkFJTCxLQUFLOzRCQUdMLEtBQUs7MEJBR0wsV0FBVyxTQUFDLG9CQUFvQixjQUNoQyxLQUFLO3dCQUdMLFdBQVcsU0FBQyx1QkFBdUI7O0FBaEJwQztJQURDLFlBQVksRUFBRTt5REFDcUI7QUFJcEM7SUFEQyxZQUFZLEVBQUU7MERBQ3NCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gJy4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtJztcclxuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1pbnB1dC1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICBbbmdDbGFzc109XCJjdXN0b21Dc3NDbGFzc1wiXHJcbiAgICAgIFttb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgIFtsZWZ0SWNvbl09XCJ1c2VMZWZ0SWNvbiA/IHNlYXJjaEljb24gOiBudWxsXCJcclxuICAgICAgW3JpZ2h0SWNvbl09XCJ1c2VSaWdodEljb24gPyBzZWFyY2hJY29uIDogbnVsbFwiXHJcbiAgICAgIFtsZWZ0SWNvbkRhdGFdPVwidXNlTGVmdEljb24gJiYgbGVmdEljb25EYXRhID8gbGVmdEljb25EYXRhIDogdW5kZWZpbmVkXCJcclxuICAgICAgW3JpZ2h0SWNvbkRhdGFdPVwidXNlUmlnaHRJY29uICYmIHJpZ2h0SWNvbkRhdGEgPyByaWdodEljb25EYXRhIDogdW5kZWZpbmVkXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgW3Nob3dQbGFjZWhvbGRlck9uRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChsZWZ0SWNvbkNsaWNrKT1cImxlZnRJY29uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInJpZ2h0SWNvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cCk9XCJrZXlVcC5lbWl0KCRldmVudClcIlxyXG4gICAgICAoaXNGb2N1c2VkKT1cImlzRm9jdXNlZC5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvY28taW5wdXQtdGV4dD5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgICBPdmVybGF5U2VydmljZVxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hJY29uOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uTWFnbmlmaWVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyB1c2VMZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyB1c2VSaWdodEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2VudGVyLWxhYmVsJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjZW50ZXJMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWlucHV0LXNlYXJjaCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVudGVyS2V5cyA9IFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnR28nXTtcclxuICAgIGlmIChlbnRlcktleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBpZiAodGhpcy5pc01vYmlsZURldmljZSgpKSB7XHJcbiAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuYmx1cigpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VhcmNoLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTW9kZWxDaGFuZ2UobW9kZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuICBwcml2YXRlIGlzTW9iaWxlRGV2aWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIC9BbmRyb2lkfGlQaG9uZXxpUGFkfGlQb2QvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTRCN0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUEwQjtJQTFCcEU7O1FBNEJrQixlQUFVLEdBQXVCLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQU12RSxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUc5QixXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHMUQsY0FBUyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRy9ELGtCQUFhLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHekUsbUJBQWMsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUkxRSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUk3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVU5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQTRCdEMsQ0FBQztJQXpCUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDeEIsS0FBSyxDQUFDLE1BQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdEM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNPLGNBQWM7UUFDcEIsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYztpQkFDakI7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MEJBS0UsS0FBSzs0QkFHTCxLQUFLO3FCQUdMLE1BQU07d0JBR04sTUFBTTs0QkFHTixNQUFNOzZCQUdOLE1BQU07MEJBR04sS0FBSzsyQkFJTCxLQUFLOzJCQUlMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxXQUFXLFNBQUMsb0JBQW9CLGNBQ2hDLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHVCQUF1Qjs7QUFoQnBDO0lBREMsWUFBWSxFQUFFO3lEQUNxQjtBQUlwQztJQURDLFlBQVksRUFBRTswREFDc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWlucHV0LXNlYXJjaCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgIFtuZ0NsYXNzXT1cImN1c3RvbUNzc0NsYXNzXCJcclxuICAgICAgW21vZGVsXT1cIm1vZGVsXCJcclxuICAgICAgW2xlZnRJY29uXT1cInVzZUxlZnRJY29uID8gc2VhcmNoSWNvbiA6IG51bGxcIlxyXG4gICAgICBbcmlnaHRJY29uXT1cInVzZVJpZ2h0SWNvbiA/IHNlYXJjaEljb24gOiBudWxsXCJcclxuICAgICAgW2xlZnRJY29uRGF0YV09XCJ1c2VMZWZ0SWNvbiAmJiBsZWZ0SWNvbkRhdGEgPyBsZWZ0SWNvbkRhdGEgOiB1bmRlZmluZWRcIlxyXG4gICAgICBbcmlnaHRJY29uRGF0YV09XCJ1c2VSaWdodEljb24gJiYgcmlnaHRJY29uRGF0YSA/IHJpZ2h0SWNvbkRhdGEgOiB1bmRlZmluZWRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICBbc2hvd1BsYWNlaG9sZGVyT25Gb2N1c109XCJmYWxzZVwiXHJcbiAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgKGxlZnRJY29uQ2xpY2spPVwibGVmdEljb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAocmlnaHRJY29uQ2xpY2spPVwicmlnaHRJY29uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKGtleXVwKT1cImtleVVwLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChpc0ZvY3VzZWQpPVwiaXNGb2N1c2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAgIE92ZXJsYXlTZXJ2aWNlXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlYXJjaENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxzdHJpbmc+IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlYXJjaEljb246IENvcmVDb21wb25lbnRzSWNvbiA9IENvcmVDb21wb25lbnRzSWNvbi5NYWduaWZpZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUtleWRvd246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyB1c2VMZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyB1c2VSaWdodEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2VudGVyLWxhYmVsJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjZW50ZXJMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWlucHV0LXNlYXJjaCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oYW5kbGVLZXlkb3duKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGVudGVyS2V5cyA9IFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnR28nXTtcclxuICAgIGlmIChlbnRlcktleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBpZiAodGhpcy5pc01vYmlsZURldmljZSgpKSB7XHJcbiAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuYmx1cigpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VhcmNoLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTW9kZWxDaGFuZ2UobW9kZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuICBwcml2YXRlIGlzTW9iaWxlRGV2aWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIC9BbmRyb2lkfGlQaG9uZXxpUGFkfGlQb2QvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -22,7 +22,6 @@ ListOfValuesModule.decorators = [
22
22
  OverlayModule,
23
23
  ClickoutsideModule,
24
24
  IconModule,
25
- InputTextModule,
26
25
  InputSearchModule
27
26
  ],
28
27
  declarations: [
@@ -35,4 +34,4 @@ ListOfValuesModule.decorators = [
35
34
  ]
36
35
  },] }
37
36
  ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUF1QnRFLE1BQU0sT0FBTyxrQkFBa0I7OztZQXJCOUIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLGVBQWU7b0JBQ2YsaUJBQWlCO2lCQUNwQjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO29CQUNyQiwwQkFBMEI7b0JBQzFCLHFDQUFxQztpQkFDdEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TGlzdE9mVmFsdWVzQ29tcG9uZW50fSBmcm9tIFwiLi9saXN0LW9mLXZhbHVlcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7SW5wdXRUZXh0TW9kdWxlfSBmcm9tIFwiLi4vaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZVwiO1xyXG5pbXBvcnQge0lucHV0Q2hlY2tib3hNb2R1bGV9IGZyb20gXCIuLi9pbnB1dC1jaGVja2JveC9pbnB1dC1jaGVja2JveC5tb2R1bGVcIjtcclxuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9vdmVybGF5L292ZXJsYXkubW9kdWxlXCI7XHJcbmltcG9ydCB7Q2xpY2tvdXRzaWRlTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9jbGlja291dHNpZGUvY2xpY2tvdXRzaWRlLm1vZHVsZVwiO1xyXG5pbXBvcnQge0xpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50fSBmcm9tIFwiLi9saXN0LW9mLXZhbHVlcy1wb3B1cC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtMaXN0T2ZWYWx1ZXNNdWx0aXNlbGVjdFBvcHVwQ29tcG9uZW50fSBmcm9tIFwiLi9saXN0LW9mLXZhbHVlcy1tdWx0aXNlbGVjdC1wb3B1cC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29uTW9kdWxlfSBmcm9tIFwiLi4vaWNvbi9pY29uLm1vZHVsZVwiO1xyXG5pbXBvcnQge0lucHV0U2VhcmNoTW9kdWxlfSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBPdmVybGF5TW9kdWxlLFxyXG4gICAgICAgIENsaWNrb3V0c2lkZU1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgICAgICBJbnB1dFNlYXJjaE1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExpc3RPZlZhbHVlc0NvbXBvbmVudCxcclxuICAgIExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50LFxyXG4gICAgTGlzdE9mVmFsdWVzTXVsdGlzZWxlY3RQb3B1cENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGlzdE9mVmFsdWVzQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdE9mVmFsdWVzTW9kdWxlIHt9XHJcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFzQnRFLE1BQU0sT0FBTyxrQkFBa0I7OztZQXBCOUIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLGlCQUFpQjtpQkFDcEI7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtvQkFDckIsMEJBQTBCO29CQUMxQixxQ0FBcUM7aUJBQ3RDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0xpc3RPZlZhbHVlc0NvbXBvbmVudH0gZnJvbSBcIi4vbGlzdC1vZi12YWx1ZXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0lucHV0VGV4dE1vZHVsZX0gZnJvbSBcIi4uL2lucHV0LXRleHQvaW5wdXQtdGV4dC5tb2R1bGVcIjtcclxuaW1wb3J0IHtJbnB1dENoZWNrYm94TW9kdWxlfSBmcm9tIFwiLi4vaW5wdXQtY2hlY2tib3gvaW5wdXQtY2hlY2tib3gubW9kdWxlXCI7XHJcbmltcG9ydCB7T3ZlcmxheU1vZHVsZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZVwiO1xyXG5pbXBvcnQge0NsaWNrb3V0c2lkZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvY2xpY2tvdXRzaWRlL2NsaWNrb3V0c2lkZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4vbGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGlzdE9mVmFsdWVzTXVsdGlzZWxlY3RQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4vbGlzdC1vZi12YWx1ZXMtbXVsdGlzZWxlY3QtcG9wdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSBcIi4uL2ljb24vaWNvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHtJbnB1dFNlYXJjaE1vZHVsZX0gZnJvbSAnLi4vaW5wdXQtc2VhcmNoL2lucHV0LXNlYXJjaC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcclxuICAgICAgICBDbGlja291dHNpZGVNb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZSxcclxuICAgICAgICBJbnB1dFNlYXJjaE1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExpc3RPZlZhbHVlc0NvbXBvbmVudCxcclxuICAgIExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50LFxyXG4gICAgTGlzdE9mVmFsdWVzTXVsdGlzZWxlY3RQb3B1cENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGlzdE9mVmFsdWVzQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdE9mVmFsdWVzTW9kdWxlIHt9XHJcbiJdfQ==
@@ -80,6 +80,7 @@ export class ScreenConfigurationDirective {
80
80
  this.hostComponent.readonly = this.hostComponent.forceReadonly || this._moduleInReadonlyMode() || myCfgObj.isReadonly();
81
81
  this.hostComponent.decimals = myCfgObj.scale;
82
82
  this.hostComponent.maxLength = myCfgObj.maxLength;
83
+ this.hostComponent.defaultValue = myCfgObj.defaultValue;
83
84
  if ('configObject' in this.hostComponent) {
84
85
  this.hostComponent.configObject = myCfgObj;
85
86
  }
@@ -155,4 +156,4 @@ __decorate([
155
156
  __decorate([
156
157
  InputBoolean()
157
158
  ], ScreenConfigurationDirective.prototype, "noModuleService", void 0);
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWNvbmZpZ3VyYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3NjcmVlbi1jb25maWd1cmF0aW9uL3NjcmVlbi1jb25maWd1cmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBRS9ILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLGlHQUFpRztBQUNqRyx5SUFBeUk7QUFJekksTUFBTSxPQUFPLDRCQUE0QjtJQWlDckMsWUFFVyxhQUEyQyxFQUMxQyxRQUFvQjtJQUM1QixvRUFBb0U7SUFDNUQsY0FBNkMsRUFDN0MsU0FBb0I7SUFDNUIsMERBQTBEO0lBQ2xELGNBQWtDO1FBTm5DLGtCQUFhLEdBQWIsYUFBYSxDQUE4QjtRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRXBCLG1CQUFjLEdBQWQsY0FBYyxDQUErQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXBCLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQXZCdkMsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBSTNDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBTXhDLDBKQUEwSjtRQUNsSixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5QixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQVkvQixJQUFJLENBQUMs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bUNRLE1BQU0sU0FBQyw4Q0FBOEM7WUFsRDNDLFVBQVU7WUFLckIsNkJBQTZCO1lBTG9CLFNBQVM7WUFNMUQsaUJBQWlCOzs7d0NBV3BCLEtBQUssU0FBQywyQkFBMkI7dUJBWWpDLEtBQUs7d0NBR0wsS0FBSzs4QkFJTCxLQUFLOztBQUZOO0lBREMsWUFBWSxFQUFFOytFQUNtQztBQUlsRDtJQURDLFlBQVksRUFBRTtxRUFDeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQge1NjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLWNvbXBvbmVudC1pbnRlcmZhY2UtbmFtZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9iYXNlLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Jhc2VNb2R1bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2Jhc2UtbW9kdWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL3ZhbGlkYXRpb24tcmVzdWx0JztcclxuaW1wb3J0IHtWYWxpZGF0aW9uTWVzc2FnZX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcblxyXG4vLyBEaXJlY3RpdmUgdG8gcmVwcmVzZW50cyB0aGUgbWFya2VyIG9mIFwic2NyZWVuIGNvbmZpZyBuYW1lIElEJ3NcIiBvZiBjb21wb25lbnRzIHdpdGhpbiBhIG1vZHVsZS5cclxuLy8gTWFuaXB1bGF0ZXMgdmlzaWJpbGl0eSwgcmVhZG9ubHkgYW5kIG90aGVyIGR5bmFtaWMgc3RhdGVzIG9mIGFuIGlucHV0IGVsZW1lbnQgYWNjb3JkaW5nIHRvIGl0cyBkYi1mZXRjaGVkIHNjcmVlbiBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjcmVlbkNvbmZpZ3VyYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCdzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0JylcclxuICAgIHB1YmxpYyBzZXQgc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlSG9zdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRhdGFOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Nb2R1bGVTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNIZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdDogc3RyaW5nO1xyXG5cclxuICAgIC8vIGZlYXR1cmUgdG9nZ2xlIGZvciBkZXZzIHNvIHlvdSBjYW4gc2VlIHRoZSB3aG9sZSBzY3JlZW4gd2l0aCBhbGwgaW5wdXRzIGV0YyBieSB0ZW1wb3JhcmlseSB0dXJuaW5nIG9mZiB0aGUgaGlkaW5nIGVmZmVjdHMgb2YgdGhpcyBkaXJlY3RpdmUgb24gaXRzIGhvc3RcclxuICAgIHByaXZhdGUgX2lzVHVybmVkT2ZmOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUpXHJcbiAgICAgICAgcHVibGljIGhvc3RDb21wb25lbnQ6IFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgICAgICAvLyB3ZSBtdXN0IGFsd2F5cyBoYXZlIGEgY29uZmlnIHNlcnZpY2UgdG8gZmV0Y2ggY29uZmlnIG9iamVjdHMgd2l0aFxyXG4gICAgICAgIHByaXZhdGUgX2NvbmZpZ1NlcnZpY2U6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgLy8gdG8gbWFrZSBob3N0IHJlYWRvbmx5IHdoZW4gTU9EVUxFIHN3aXRjaGVzIHRvIHJlYWRvbmx5OlxyXG4gICAgICAgIHByaXZhdGUgX21vZHVsZVNlcnZpY2U/OiBCYXNlTW9kdWxlU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5wdXNoKHRoaXMuX2NvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWdPYmplY3RzICYmIGNvbmZpZ09iamVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlSG9zdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fbW9kdWxlU2VydmljZSAmJiAhdGhpcy5ub01vZHVsZVNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kdWxlU2VydmljZS5yZWFkb25seUNoYW5nZS5zdWJzY3JpYmUoKG1vZHVsZUluUmVhZG9ubHlTdGF0ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvc3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlYWRvbmx5ID0gdGhpcy5ob3N0Q29tcG9uZW50LmZvcmNlUmVhZG9ubHkgfHwgbW9kdWxlSW5SZWFkb25seVN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kdWxlU2VydmljZS5lcnJvclZhbGlkYXRpb25SZWNlaXZlZC5zdWJzY3JpYmUoKHZhbGlkYXRpb25SZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldEVycm9yUmVkQmFja2dyb3VuZEFmdGVyU2NyQ2ZnVmFsaWRhdGUodmFsaWRhdGlvblJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHRoaXMuX21vZHVsZVNlcnZpY2Uuc3VjY2Vzc2Z1bFVwZGF0ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvc3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlZEVycm9yQmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvc3QoKTtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5fdXBkYXRlSGVhZGVyU3RhdGVPbkhvc3RDb21wb25lbnQodHJ1ZSk7XHJcblxyXG4gICAgICAgIC8vIHNob3cgaW5pdGlhbCBlcnJvciBtZXNzYWdlIGlmIGFueVxyXG4gICAgICAgIGlmICghdGhpcy5ub01vZHVsZVNlcnZpY2UpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5fc2V0RXJyb3JSZWRCYWNrZ3JvdW5kQWZ0ZXJTY3JDZmdWYWxpZGF0ZSh0aGlzLl9tb2R1bGVTZXJ2aWNlLmxhc3RFcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0hlYWRlcikge1xyXG4gICAgICAgICAgICAvLyB0aGlzLl9kb3VibGVDbGlja0hlYWRlcnMuaGFuZGxlQ29sbGFwc2VhYmxlRGVzdHJveSh0aGlzLnNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbGVtZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaG9zdENvbXBvbmVudCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIGhvc3QgY29tcG9uZW50IHZpc2liaWxpdHksIHJlcXVpcmVkLCByZWFkb25seSBldGMuIGlmIHNwZWNpZmllZCBpbiBiYWNrZW5kIHNjcmVlbiBjb25maWcgT1IgbW9kdWxlIHJlYWRvbmx5IHN0YXR1cy5cclxuICAgIHByaXZhdGUgX3VwZGF0ZUhvc3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX21heVVwZGF0ZUhvc3QoKSB8fCB0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5vYmplY3RDb25maWdOYW1lID0gdGhpcy5zY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG15Q2ZnT2JqOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fY29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdCk7XHJcbiAgICAgICAgICAgIGlmIChteUNmZ09iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0SG9zdFZpc2libGUobXlDZmdPYmouaW1tZWRpYXRlbHlWaXNpYmxlKCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQucmVxdWlyZWQgPSBteUNmZ09iai5pc1JlcXVpcmVkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlYWRvbmx5ID0gdGhpcy5ob3N0Q29tcG9uZW50LmZvcmNlUmVhZG9ubHkgfHwgdGhpcy5fbW9kdWxlSW5SZWFkb25seU1vZGUoKSB8fCBteUNmZ09iai5pc1JlYWRvbmx5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LmRlY2ltYWxzID0gbXlDZmdPYmouc2NhbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50Lm1heExlbmd0aCA9IG15Q2ZnT2JqLm1heExlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoJ2NvbmZpZ09iamVjdCcgaW4gdGhpcy5ob3N0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQuY29uZmlnT2JqZWN0ID0gbXlDZmdPYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0SG9zdFZpc2libGUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQucmVhZG9ubHkgPSB0aGlzLl9tb2R1bGVJblJlYWRvbmx5TW9kZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3Bhd24gZXJyb3IgbWVzc2FnZSB0b29sdGlwIG9udG8gb3VyIGhvc3QgY29tcCwgaWYgYW55IGVycm9yIHdhcyBtZWFudCBmb3IgdGhlIGhvc3QgKGZvdW5kIGJ5IHNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QpO1xyXG4gICAgICogQHBhcmFtIGVycm9yVmFsaWRhdGlvbiBBIHRvcC1sZXZlbCBmdWxsIHZhbGlkYXRpb24gcmVzdWx0LCBlaXRoZXIgZnJvbSB0aGUgYmFja2VuZCBvciBmcm9tIHNvbWUgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiBlcnJvci5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2V0RXJyb3JSZWRCYWNrZ3JvdW5kQWZ0ZXJTY3JDZmdWYWxpZGF0ZShlcnJvclZhbGlkYXRpb246IFZhbGlkYXRpb25SZXN1bHQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5ob3N0Q29tcG9uZW50ICYmIGVycm9yVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzOiBWYWxpZGF0aW9uTWVzc2FnZVtdID0gZXJyb3JWYWxpZGF0aW9uLmdldEFsbEVycm9yTWVzc2FnZXNPZk15VmFsaWRhdGlvbkZpZWxkcygpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGVycm9yTWVzc2FnZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTXNnOiBWYWxpZGF0aW9uTWVzc2FnZSA9IGVycm9yTWVzc2FnZXNbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWdOYW1lOiBzdHJpbmcgPSB0aGlzLmRhdGFOYW1lID8gdGhpcy5kYXRhTmFtZSA6IHRoaXMuc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdDtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvck1zZy5maWVsZElkID09PSBjb25maWdOYW1lICYmIHRoaXMuX2VsZW1lbnQgLyomJiB0aGlzLl9wcm9wZXJIb3N0KGVycm9yTXNnLmJvSWQpKi8pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQucmVkRXJyb3JCYWNrZ3JvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tb2R1bGVJblJlYWRvbmx5TW9kZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMubm9Nb2R1bGVTZXJ2aWNlID8gKHRoaXMuX21vZHVsZVNlcnZpY2UgPyB0aGlzLl9tb2R1bGVTZXJ2aWNlLnJlYWRvbmx5IDogZmFsc2UpIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbWF5VXBkYXRlSG9zdCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLmhvc3RDb21wb25lbnQgJiYgIXRoaXMuX2lzVHVybmVkT2ZmICYmICEhdGhpcy5zY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldEhvc3RWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQuaGlkZGVuID0gIXZpc2libGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnQgJiYgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXZpc2libGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWNvbmZpZ3VyYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3NjcmVlbi1jb25maWd1cmF0aW9uL3NjcmVlbi1jb25maWd1cmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBRS9ILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLGlHQUFpRztBQUNqRyx5SUFBeUk7QUFJekksTUFBTSxPQUFPLDRCQUE0QjtJQWlDckMsWUFFVyxhQUEyQyxFQUMxQyxRQUFvQjtJQUM1QixvRUFBb0U7SUFDNUQsY0FBNkMsRUFDN0MsU0FBb0I7SUFDNUIsMERBQTBEO0lBQ2xELGNBQWtDO1FBTm5DLGtCQUFhLEdBQWIsYUFBYSxDQUE4QjtRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRXBCLG1CQUFjLEdBQWQsY0FBYyxDQUErQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXBCLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQXZCdkMsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBSTNDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBTXhDLDBKQUEwSjtRQUNsSixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5QixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQVkvQixJQUFJLENBQUMs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Q0FBQzs7O1lBNUpKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2FBQzFDOzs7NENBbUNRLE1BQU0sU0FBQyw4Q0FBOEM7WUFsRDNDLFVBQVU7WUFLckIsNkJBQTZCO1lBTG9CLFNBQVM7WUFNMUQsaUJBQWlCOzs7d0NBV3BCLEtBQUssU0FBQywyQkFBMkI7dUJBWWpDLEtBQUs7d0NBR0wsS0FBSzs4QkFJTCxLQUFLOztBQUZOO0lBREMsWUFBWSxFQUFFOytFQUNtQztBQUlsRDtJQURDLFlBQVksRUFBRTtxRUFDeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQge1NjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLWNvbXBvbmVudC1pbnRlcmZhY2UtbmFtZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtCYXNlTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9iYXNlLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Jhc2VNb2R1bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2Jhc2UtbW9kdWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL3ZhbGlkYXRpb24tcmVzdWx0JztcclxuaW1wb3J0IHtWYWxpZGF0aW9uTWVzc2FnZX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vYmplY3QtY29uZmlndXJhdGlvbic7XHJcblxyXG4vLyBEaXJlY3RpdmUgdG8gcmVwcmVzZW50cyB0aGUgbWFya2VyIG9mIFwic2NyZWVuIGNvbmZpZyBuYW1lIElEJ3NcIiBvZiBjb21wb25lbnRzIHdpdGhpbiBhIG1vZHVsZS5cclxuLy8gTWFuaXB1bGF0ZXMgdmlzaWJpbGl0eSwgcmVhZG9ubHkgYW5kIG90aGVyIGR5bmFtaWMgc3RhdGVzIG9mIGFuIGlucHV0IGVsZW1lbnQgYWNjb3JkaW5nIHRvIGl0cyBkYi1mZXRjaGVkIHNjcmVlbiBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjcmVlbkNvbmZpZ3VyYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCdzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0JylcclxuICAgIHB1YmxpYyBzZXQgc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlSG9zdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRhdGFOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Nb2R1bGVTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNIZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdDogc3RyaW5nO1xyXG5cclxuICAgIC8vIGZlYXR1cmUgdG9nZ2xlIGZvciBkZXZzIHNvIHlvdSBjYW4gc2VlIHRoZSB3aG9sZSBzY3JlZW4gd2l0aCBhbGwgaW5wdXRzIGV0YyBieSB0ZW1wb3JhcmlseSB0dXJuaW5nIG9mZiB0aGUgaGlkaW5nIGVmZmVjdHMgb2YgdGhpcyBkaXJlY3RpdmUgb24gaXRzIGhvc3RcclxuICAgIHByaXZhdGUgX2lzVHVybmVkT2ZmOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUpXHJcbiAgICAgICAgcHVibGljIGhvc3RDb21wb25lbnQ6IFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgICAgICAvLyB3ZSBtdXN0IGFsd2F5cyBoYXZlIGEgY29uZmlnIHNlcnZpY2UgdG8gZmV0Y2ggY29uZmlnIG9iamVjdHMgd2l0aFxyXG4gICAgICAgIHByaXZhdGUgX2NvbmZpZ1NlcnZpY2U6IEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgLy8gdG8gbWFrZSBob3N0IHJlYWRvbmx5IHdoZW4gTU9EVUxFIHN3aXRjaGVzIHRvIHJlYWRvbmx5OlxyXG4gICAgICAgIHByaXZhdGUgX21vZHVsZVNlcnZpY2U/OiBCYXNlTW9kdWxlU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5wdXNoKHRoaXMuX2NvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWdPYmplY3RzICYmIGNvbmZpZ09iamVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlSG9zdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fbW9kdWxlU2VydmljZSAmJiAhdGhpcy5ub01vZHVsZVNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kdWxlU2VydmljZS5yZWFkb25seUNoYW5nZS5zdWJzY3JpYmUoKG1vZHVsZUluUmVhZG9ubHlTdGF0ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvc3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlYWRvbmx5ID0gdGhpcy5ob3N0Q29tcG9uZW50LmZvcmNlUmVhZG9ubHkgfHwgbW9kdWxlSW5SZWFkb25seVN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fbW9kdWxlU2VydmljZS5lcnJvclZhbGlkYXRpb25SZWNlaXZlZC5zdWJzY3JpYmUoKHZhbGlkYXRpb25SZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldEVycm9yUmVkQmFja2dyb3VuZEFmdGVyU2NyQ2ZnVmFsaWRhdGUodmFsaWRhdGlvblJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHRoaXMuX21vZHVsZVNlcnZpY2Uuc3VjY2Vzc2Z1bFVwZGF0ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvc3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlZEVycm9yQmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvc3QoKTtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5fdXBkYXRlSGVhZGVyU3RhdGVPbkhvc3RDb21wb25lbnQodHJ1ZSk7XHJcblxyXG4gICAgICAgIC8vIHNob3cgaW5pdGlhbCBlcnJvciBtZXNzYWdlIGlmIGFueVxyXG4gICAgICAgIGlmICghdGhpcy5ub01vZHVsZVNlcnZpY2UpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5fc2V0RXJyb3JSZWRCYWNrZ3JvdW5kQWZ0ZXJTY3JDZmdWYWxpZGF0ZSh0aGlzLl9tb2R1bGVTZXJ2aWNlLmxhc3RFcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0hlYWRlcikge1xyXG4gICAgICAgICAgICAvLyB0aGlzLl9kb3VibGVDbGlja0hlYWRlcnMuaGFuZGxlQ29sbGFwc2VhYmxlRGVzdHJveSh0aGlzLnNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbGVtZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaG9zdENvbXBvbmVudCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIGhvc3QgY29tcG9uZW50IHZpc2liaWxpdHksIHJlcXVpcmVkLCByZWFkb25seSBldGMuIGlmIHNwZWNpZmllZCBpbiBiYWNrZW5kIHNjcmVlbiBjb25maWcgT1IgbW9kdWxlIHJlYWRvbmx5IHN0YXR1cy5cclxuICAgIHByaXZhdGUgX3VwZGF0ZUhvc3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX21heVVwZGF0ZUhvc3QoKSB8fCB0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5vYmplY3RDb25maWdOYW1lID0gdGhpcy5zY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG15Q2ZnT2JqOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fY29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdCk7XHJcbiAgICAgICAgICAgIGlmIChteUNmZ09iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0SG9zdFZpc2libGUobXlDZmdPYmouaW1tZWRpYXRlbHlWaXNpYmxlKCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQucmVxdWlyZWQgPSBteUNmZ09iai5pc1JlcXVpcmVkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LnJlYWRvbmx5ID0gdGhpcy5ob3N0Q29tcG9uZW50LmZvcmNlUmVhZG9ubHkgfHwgdGhpcy5fbW9kdWxlSW5SZWFkb25seU1vZGUoKSB8fCBteUNmZ09iai5pc1JlYWRvbmx5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50LmRlY2ltYWxzID0gbXlDZmdPYmouc2NhbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Q29tcG9uZW50Lm1heExlbmd0aCA9IG15Q2ZnT2JqLm1heExlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3RDb21wb25lbnQuZGVmYXVsdFZhbHVlID0gbXlDZmdPYmouZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgnY29uZmlnT2JqZWN0JyBpbiB0aGlzLmhvc3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5jb25maWdPYmplY3QgPSBteUNmZ09iajtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRIb3N0VmlzaWJsZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5yZWFkb25seSA9IHRoaXMuX21vZHVsZUluUmVhZG9ubHlNb2RlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGF3biBlcnJvciBtZXNzYWdlIHRvb2x0aXAgb250byBvdXIgaG9zdCBjb21wLCBpZiBhbnkgZXJyb3Igd2FzIG1lYW50IGZvciB0aGUgaG9zdCAoZm91bmQgYnkgc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdCk7XHJcbiAgICAgKiBAcGFyYW0gZXJyb3JWYWxpZGF0aW9uIEEgdG9wLWxldmVsIGZ1bGwgdmFsaWRhdGlvbiByZXN1bHQsIGVpdGhlciBmcm9tIHRoZSBiYWNrZW5kIG9yIGZyb20gc29tZSBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIGVycm9yLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zZXRFcnJvclJlZEJhY2tncm91bmRBZnRlclNjckNmZ1ZhbGlkYXRlKGVycm9yVmFsaWRhdGlvbjogVmFsaWRhdGlvblJlc3VsdCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmhvc3RDb21wb25lbnQgJiYgZXJyb3JWYWxpZGF0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXM6IFZhbGlkYXRpb25NZXNzYWdlW10gPSBlcnJvclZhbGlkYXRpb24uZ2V0QWxsRXJyb3JNZXNzYWdlc09mTXlWYWxpZGF0aW9uRmllbGRzKCk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gZXJyb3JNZXNzYWdlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2c6IFZhbGlkYXRpb25NZXNzYWdlID0gZXJyb3JNZXNzYWdlc1tpXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ05hbWU6IHN0cmluZyA9IHRoaXMuZGF0YU5hbWUgPyB0aGlzLmRhdGFOYW1lIDogdGhpcy5zY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0O1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTXNnLmZpZWxkSWQgPT09IGNvbmZpZ05hbWUgJiYgdGhpcy5fZWxlbWVudCAvKiYmIHRoaXMuX3Byb3Blckhvc3QoZXJyb3JNc2cuYm9JZCkqLykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5yZWRFcnJvckJhY2tncm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX21vZHVsZUluUmVhZG9ubHlNb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5ub01vZHVsZVNlcnZpY2UgPyAodGhpcy5fbW9kdWxlU2VydmljZSA/IHRoaXMuX21vZHVsZVNlcnZpY2UucmVhZG9ubHkgOiBmYWxzZSkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tYXlVcGRhdGVIb3N0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuaG9zdENvbXBvbmVudCAmJiAhdGhpcy5faXNUdXJuZWRPZmYgJiYgISF0aGlzLnNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0SG9zdFZpc2libGUodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5zY3JlZW5Db25maWdOYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9zdENvbXBvbmVudC5oaWRkZW4gPSAhdmlzaWJsZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZWxlbWVudCAmJiB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIGlmICghdmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBoaWRkZW46IGJvb2xlYW47XHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICByZWFkb25seTogYm9vbGVhbjtcclxuICBtYXhMZW5ndGg6IG51bWJlcjtcclxuICBkZWNpbWFsczogbnVtYmVyO1xyXG4gIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuICBjb25maWdPYmplY3Q/OiBPYmplY3RDb25maWd1cmF0aW9uO1xyXG5cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLmNvbXBvbmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbkRlZmF1bHRWYWx1ZVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3R5cGUvb2JqZWN0LWNvbmZpZ3VyYXRpb24tZGVmYXVsdC12YWx1ZS10eXBlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xyXG4gIGhpZGRlbjogYm9vbGVhbjtcclxuICByZXF1aXJlZDogYm9vbGVhbjtcclxuICBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIG1heExlbmd0aDogbnVtYmVyO1xyXG4gIGRlZmF1bHRWYWx1ZT86IE9iamVjdENvbmZpZ3VyYXRpb25EZWZhdWx0VmFsdWVUeXBlO1xyXG4gIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xyXG4gIGNvbmZpZ09iamVjdD86IE9iamVjdENvbmZpZ3VyYXRpb247XHJcblxyXG59XHJcbiJdfQ==
@@ -101,7 +101,7 @@ export class BaseModuleScreenConfigService {
101
101
  }
102
102
  getDefaultValue(configName) {
103
103
  const objectConfig = this._objectConfigsMap.get(configName);
104
- return objectConfig ? objectConfig.getDefaultValue() : undefined;
104
+ return objectConfig ? objectConfig.defaultValue : undefined;
105
105
  }
106
106
  getDefaultStringValue(configName) {
107
107
  const objectConfig = this._objectConfigsMap.get(configName);
@@ -202,4 +202,4 @@ export class BaseModuleScreenConfigService {
202
202
  BaseModuleScreenConfigService.decorators = [
203
203
  { type: Injectable }
204
204
  ];
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2R1bGUtc2NyZWVuLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UtbW9kdWxlLXNjcmVlbi1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUpBQWlKO0FBQ2pKLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBVSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFNM0UsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFHN0YsTUFBTSxPQUFnQiw2QkFBNkI7SUFEbkQ7UUFLSSxnRkFBZ0Y7UUFDaEUsY0FBUyxHQUEyQyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFRM0csbUJBQWMsR0FBMEIsRUFBRSxDQUFDO1FBRW5ELHVKQUF1SjtRQUMvSSxzQkFBaUIsR0FBcUMsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFtTnpHLENBQUM7SUE1TkcsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBU0QsMEVBQTBFO0lBQzdELFVBQVUsQ0FBQyxTQUFtQix1Q0FBdUMsRUFBRSxZQUFzQjs7WUFDdEcsTUFBTSxhQUFhLEdBQTBCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxJQUFJLGFBQWEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUMvQyxJ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QUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTSxJQUFJLGVBQWUsRUFBRTtZQUN4QixNQUFNLGFBQWEsR0FBd0IsZUFBZSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7WUFDckcsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFXLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEUsTUFBTSxRQUFRLEdBQXNCLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsTUFBTSxZQUFZLEdBQXdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BILElBQUksWUFBWSxFQUFFO29CQUNkLE1BQU0sSUFBSSxHQUF3QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksbUJBQW1CLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztvQkFDaEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ2pFO2FBQ0o7U0FDSjtJQUNMLENBQUM7OztZQW5PSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZSBzY3JlZW4gY29uZmlndXJhdGlvbiBzZXJ2aWNlIGZvciBvbmUgXCJzY3JlZW4gbW9kdWxlXCIsIGUuZy4gJ0NybScuIERiLWxvYWRzLCBzdG9yZXMgYW5kIGFuZCBpbnRlcnByZXRzIE9iamVjdENvbmZpZ3VyYXRpb24gY29uZmlnIG9iamVjdHMuXHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9hcnJheS11dGlscyc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2J1c2luZXNzLW9iamVjdCc7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHQnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ3VyYXRpb25EZWZhdWx0VmFsdWVUeXBlfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC90eXBlL29iamVjdC1jb25maWd1cmF0aW9uLWRlZmF1bHQtdmFsdWUtdHlwZSc7XHJcbmltcG9ydCB7T2JqZWN0Q29uZmlnS2luZH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvZW51bS9vYmplY3QtY29uZmlnLWtpbmQnO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25NZXNzYWdlfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC92YWxpZGF0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQge0RFRkFVTFRfR0VUX09CSkVDVF9DT05GSUdVUkFUSU9OX1BBUkFNU30gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGVmYXVsdC1nZXQtb2JqZWN0LWNvbmZpZ3VyYXRpb25zLXBhcmFtcyc7XHJcbmltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbn0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb2JqZWN0LWNvbmZpZ3VyYXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1vZHVsZVNjcmVlbkNvbmZpZ1NlcnZpY2Uge1xyXG4gICAgLy8gbWFudWFsbHkgZ2l2ZW4gbW9kdWxlIG5hbWVcclxuICAgIHB1YmxpYyBhYnN0cmFjdCBzY3JlZW5Nb2R1bGVOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gZW1pdHMgdGhlIHBhcmFtcyBvZiB0aGUgbG9hZGVkIGNvbmZpZywgZWFjaCB0aW1lIHdoZW4gYSBuZXcgY29uZmlnIHdhcyBsb2FkZWRcclxuICAgIHB1YmxpYyByZWFkb25seSBjb25maWdTZXQ6IEJlaGF2aW9yU3ViamVjdDxPYmplY3RDb25maWd1cmF0aW9uW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYmplY3RDb25maWd1cmF0aW9uW10+KFtdKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNvbmZpZ09iamVjdHMoKTogT2JqZWN0Q29uZmlndXJhdGlvbltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnT2JqZWN0cztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udHJvbFZhbGlkaXR5QnlCb01hcDoge2JvOiBCdXNpbmVzc09iamVjdCwgY29udHJvbEtleTogc3RyaW5nLCB2YWxpZDogYm9vbGVhbn1bXTtcclxuXHJcbiAgICBwcml2YXRlIF9jb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10gPSBbXTtcclxuXHJcbiAgICAvLyBrZXk6IGNvbmZpZ05hbWUsIHZhbHVlOiB0aGUgT2JqZWN0Q29uZmlndXJhdGlvbiB3aXRoIHRoYXQgY29uZmlnTmFtZS4gRm9yIGZhc3RlciBPYmplY3RDb25maWd1cmF0aW9uIGxvb2t1cHMsIGdpdmVuIGEgY29uZmlnTmFtZSBzdHJpbmcgKHZzLiBhcnJheSkuXHJcbiAgICBwcml2YXRlIF9vYmplY3RDb25maWdzTWFwOiBNYXA8c3RyaW5nLCBPYmplY3RDb25maWd1cmF0aW9uPiA9IG5ldyBNYXA8c3RyaW5nLCBPYmplY3RDb25maWd1cmF0aW9uPigpO1xyXG5cclxuICAgIC8vIFBPU1Q6IHRoaXMuY29uZmlnT2JqZWN0cyBhcmUgbG9hZGVkLiBSZXR1cm5zIHRoZSBsb2FkZWQgY29uZmlnIG9iamVjdHMuXHJcbiAgICBwdWJsaWMgYXN5bmMgbG9hZENvbmZpZyhwYXJhbXM6IHN0cmluZ1tdID0gREVGQVVMVF9HRVRfT0JKRUNUX0NPTkZJR1VSQVRJT05fUEFSQU1TLCBpbnNlcnRSaWdodHM/OiBib29sZWFuKTogUHJvbWlzZTxPYmplY3RDb25maWd1cmF0aW9uW10+IHtcclxuICAgICAgICBjb25zdCBjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10gPSBhd2FpdCB0aGlzLmxvYWRDb25maWdGb3JNb2R1bGUocGFyYW1zLCBpbnNlcnRSaWdodHMpO1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZ09iamVjdHMgPSBjb25maWdPYmplY3RzO1xyXG4gICAgICAgIGlmIChjb25maWdPYmplY3RzICYmIEFycmF5LmlzQXJyYXkoY29uZmlnT2JqZWN0cykpIHtcclxuICAgICAgICAgICAgdGhpcy5fYnVpbGRTY3JlZW5Db25maWdNYXAoKTtcclxuICAgICAgICAgICAgdGhpcy5jb25maWdTZXQubmV4dCh0aGlzLl9jb25maWdPYmplY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ09iamVjdHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGxhenlMb2FkQ29uZmlnKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5jb25maWdPYmplY3RzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRDb25maWcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzQWN0aXZlRmllbGRWYWxpZGF0aW9uT2JqZWN0KGNvbmZpZ09iamVjdDogT2JqZWN0Q29uZmlndXJhdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChjb25maWdPYmplY3QpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ09iamVjdC5pc0FjdGl2ZUZpZWxkVmFsaWRhdGlvbk9iamVjdCgpICYmICF0aGlzLmlzRGF0YU5hbWVIaWRkZW5CeUFueU9mSXRzUGFyZW50UnVicmljcyhjb25maWdPYmplY3QuZGF0YU5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNCb1ZhbGlkKGJvOiBCdXNpbmVzc09iamVjdCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xWYWxpZGl0eUJ5Qm9NYXAgJiYgIUFycmF5VXRpbHMuSXNFbXB0eUFycmF5KHRoaXMuY29udHJvbFZhbGlkaXR5QnlCb01hcCkpIHtcclxuICAgICAgICAgICAgY29uc3QgbWFwRW50cnk6IHtibzogQnVzaW5lc3NPYmplY3QsIGNvbnRyb2xLZXk6IHN0cmluZywgdmFsaWQ6IGJvb2xlYW59ID0gdGhpcy5jb250cm9sVmFsaWRpdHlCeUJvTWFwLmZpbmQodmFsdWUgPT4gdmFsdWUuYm8gPT09IGJvICYmIHZhbHVlLnZhbGlkID09PSBmYWxzZSk7XHJcbiAgICAgICAgICAgIGlmIChtYXBFbnRyeSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcEVudHJ5LnZhbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKGNvbmZpZ05hbWU6IHN0cmluZyk6IE9iamVjdENvbmZpZ3VyYXRpb24ge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuXHJcbiAgICAgICAgLy8gSWYgY29uZmlndXJhdGlvbiBub3QgZm91bmQgYnkgY29uZmlnbmFtZSwgdHJ5IGJ5IGRhdGEgbmFtZVxyXG4gICAgICAgIGlmICghIXRoaXMuX29iamVjdENvbmZpZ3NNYXAuc2l6ZSAmJiAhY29uZmlndXJhdGlvbiAmJiBjb25maWdOYW1lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ05hbWVCeURhdGFOYW1lOiBzdHJpbmcgPSB0aGlzLl9nZXRDb25maWdOYW1lQnlEYXRhTmFtZShjb25maWdOYW1lKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lQnlEYXRhTmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lQnlEYXRhTmFtZSk7XHJcbiAgICAgICAgICAgIH0gLyplbHNlIGlmICghZW52aXJvbm1lbnQucHJvZHVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiTm8gY29uZmlndXJhdGlvbiBvYmplY3Qgd2FzIGZvdW5kIGJ5IHRoZSBuYW1lIG9mOiBcIiwgY29uZmlnTmFtZSwgXCIgb3IgZGF0YW5hbWUgXCIsIGNvbmZpZ05hbWVCeURhdGFOYW1lKTtcclxuICAgICAgICAgICAgfSovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcihjb25maWdOYW1lOiBzdHJpbmcsIGNvbmZpZ09iamVjdDogT2JqZWN0Q29uZmlndXJhdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29iamVjdENvbmZpZ3NNYXAuc2V0KGNvbmZpZ05hbWUsIGNvbmZpZ09iamVjdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV2hldGhlciB0aGUgdXNlciBtYXkgcmVhZCB0aGUgY29tcG9uZW50IHRoYXQncyBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gY29uZmlnIG9iamVjdCAodmlzaWJpbGl0eSkuXHJcbiAgICBwdWJsaWMgbWF5UmVhZChjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLm1heVJlYWQoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1JlYWRvbmx5KGNvbmZpZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5tYXlXcml0ZShjb25maWdOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXaGV0aGVyIHRoZSB1c2VyIG1heSB3cml0ZSBvbnRvIHRoZSBjb21wb25lbnQgdGhhdCdzIGFzc29jaWF0ZWQgd2l0aCBnaXZlbiBjb25maWcgb2JqZWN0LlxyXG4gICAgcHVibGljIG1heVdyaXRlKGNvbmZpZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyBvYmplY3RDb25maWcubWF5V3JpdGUoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gY29uZmlnIG9iamVjdCBzaG91bGQsIGZyb20gdGhlIHN0YXJ0LCBiZSB2aXNpYmxlIHRvIHRoZSB1c2VyLlxyXG4gICAgcHVibGljIGltbWVkaWF0ZWx5VmlzaWJsZShjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLmltbWVkaWF0ZWx5VmlzaWJsZSgpIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV2hldGhlciB0aGUgY29tcG9uZW50IGFzc29jaWF0ZWQgd2l0aCBnaXZlbiBjb25maWcgb2JqZWN0IHNob3VsZCwgZnJvbSB0aGUgc3RhcnQsIGJlIHZpc2libGUgdG8gdGhlIHVzZXIuXHJcbiAgICBwdWJsaWMgaW1tZWRpYXRlbHlIaWRkZW4oY29uZmlnTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5pbW1lZGlhdGVseUhpZGRlbigpIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5vUmlnaHRzKGNvbmZpZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyBvYmplY3RDb25maWcubm9SaWdodHMoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0hpZGRlbihjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuaW1tZWRpYXRlbHlWaXNpYmxlKGNvbmZpZ05hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1JlcXVpcmVkKGNvbmZpZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyAhb2JqZWN0Q29uZmlnLm51bGxhYmxlIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldERlZmF1bHRWYWx1ZShjb25maWdOYW1lOiBzdHJpbmcpOiBPYmplY3RDb25maWd1cmF0aW9uRGVmYXVsdFZhbHVlVHlwZSB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5nZXREZWZhdWx0VmFsdWUoKSA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFN0cmluZ1ZhbHVlKGNvbmZpZ05hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5nZXREZWZhdWx0U3RyaW5nVmFsdWUoKSA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGVmYXVsdE51bWJlclZhbHVlKGNvbmZpZ05hbWU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5nZXREZWZhdWx0TnVtYmVyVmFsdWUoKSA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0TWF4TGVuZ3RoKGNvbmZpZ05hbWU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5tYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldERlY2ltYWxzKGNvbmZpZ05hbWU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5zY2FsZSA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFzQ29uZmlnT2JqZWN0cygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnT2JqZWN0cyAmJiB0aGlzLl9jb25maWdPYmplY3RzLmxlbmd0aCA+IDAgJiYgdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5zaXplID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNLaW5kKGNvbmZpZ05hbWU6IHN0cmluZywga2luZDogT2JqZWN0Q29uZmlnS2luZCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyBvYmplY3RDb25maWcuaXNLaW5kKGtpbmQpIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzRGF0YU5hbWVIaWRkZW5CeUl0c2VsZk9yQW55T2ZJdHNQYXJlbnRSdWJyaWNzKGRhdGFOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc0hpZGRlbkl0c2VsZjogYm9vbGVhbiA9IEFycmF5VXRpbHMuQ29udGFpbnNBbkVsZW1lbnRGb3VuZEJ5KHRoaXMuX2NvbmZpZ09iamVjdHMsICgoaXRlbTogT2JqZWN0Q29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbS5kYXRhTmFtZSA9PT0gZGF0YU5hbWUgJiYgaXRlbS5pc0hpZGRlbigpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgICBpZiAoaXNIaWRkZW5JdHNlbGYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNEYXRhTmFtZUhpZGRlbkJ5QW55T2ZJdHNQYXJlbnRSdWJyaWNzKGRhdGFOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgZGVzY2VuZGFudHNcclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2FkQ29uZmlnRm9yTW9kdWxlKHBhcmFtczogc3RyaW5nW10sIGluc2VydFJpZ2h0cz86IGJvb2xlYW4pOiBQcm9taXNlPE9iamVjdENvbmZpZ3VyYXRpb25bXT47XHJcblxyXG4gICAgcHJpdmF0ZSBpc0RhdGFOYW1lSGlkZGVuQnlBbnlPZkl0c1BhcmVudFJ1YnJpY3MoZGF0YU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIGlmICh0aGlzLl9oYXJkQ29kZWRDb25maWdTdHJ1Y3R1cmUpIHtcclxuICAgICAgICAvLyAgICAgY29uc3QgcGFyZW50Q29uZmlnTmFtZXM6IHN0cmluZ1tdID0gdGhpcy5faGFyZENvZGVkQ29uZmlnU3RydWN0dXJlLmdldFBhcmVudENvbmZpZ05hbWVzT2ZGaWVsZENvbmZpZ05hbWUodGhpcy5fZ2V0Q29uZmlnTmFtZUJ5RGF0YU5hbWUoZGF0YU5hbWUpKTtcclxuICAgICAgICAvLyAgICAgaWYgKHBhcmVudENvbmZpZ05hbWVzKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHBhcmVudENvbmZpZ05hbWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgY29uc3QgcGFyZW50Q29uZmlnT2JqOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHBhcmVudENvbmZpZ05hbWVzW2ldKTtcclxuICAgICAgICAvLyAgICAgICAgICAgICBpZiAocGFyZW50Q29uZmlnT2JqICYmIHBhcmVudENvbmZpZ09iai5pc0hpZGRlbigpKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXR1cm4gdGhlIGZpcnN0IGZvdW5kIGNvbmZpZyBuYW1lIGZvciBnaXZlbiBkYXRhIG5hbWVcclxuICAgIHByaXZhdGUgX2dldENvbmZpZ05hbWVCeURhdGFOYW1lKGRhdGFOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGl0c0NvbmZpZ09iamVjdDogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX2dldENvbmZpZ09iamVjdEJ5RGF0YU5hbWUoZGF0YU5hbWUpO1xyXG4gICAgICAgIGlmIChpdHNDb25maWdPYmplY3QpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGl0c0NvbmZpZ09iamVjdC5jb25maWdOYW1lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyByZXR1cm4gdGhlIGZpcnN0IGZvdW5kIGNvbmZpZyBvYmplY3Qgd2l0aCBnaXZlbiBkYXRhIG5hbWVcclxuICAgIHByaXZhdGUgX2dldENvbmZpZ09iamVjdEJ5RGF0YU5hbWUoZGF0YU5hbWU6IHN0cmluZyk6IE9iamVjdENvbmZpZ3VyYXRpb24ge1xyXG4gICAgICAgIHJldHVybiBBcnJheVV0aWxzLkZpbmQodGhpcy5fY29uZmlnT2JqZWN0cywgKGNmZ09iajogT2JqZWN0Q29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gY2ZnT2JqLmRhdGFOYW1lID09PSBkYXRhTmFtZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQUkU6IHRoaXMuY29uZmlnT2JqZWN0cyBpcyBsb2FkZWQuIFBPU1Q6IHRoaXMuX29iamVjdENvbmZpZ3NNYXAgY29udGFpbnMgdGhlIGxhdGVzdCBtYXAgb2YgY29uZmlnTmFtZSAtPiB0byAtPiBPYmplY3RDb25maWd1cmF0aW9uIGZvciBhIGxpdmUgc2NyZWVuIG1vZHVsZS5cclxuICAgIHByaXZhdGUgX2J1aWxkU2NyZWVuQ29uZmlnTWFwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29iamVjdENvbmZpZ3NNYXAuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmNvbmZpZ09iamVjdHMuZm9yRWFjaChpdGVtID0+IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuc2V0KGl0ZW0uY29uZmlnTmFtZSwgaXRlbSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRTY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0c1JlYWRPbmx5KHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maWdPYmplY3RzLmZvckVhY2goKG9iamVjdDogT2JqZWN0Q29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb3B5OiBPYmplY3RDb25maWd1cmF0aW9uID0gT2JqZWN0LmFzc2lnbihuZXcgT2JqZWN0Q29uZmlndXJhdGlvbigpLCBvYmplY3QpO1xyXG4gICAgICAgICAgICBjb3B5LnZhcmlhYmxlUmVhZE9ubHkgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5zZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKG9iamVjdC5jb25maWdOYW1lLCBjb3B5KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdHNSZWRFcnJvckJhY2tncm91bmQoZXJyb3JWYWxpZGF0aW9uOiBWYWxpZGF0aW9uUmVzdWx0LCBzZXRBbGxGYWxzZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHNldEFsbEZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnT2JqZWN0cy5mb3JFYWNoKChvYmplY3Q6IE9iamVjdENvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHk6IE9iamVjdENvbmZpZ3VyYXRpb24gPSBPYmplY3QuYXNzaWduKG5ldyBPYmplY3RDb25maWd1cmF0aW9uKCksIG9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICBjb3B5LnJlZEVycm9yQmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKG9iamVjdC5jb25maWdOYW1lLCBjb3B5KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvclZhbGlkYXRpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlczogVmFsaWRhdGlvbk1lc3NhZ2VbXSA9IGVycm9yVmFsaWRhdGlvbi5nZXRBbGxFcnJvck1lc3NhZ2VzT2ZNeVZhbGlkYXRpb25GaWVsZHMoKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBlcnJvck1lc3NhZ2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1zZzogVmFsaWRhdGlvbk1lc3NhZ2UgPSBlcnJvck1lc3NhZ2VzW2ldO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29uZmlnT2JqZWN0OiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5jb25maWdPYmplY3RzLmZpbmQob2JqZWN0ID0+IG9iamVjdC5jb25maWdOYW1lID09PSBlcnJvck1zZy5maWVsZElkKTtcclxuICAgICAgICAgICAgICAgIGlmIChjb25maWdPYmplY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3B5OiBPYmplY3RDb25maWd1cmF0aW9uID0gT2JqZWN0LmFzc2lnbihuZXcgT2JqZWN0Q29uZmlndXJhdGlvbigpLCBjb25maWdPYmplY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvcHkucmVkRXJyb3JCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKGNvbmZpZ09iamVjdC5jb25maWdOYW1lLCBjb3B5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2R1bGUtc2NyZWVuLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UtbW9kdWxlLXNjcmVlbi1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUpBQWlKO0FBQ2pKLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBVSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFNM0UsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFHN0YsTUFBTSxPQUFnQiw2QkFBNkI7SUFEbkQ7UUFLSSxnRkFBZ0Y7UUFDaEUsY0FBUyxHQUEyQyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFRM0csbUJBQWMsR0FBMEIsRUFBRSxDQUFDO1FBRW5ELHVKQUF1SjtRQUMvSSxzQkFBaUIsR0FBcUMsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFtTnpHLENBQUM7SUE1TkcsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBU0QsMEVBQTBFO0lBQzdELFVBQVUsQ0FBQyxTQUFtQix1Q0FBdUMsRUFBRSxZQUFzQjs7WUFDdEcsTUFBTSxhQUFhLEdBQTBCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxJQUFJLGFBQWEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUMvQyxJ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QUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU0sSUFBSSxlQUFlLEVBQUU7WUFDeEIsTUFBTSxhQUFhLEdBQXdCLGVBQWUsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1lBQ3JHLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RFLE1BQU0sUUFBUSxHQUFzQixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELE1BQU0sWUFBWSxHQUF3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwSCxJQUFJLFlBQVksRUFBRTtvQkFDZCxNQUFNLElBQUksR0FBd0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLG1CQUFtQixFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7b0JBQ2hDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNqRTthQUNKO1NBQ0o7SUFDTCxDQUFDOzs7WUFuT0osVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2Ugc2NyZWVuIGNvbmZpZ3VyYXRpb24gc2VydmljZSBmb3Igb25lIFwic2NyZWVuIG1vZHVsZVwiLCBlLmcuICdDcm0nLiBEYi1sb2Fkcywgc3RvcmVzIGFuZCBhbmQgaW50ZXJwcmV0cyBPYmplY3RDb25maWd1cmF0aW9uIGNvbmZpZyBvYmplY3RzLlxyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvYXJyYXktdXRpbHMnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9idXNpbmVzcy1vYmplY3QnO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL3ZhbGlkYXRpb24tcmVzdWx0JztcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9uRGVmYXVsdFZhbHVlVHlwZX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdHlwZS9vYmplY3QtY29uZmlndXJhdGlvbi1kZWZhdWx0LXZhbHVlLXR5cGUnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ0tpbmR9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2VudW0vb2JqZWN0LWNvbmZpZy1raW5kJztcclxuaW1wb3J0IHtWYWxpZGF0aW9uTWVzc2FnZX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHtERUZBVUxUX0dFVF9PQkpFQ1RfQ09ORklHVVJBVElPTl9QQVJBTVN9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RlZmF1bHQtZ2V0LW9iamVjdC1jb25maWd1cmF0aW9ucy1wYXJhbXMnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ3VyYXRpb259IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlIHtcclxuICAgIC8vIG1hbnVhbGx5IGdpdmVuIG1vZHVsZSBuYW1lXHJcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2NyZWVuTW9kdWxlTmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8vIGVtaXRzIHRoZSBwYXJhbXMgb2YgdGhlIGxvYWRlZCBjb25maWcsIGVhY2ggdGltZSB3aGVuIGEgbmV3IGNvbmZpZyB3YXMgbG9hZGVkXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnU2V0OiBCZWhhdmlvclN1YmplY3Q8T2JqZWN0Q29uZmlndXJhdGlvbltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JqZWN0Q29uZmlndXJhdGlvbltdPihbXSk7XHJcblxyXG4gICAgcHVibGljIGdldCBjb25maWdPYmplY3RzKCk6IE9iamVjdENvbmZpZ3VyYXRpb25bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ09iamVjdHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnRyb2xWYWxpZGl0eUJ5Qm9NYXA6IHtibzogQnVzaW5lc3NPYmplY3QsIGNvbnRyb2xLZXk6IHN0cmluZywgdmFsaWQ6IGJvb2xlYW59W107XHJcblxyXG4gICAgcHJpdmF0ZSBfY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdID0gW107XHJcblxyXG4gICAgLy8ga2V5OiBjb25maWdOYW1lLCB2YWx1ZTogdGhlIE9iamVjdENvbmZpZ3VyYXRpb24gd2l0aCB0aGF0IGNvbmZpZ05hbWUuIEZvciBmYXN0ZXIgT2JqZWN0Q29uZmlndXJhdGlvbiBsb29rdXBzLCBnaXZlbiBhIGNvbmZpZ05hbWUgc3RyaW5nICh2cy4gYXJyYXkpLlxyXG4gICAgcHJpdmF0ZSBfb2JqZWN0Q29uZmlnc01hcDogTWFwPHN0cmluZywgT2JqZWN0Q29uZmlndXJhdGlvbj4gPSBuZXcgTWFwPHN0cmluZywgT2JqZWN0Q29uZmlndXJhdGlvbj4oKTtcclxuXHJcbiAgICAvLyBQT1NUOiB0aGlzLmNvbmZpZ09iamVjdHMgYXJlIGxvYWRlZC4gUmV0dXJucyB0aGUgbG9hZGVkIGNvbmZpZyBvYmplY3RzLlxyXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb25maWcocGFyYW1zOiBzdHJpbmdbXSA9IERFRkFVTFRfR0VUX09CSkVDVF9DT05GSUdVUkFUSU9OX1BBUkFNUywgaW5zZXJ0UmlnaHRzPzogYm9vbGVhbik6IFByb21pc2U8T2JqZWN0Q29uZmlndXJhdGlvbltdPiB7XHJcbiAgICAgICAgY29uc3QgY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdID0gYXdhaXQgdGhpcy5sb2FkQ29uZmlnRm9yTW9kdWxlKHBhcmFtcywgaW5zZXJ0UmlnaHRzKTtcclxuICAgICAgICB0aGlzLl9jb25maWdPYmplY3RzID0gY29uZmlnT2JqZWN0cztcclxuICAgICAgICBpZiAoY29uZmlnT2JqZWN0cyAmJiBBcnJheS5pc0FycmF5KGNvbmZpZ09iamVjdHMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2J1aWxkU2NyZWVuQ29uZmlnTWFwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnU2V0Lm5leHQodGhpcy5fY29uZmlnT2JqZWN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWdPYmplY3RzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBsYXp5TG9hZENvbmZpZygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnT2JqZWN0cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkQ29uZmlnKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0FjdGl2ZUZpZWxkVmFsaWRhdGlvbk9iamVjdChjb25maWdPYmplY3Q6IE9iamVjdENvbmZpZ3VyYXRpb24pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoY29uZmlnT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb25maWdPYmplY3QuaXNBY3RpdmVGaWVsZFZhbGlkYXRpb25PYmplY3QoKSAmJiAhdGhpcy5pc0RhdGFOYW1lSGlkZGVuQnlBbnlPZkl0c1BhcmVudFJ1YnJpY3MoY29uZmlnT2JqZWN0LmRhdGFOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzQm9WYWxpZChibzogQnVzaW5lc3NPYmplY3QpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sVmFsaWRpdHlCeUJvTWFwICYmICFBcnJheVV0aWxzLklzRW1wdHlBcnJheSh0aGlzLmNvbnRyb2xWYWxpZGl0eUJ5Qm9NYXApKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hcEVudHJ5OiB7Ym86IEJ1c2luZXNzT2JqZWN0LCBjb250cm9sS2V5OiBzdHJpbmcsIHZhbGlkOiBib29sZWFufSA9IHRoaXMuY29udHJvbFZhbGlkaXR5QnlCb01hcC5maW5kKHZhbHVlID0+IHZhbHVlLmJvID09PSBibyAmJiB2YWx1ZS52YWxpZCA9PT0gZmFsc2UpO1xyXG4gICAgICAgICAgICBpZiAobWFwRW50cnkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBFbnRyeS52YWxpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcihjb25maWdOYW1lOiBzdHJpbmcpOiBPYmplY3RDb25maWd1cmF0aW9uIHtcclxuICAgICAgICBjb25zdCBjb25maWd1cmF0aW9uOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcblxyXG4gICAgICAgIC8vIElmIGNvbmZpZ3VyYXRpb24gbm90IGZvdW5kIGJ5IGNvbmZpZ25hbWUsIHRyeSBieSBkYXRhIG5hbWVcclxuICAgICAgICBpZiAoISF0aGlzLl9vYmplY3RDb25maWdzTWFwLnNpemUgJiYgIWNvbmZpZ3VyYXRpb24gJiYgY29uZmlnTmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjb25maWdOYW1lQnlEYXRhTmFtZTogc3RyaW5nID0gdGhpcy5fZ2V0Q29uZmlnTmFtZUJ5RGF0YU5hbWUoY29uZmlnTmFtZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZUJ5RGF0YU5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZUJ5RGF0YU5hbWUpO1xyXG4gICAgICAgICAgICB9IC8qZWxzZSBpZiAoIWVudmlyb25tZW50LnByb2R1Y3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIk5vIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHdhcyBmb3VuZCBieSB0aGUgbmFtZSBvZjogXCIsIGNvbmZpZ05hbWUsIFwiIG9yIGRhdGFuYW1lIFwiLCBjb25maWdOYW1lQnlEYXRhTmFtZSk7XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IoY29uZmlnTmFtZTogc3RyaW5nLCBjb25maWdPYmplY3Q6IE9iamVjdENvbmZpZ3VyYXRpb24pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vYmplY3RDb25maWdzTWFwLnNldChjb25maWdOYW1lLCBjb25maWdPYmplY3QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFdoZXRoZXIgdGhlIHVzZXIgbWF5IHJlYWQgdGhlIGNvbXBvbmVudCB0aGF0J3MgYXNzb2NpYXRlZCB3aXRoIGdpdmVuIGNvbmZpZyBvYmplY3QgKHZpc2liaWxpdHkpLlxyXG4gICAgcHVibGljIG1heVJlYWQoY29uZmlnTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5tYXlSZWFkKCkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNSZWFkb25seShjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMubWF5V3JpdGUoY29uZmlnTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV2hldGhlciB0aGUgdXNlciBtYXkgd3JpdGUgb250byB0aGUgY29tcG9uZW50IHRoYXQncyBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gY29uZmlnIG9iamVjdC5cclxuICAgIHB1YmxpYyBtYXlXcml0ZShjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLm1heVdyaXRlKCkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXaGV0aGVyIHRoZSBjb21wb25lbnQgYXNzb2NpYXRlZCB3aXRoIGdpdmVuIGNvbmZpZyBvYmplY3Qgc2hvdWxkLCBmcm9tIHRoZSBzdGFydCwgYmUgdmlzaWJsZSB0byB0aGUgdXNlci5cclxuICAgIHB1YmxpYyBpbW1lZGlhdGVseVZpc2libGUoY29uZmlnTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5pbW1lZGlhdGVseVZpc2libGUoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gY29uZmlnIG9iamVjdCBzaG91bGQsIGZyb20gdGhlIHN0YXJ0LCBiZSB2aXNpYmxlIHRvIHRoZSB1c2VyLlxyXG4gICAgcHVibGljIGltbWVkaWF0ZWx5SGlkZGVuKGNvbmZpZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyBvYmplY3RDb25maWcuaW1tZWRpYXRlbHlIaWRkZW4oKSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBub1JpZ2h0cyhjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLm5vUmlnaHRzKCkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNIaWRkZW4oY29uZmlnTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmltbWVkaWF0ZWx5VmlzaWJsZShjb25maWdOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNSZXF1aXJlZChjb25maWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gIW9iamVjdENvbmZpZy5udWxsYWJsZSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXREZWZhdWx0VmFsdWUoY29uZmlnTmFtZTogc3RyaW5nKTogT2JqZWN0Q29uZmlndXJhdGlvbkRlZmF1bHRWYWx1ZVR5cGUge1xyXG4gICAgICAgIGNvbnN0IG9iamVjdENvbmZpZzogT2JqZWN0Q29uZmlndXJhdGlvbiA9IHRoaXMuX29iamVjdENvbmZpZ3NNYXAuZ2V0KGNvbmZpZ05hbWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RDb25maWcgPyBvYmplY3RDb25maWcuZGVmYXVsdFZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXREZWZhdWx0U3RyaW5nVmFsdWUoY29uZmlnTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLmdldERlZmF1bHRTdHJpbmdWYWx1ZSgpIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXREZWZhdWx0TnVtYmVyVmFsdWUoY29uZmlnTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLmdldERlZmF1bHROdW1iZXJWYWx1ZSgpIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRNYXhMZW5ndGgoY29uZmlnTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLm1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGVjaW1hbHMoY29uZmlnTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBvYmplY3RDb25maWc6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLl9vYmplY3RDb25maWdzTWFwLmdldChjb25maWdOYW1lKTtcclxuICAgICAgICByZXR1cm4gb2JqZWN0Q29uZmlnID8gb2JqZWN0Q29uZmlnLnNjYWxlIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYXNDb25maWdPYmplY3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWdPYmplY3RzICYmIHRoaXMuX2NvbmZpZ09iamVjdHMubGVuZ3RoID4gMCAmJiB0aGlzLl9vYmplY3RDb25maWdzTWFwLnNpemUgPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0tpbmQoY29uZmlnTmFtZTogc3RyaW5nLCBraW5kOiBPYmplY3RDb25maWdLaW5kKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0Q29uZmlnOiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5nZXQoY29uZmlnTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdENvbmZpZyA/IG9iamVjdENvbmZpZy5pc0tpbmQoa2luZCkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNEYXRhTmFtZUhpZGRlbkJ5SXRzZWxmT3JBbnlPZkl0c1BhcmVudFJ1YnJpY3MoZGF0YU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGlzSGlkZGVuSXRzZWxmOiBib29sZWFuID0gQXJyYXlVdGlscy5Db250YWluc0FuRWxlbWVudEZvdW5kQnkodGhpcy5fY29uZmlnT2JqZWN0cywgKChpdGVtOiBPYmplY3RDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmRhdGFOYW1lID09PSBkYXRhTmFtZSAmJiBpdGVtLmlzSGlkZGVuKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIGlmIChpc0hpZGRlbkl0c2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0RhdGFOYW1lSGlkZGVuQnlBbnlPZkl0c1BhcmVudFJ1YnJpY3MoZGF0YU5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBuZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBkZXNjZW5kYW50c1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRDb25maWdGb3JNb2R1bGUocGFyYW1zOiBzdHJpbmdbXSwgaW5zZXJ0UmlnaHRzPzogYm9vbGVhbik6IFByb21pc2U8T2JqZWN0Q29uZmlndXJhdGlvbltdPjtcclxuXHJcbiAgICBwcml2YXRlIGlzRGF0YU5hbWVIaWRkZW5CeUFueU9mSXRzUGFyZW50UnVicmljcyhkYXRhTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gaWYgKHRoaXMuX2hhcmRDb2RlZENvbmZpZ1N0cnVjdHVyZSkge1xyXG4gICAgICAgIC8vICAgICBjb25zdCBwYXJlbnRDb25maWdOYW1lczogc3RyaW5nW10gPSB0aGlzLl9oYXJkQ29kZWRDb25maWdTdHJ1Y3R1cmUuZ2V0UGFyZW50Q29uZmlnTmFtZXNPZkZpZWxkQ29uZmlnTmFtZSh0aGlzLl9nZXRDb25maWdOYW1lQnlEYXRhTmFtZShkYXRhTmFtZSkpO1xyXG4gICAgICAgIC8vICAgICBpZiAocGFyZW50Q29uZmlnTmFtZXMpIHtcclxuICAgICAgICAvLyAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gcGFyZW50Q29uZmlnTmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjb25zdCBwYXJlbnRDb25maWdPYmo6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IocGFyZW50Q29uZmlnTmFtZXNbaV0pO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGlmIChwYXJlbnRDb25maWdPYmogJiYgcGFyZW50Q29uZmlnT2JqLmlzSGlkZGVuKCkpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJldHVybiB0aGUgZmlyc3QgZm91bmQgY29uZmlnIG5hbWUgZm9yIGdpdmVuIGRhdGEgbmFtZVxyXG4gICAgcHJpdmF0ZSBfZ2V0Q29uZmlnTmFtZUJ5RGF0YU5hbWUoZGF0YU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgaXRzQ29uZmlnT2JqZWN0OiBPYmplY3RDb25maWd1cmF0aW9uID0gdGhpcy5fZ2V0Q29uZmlnT2JqZWN0QnlEYXRhTmFtZShkYXRhTmFtZSk7XHJcbiAgICAgICAgaWYgKGl0c0NvbmZpZ09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRzQ29uZmlnT2JqZWN0LmNvbmZpZ05hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHJldHVybiB0aGUgZmlyc3QgZm91bmQgY29uZmlnIG9iamVjdCB3aXRoIGdpdmVuIGRhdGEgbmFtZVxyXG4gICAgcHJpdmF0ZSBfZ2V0Q29uZmlnT2JqZWN0QnlEYXRhTmFtZShkYXRhTmFtZTogc3RyaW5nKTogT2JqZWN0Q29uZmlndXJhdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMuRmluZCh0aGlzLl9jb25maWdPYmplY3RzLCAoY2ZnT2JqOiBPYmplY3RDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBjZmdPYmouZGF0YU5hbWUgPT09IGRhdGFOYW1lO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBSRTogdGhpcy5jb25maWdPYmplY3RzIGlzIGxvYWRlZC4gUE9TVDogdGhpcy5fb2JqZWN0Q29uZmlnc01hcCBjb250YWlucyB0aGUgbGF0ZXN0IG1hcCBvZiBjb25maWdOYW1lIC0+IHRvIC0+IE9iamVjdENvbmZpZ3VyYXRpb24gZm9yIGEgbGl2ZSBzY3JlZW4gbW9kdWxlLlxyXG4gICAgcHJpdmF0ZSBfYnVpbGRTY3JlZW5Db25maWdNYXAoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuY29uZmlnT2JqZWN0cy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5fb2JqZWN0Q29uZmlnc01hcC5zZXQoaXRlbS5jb25maWdOYW1lLCBpdGVtKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFNjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RzUmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbmZpZ09iamVjdHMuZm9yRWFjaCgob2JqZWN0OiBPYmplY3RDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvcHk6IE9iamVjdENvbmZpZ3VyYXRpb24gPSBPYmplY3QuYXNzaWduKG5ldyBPYmplY3RDb25maWd1cmF0aW9uKCksIG9iamVjdCk7XHJcbiAgICAgICAgICAgIGNvcHkudmFyaWFibGVSZWFkT25seSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnNldE9iamVjdENvbmZpZ3VyYXRpb25Gb3Iob2JqZWN0LmNvbmZpZ05hbWUsIGNvcHkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRTY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0c1JlZEVycm9yQmFja2dyb3VuZChlcnJvclZhbGlkYXRpb246IFZhbGlkYXRpb25SZXN1bHQsIHNldEFsbEZhbHNlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoc2V0QWxsRmFsc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWdPYmplY3RzLmZvckVhY2goKG9iamVjdDogT2JqZWN0Q29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29weTogT2JqZWN0Q29uZmlndXJhdGlvbiA9IE9iamVjdC5hc3NpZ24obmV3IE9iamVjdENvbmZpZ3VyYXRpb24oKSwgb2JqZWN0KTtcclxuICAgICAgICAgICAgICAgIGNvcHkucmVkRXJyb3JCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldE9iamVjdENvbmZpZ3VyYXRpb25Gb3Iob2JqZWN0LmNvbmZpZ05hbWUsIGNvcHkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzOiBWYWxpZGF0aW9uTWVzc2FnZVtdID0gZXJyb3JWYWxpZGF0aW9uLmdldEFsbEVycm9yTWVzc2FnZXNPZk15VmFsaWRhdGlvbkZpZWxkcygpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGVycm9yTWVzc2FnZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTXNnOiBWYWxpZGF0aW9uTWVzc2FnZSA9IGVycm9yTWVzc2FnZXNbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWdPYmplY3Q6IE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLmNvbmZpZ09iamVjdHMuZmluZChvYmplY3QgPT4gb2JqZWN0LmNvbmZpZ05hbWUgPT09IGVycm9yTXNnLmZpZWxkSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZ09iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHk6IE9iamVjdENvbmZpZ3VyYXRpb24gPSBPYmplY3QuYXNzaWduKG5ldyBPYmplY3RDb25maWd1cmF0aW9uKCksIGNvbmZpZ09iamVjdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29weS5yZWRFcnJvckJhY2tncm91bmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IoY29uZmlnT2JqZWN0LmNvbmZpZ05hbWUsIGNvcHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==