@colijnit/sharedcomponents 258.1.13 → 258.1.15

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.
@@ -27,7 +27,7 @@ StockTabComponent.decorators = [
27
27
  <co-simple-grid-column [headerText]="'PERCEPTIBLE_STORAGE' | sharedLocalize" [field]="'perceptibleStorage'" [order]="15"></co-simple-grid-column>
28
28
  <co-simple-grid-column [headerText]="'DETAILS' | sharedLocalize" [field]="'locationNo'" [order]="16">
29
29
  <ng-template #template let-row="row">
30
- <span class="location-link" [textContent]="'OPEN_STOCK_DETAILS' | sharedLocalize" (click)="onLocationClick(row)"></span>
30
+ <co-button class="location-link" [screenConfigurationObject]="sharedCfgName.InventoryDetails" [label]="'OPEN_STOCK_DETAILS' | sharedLocalize" (click)="onLocationClick(row)"></co-button>
31
31
  </ng-template>
32
32
  </co-simple-grid-column>
33
33
  </co-simple-grid>
@@ -39,4 +39,4 @@ StockTabComponent.propDecorators = {
39
39
  articleStockInformation: [{ type: Input }],
40
40
  locationClicked: [{ type: Output }]
41
41
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stdGFiL3N0b2NrLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUF3QnBFLE1BQU0sT0FBTyxpQkFBaUI7SUF0QjlCO1FBd0JrQixrQkFBYSxHQUF5QixhQUFhLENBQUM7UUFHN0QsNEJBQXVCLEdBQXFCLEVBQUUsQ0FBQztRQUcvQyxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBTTVFLENBQUM7SUFIUSxlQUFlLENBQUMsSUFBb0I7UUFBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7c0NBS0UsS0FBSzs4QkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL3NoYXJlZC1jZmctbmFtZS5lbnVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay10YWJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImFydGljbGVTdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFt3aWR0aF09XCIxMDBcIiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VObydcIiBbb3JkZXJdPVwiMTBcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3dhcmVob3VzZU5hbWUnXCIgW29yZGVyXT1cIjExXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid0ZWNobmljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTJcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidhdmFpbGFibGVTdG9jaydcIiBbb3JkZXJdPVwiMTNcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRUNPTk9NSUNBTF9TVE9DSycgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInZWNvbm9taWNhbFN0b2NrJ1wiIFtvcmRlcl09XCIxNFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQRVJDRVBUSUJMRV9TVE9SQUdFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidwZXJjZXB0aWJsZVN0b3JhZ2UnXCIgW29yZGVyXT1cIjE1XCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFVEFJTFMnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTm8nXCIgW29yZGVyXT1cIjE2XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxvY2F0aW9uLWxpbmtcIiBbdGV4dENvbnRlbnRdPVwiJ09QRU5fU1RPQ0tfREVUQUlMUycgfCBzaGFyZWRMb2NhbGl6ZVwiIChjbGljayk9XCJvbkxvY2F0aW9uQ2xpY2socm93KVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tUYWJDb21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgc2hhcmVkQ2ZnTmFtZTogdHlwZW9mIFNoYXJlZENmZ05hbWUgPSBTaGFyZWRDZmdOYW1lO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9jYXRpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DbGljayhkYXRhOiBBcnRpY2xlU3RvY2tCbyk6IHZvaWQgeztcclxuICAgIHRoaXMubG9jYXRpb25DbGlja2VkLmVtaXQoZGF0YS53YXJlaG91c2VObyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stdGFiL3N0b2NrLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUF3QnBFLE1BQU0sT0FBTyxpQkFBaUI7SUF0QjlCO1FBd0JrQixrQkFBYSxHQUF5QixhQUFhLENBQUM7UUFHN0QsNEJBQXVCLEdBQXFCLEVBQUUsQ0FBQztRQUcvQyxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBTTVFLENBQUM7SUFIUSxlQUFlLENBQUMsSUFBb0I7UUFBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7c0NBS0UsS0FBSzs4QkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL3NoYXJlZC1jZmctbmFtZS5lbnVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay10YWJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImFydGljbGVTdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFt3aWR0aF09XCIxMDBcIiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VObydcIiBbb3JkZXJdPVwiMTBcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3dhcmVob3VzZU5hbWUnXCIgW29yZGVyXT1cIjExXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid0ZWNobmljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTJcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidhdmFpbGFibGVTdG9jaydcIiBbb3JkZXJdPVwiMTNcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRUNPTk9NSUNBTF9TVE9DSycgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInZWNvbm9taWNhbFN0b2NrJ1wiIFtvcmRlcl09XCIxNFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQRVJDRVBUSUJMRV9TVE9SQUdFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidwZXJjZXB0aWJsZVN0b3JhZ2UnXCIgW29yZGVyXT1cIjE1XCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFVEFJTFMnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTm8nXCIgW29yZGVyXT1cIjE2XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwibG9jYXRpb24tbGlua1wiIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cInNoYXJlZENmZ05hbWUuSW52ZW50b3J5RGV0YWlsc1wiIFtsYWJlbF09XCInT1BFTl9TVE9DS19ERVRBSUxTJyB8IHNoYXJlZExvY2FsaXplXCIgKGNsaWNrKT1cIm9uTG9jYXRpb25DbGljayhyb3cpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrVGFiQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHNoYXJlZENmZ05hbWU6IHR5cGVvZiBTaGFyZWRDZmdOYW1lID0gU2hhcmVkQ2ZnTmFtZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvY2F0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcblxyXG4gIHB1YmxpYyBvbkxvY2F0aW9uQ2xpY2soZGF0YTogQXJ0aWNsZVN0b2NrQm8pOiB2b2lkIHs7XHJcbiAgICB0aGlzLmxvY2F0aW9uQ2xpY2tlZC5lbWl0KGRhdGEud2FyZWhvdXNlTm8pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,11 +4,13 @@ import { StockService } from '../../../service/stock.service';
4
4
  import { StockManagementWarehouses } from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';
5
5
  import { SharedCfgName } from '../../../enum/shared-cfg-name.enum';
6
6
  import { SharedComponentsDictionaryService } from '../../../translation/shared-components-dictionary.service';
7
+ import { StockModuleScreenConfigService } from '../service/stock-module-screen-config.service';
7
8
  export class StockTabsComponent {
8
- constructor(_stockService, _dictionaryService, _changeDetector) {
9
+ constructor(_stockService, _dictionaryService, _changeDetector, _stockScreenConfigService) {
9
10
  this._stockService = _stockService;
10
11
  this._dictionaryService = _dictionaryService;
11
12
  this._changeDetector = _changeDetector;
13
+ this._stockScreenConfigService = _stockScreenConfigService;
12
14
  this.icons = Icon;
13
15
  this.stockInformation = [];
14
16
  this.warehouses = [];
@@ -28,6 +30,10 @@ export class StockTabsComponent {
28
30
  { title: this._dictionaryService.get('IN_ORDER'), active: false, cfg: SharedCfgName.InOrder },
29
31
  { title: this._dictionaryService.get('HISTORY'), active: false, cfg: SharedCfgName.History },
30
32
  ];
33
+ if (this._stockScreenConfigService.immediatelyHidden(this.tabs[0].cfg)) {
34
+ this.tabs[0].active = false;
35
+ this.tabs.find((tab) => this._stockScreenConfigService.immediatelyVisible(tab.cfg)).active = true;
36
+ }
31
37
  this.historyTabs = [
32
38
  { title: this._dictionaryService.get('STOCK'), active: true, cfg: SharedCfgName.HistoryStock },
33
39
  {
@@ -47,6 +53,10 @@ export class StockTabsComponent {
47
53
  cfg: SharedCfgName.HistoryAssign
48
54
  },
49
55
  ];
56
+ if (this._stockScreenConfigService.immediatelyHidden(this.historyTabs[0].cfg)) {
57
+ this.historyTabs[0].active = false;
58
+ this.historyTabs.find((tab) => this._stockScreenConfigService.immediatelyVisible(tab.cfg)).active = true;
59
+ }
50
60
  }
51
61
  onShowStockTransferChange(show) {
52
62
  this.showStockTransfer = show;
@@ -147,7 +157,8 @@ StockTabsComponent.decorators = [
147
157
  StockTabsComponent.ctorParameters = () => [
148
158
  { type: StockService },
149
159
  { type: SharedComponentsDictionaryService },
150
- { type: ChangeDetectorRef }
160
+ { type: ChangeDetectorRef },
161
+ { type: StockModuleScreenConfigService }
151
162
  ];
152
163
  StockTabsComponent.propDecorators = {
153
164
  stockInformation: [{ type: Input }],
@@ -159,4 +170,4 @@ StockTabsComponent.propDecorators = {
159
170
  sendMethodDialogClicked: [{ type: Output }],
160
171
  handleTransactionClick: [{ type: Output }]
161
172
  };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUkxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF5RTVHLE1BQU0sT0FBTyxrQkFBa0I7SUErQjdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUM7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3hGLDJCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9ELHNCQUFpQixHQUE4QixJQUFJLHlC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QkFBaUIsR0FBRyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQWdDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFvQztRQUN0RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQXJLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0VUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEvRU8sWUFBWTtZQU9aLGlDQUFpQztZQVZqQyxpQkFBaUI7OzsrQkFzRnRCLEtBQUs7c0JBR0wsS0FBSzswQkFHTCxLQUFLO2dDQUdMLEtBQUs7eUJBR0wsS0FBSztrQ0FHTCxNQUFNO3NDQUdOLE1BQU07cUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7VGFifSBmcm9tICcuLi8uLi90YWItYmFyL3RhYi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm8nO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vc2hhcmVkLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLXRhYnNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRhYi1iYXIgW3dhcmVIb3VzZUxhYmVsXT1cIidDSE9JQ0VTJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt3YXJlSG91c2VTZWFyY2hMYWJlbF09XCInU0VBUkNIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlUYWJzXT1cImhpc3RvcnlUYWJzXCJcclxuICAgICAgICAgICAgICAgIFtBY3RpdmF0ZVNlY29uZGFyeVRhYnNdPVwidGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dXYXJlaG91c2VTZWxlY3Rpb25dPVwidGFic1sxXS5hY3RpdmUgfHwgdGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgKHdhcmVob3VzZVNlbGVjdGVkKT1cImhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPjwvY28tdGFiLWJhcj5cclxuXHJcbiAgICA8Y28tc3RvY2stdGFiICpuZ0lmPVwidGFic1swXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIChsb2NhdGlvbkNsaWNrZWQpPVwiaGFuZGxlTG9jYXRpb25DbGlja2VkKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1wcm9nbm9zZSAqbmdJZj1cInRhYnNbMV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgPjwvY28tc3RvY2stcHJvZ25vc2U+XHJcblxyXG4gICAgPGNvLXN0b2NrLWxvY2F0aW9uICpuZ0lmPVwidGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3RvY2tUcmFuc2Zlcl09XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKT1cIm9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zdG9jay1sb2NhdGlvbj5cclxuXHJcbiAgICA8Y28tb3JkZXItdGFiICpuZ0lmPVwidGFic1szXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwidHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKGhhbmRsZVRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlVHJhbnNhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvY28tb3JkZXItdGFiPlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay10YWIgKm5nSWY9XCJ0YWJzWzRdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1sxXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWNvbW1pc3Npb24taGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzJdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbM10uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbNF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1hbGxvY2F0aW9uLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRNZXRob2REaWFsb2dDbGlja2VkOiBFdmVudEVtaXR0ZXI8UHJpbnRQcmljZVN0aWNrZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSBuZXcgU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gIHB1YmxpYyB0YWJzOiBUYWJbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaXN0b3J5VGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJzID0gW1xyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1ZFUlZJRVcnKSwgYWN0aXZlOiB0cnVlLCBjZmc6IFNoYXJlZENmZ05hbWUuT3ZlcnZpZXd9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfRk9SRUNBU1QnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeUZvcmVjYXN0fSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1NUT0NLX0RFVEFJTFMnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeURldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxSRUFEWV9JTl9PUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuT3ZlcnZpZXdEZXRhaWxzfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5Jbk9yZGVyfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0hJU1RPUlknKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3Rvcnl9LFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmhpc3RvcnlUYWJzID0gW1xyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0snKSwgYWN0aXZlOiB0cnVlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeVN0b2NrfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSX1NUT0NLJyksXHJcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeU9yZGVyU3RvY2tcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSX0NPTU1JU1NJT04nKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJDb21taXNzaW9uXHJcbiAgICAgIH0sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeU9yZGVyfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0FMTE9DQVRJT04nKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5QXNzaWduXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2Uoc2hvdzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9IHNob3c7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTG9jYXRpb25DbGlja2VkKGRhdGE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJzWzBdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJzWzJdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICBsZXQgd2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzID0gdGhpcy53YXJlSG91c2VGb3JDb2RlKHBhcnNlSW50KGRhdGEpKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSB3YXJlaG91c2U7XHJcbiAgICB0aGlzLmhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UpO1xyXG4gICAgdGhpcy5nZXRTdG9ja0RhdGEodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQoZXZlbnQ6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBldmVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0RhdGEod2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKHdhcmVob3VzZSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3YXJlSG91c2VGb3JDb2RlKGNvZGU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMud2FyZWhvdXNlcy5maW5kKHdhcmVob3VzZSA9PiB3YXJlaG91c2Uud2FyZWhvdXNlTm8gPT09IGNvZGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUkxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUcsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUF5RTdGLE1BQU0sT0FBTyxrQkFBa0I7SUErQjdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDLEVBQ2xDLHlCQUF5RDtRQUh6RCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBQ3JELG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQWdDO1FBbENuRCxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixH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QUM7SUFDakMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFvQztRQUN0RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQWhMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0VUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoRk8sWUFBWTtZQU9aLGlDQUFpQztZQVZqQyxpQkFBaUI7WUFXakIsOEJBQThCOzs7K0JBNEVuQyxLQUFLO3NCQUdMLEtBQUs7MEJBR0wsS0FBSztnQ0FHTCxLQUFLO3lCQUdMLEtBQUs7a0NBR0wsTUFBTTtzQ0FHTixNQUFNO3FDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ibyc7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RhYn0gZnJvbSAnLi4vLi4vdGFiLWJhci90YWIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm8nO1xyXG5pbXBvcnQge1ByaW50UHJpY2VTdGlja2Vyc30gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvJztcclxuaW1wb3J0IHtTaGFyZWRDZmdOYW1lfSBmcm9tICcuLi8uLi8uLi9lbnVtL3NoYXJlZC1jZmctbmFtZS5lbnVtJztcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7U3RvY2tNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3N0b2NrLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stdGFic1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tdGFiLWJhciBbd2FyZUhvdXNlTGFiZWxdPVwiJ0NIT0lDRVMnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgW3dhcmVIb3VzZVNlYXJjaExhYmVsXT1cIidTRUFSQ0gnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgW3RhYnNdPVwidGFic1wiXHJcbiAgICAgICAgICAgICAgICBbZGF0YVdhcmVIb3VzZUNvZGVdPVwid2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRXYXJlaG91c2VdPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgW3NlY29uZGFyeVRhYnNdPVwiaGlzdG9yeVRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW0FjdGl2YXRlU2Vjb25kYXJ5VGFic109XCJ0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd1dhcmVob3VzZVNlbGVjdGlvbl09XCJ0YWJzWzFdLmFjdGl2ZSB8fCB0YWJzWzJdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAod2FyZWhvdXNlU2VsZWN0ZWQpPVwiaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10YWItYmFyPlxyXG5cclxuICAgIDxjby1zdG9jay10YWIgKm5nSWY9XCJ0YWJzWzBdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgKGxvY2F0aW9uQ2xpY2tlZCk9XCJoYW5kbGVMb2NhdGlvbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zdG9jay10YWI+XHJcblxyXG4gICAgPGNvLXN0b2NrLXByb2dub3NlICpuZ0lmPVwidGFic1sxXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3YXJlaG91c2VOb109XCJzZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VOb1wiXHJcbiAgICA+PC9jby1zdG9jay1wcm9nbm9zZT5cclxuXHJcbiAgICA8Y28tc3RvY2stbG9jYXRpb24gKm5nSWY9XCJ0YWJzWzJdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3YXJlaG91c2VOb109XCJzZWxlY3RlZFdhcmVob3VzZS53YXJlaG91c2VOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVGbGF0XT1cImFydGljbGVGbGF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVdhcmVIb3VzZUNvZGVdPVwid2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTdG9ja1RyYW5zZmVyXT1cInNob3dTdG9ja1RyYW5zZmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRXYXJlaG91c2VdPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2Zlckljb25DbGlja2VkKT1cInRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2UpPVwib25TaG93U3RvY2tUcmFuc2ZlckNoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2NvLXN0b2NrLWxvY2F0aW9uPlxyXG5cclxuICAgIDxjby1vcmRlci10YWIgKm5nSWY9XCJ0YWJzWzNdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZCk9XCJzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoaGFuZGxlVHJhbnNhY3Rpb25DbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1vcmRlci10YWI+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLXRhYiAqbmdJZj1cInRhYnNbNF0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay10YWI+XHJcblxyXG4gICAgPGNvLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1swXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzFdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMl0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1jb21taXNzaW9uLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1szXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1vcmRlci1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1s0XS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLWFsbG9jYXRpb24tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd2FyZWhvdXNlczogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyA9IG5ldyBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcbiAgcHVibGljIHRhYnM6IFRhYltdID0gW107XHJcbiAgcHVibGljIGhpc3RvcnlUYWJzOiBUYWJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3N0b2NrU2NyZWVuQ29uZmlnU2VydmljZTogU3RvY2tNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPVkVSVklFVycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5PdmVydmlld30sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdTVE9DS19GT1JFQ0FTVCcpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5Rm9yZWNhc3R9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfREVUQUlMUycpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5RGV0YWlsc30sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdBTFJFQURZX0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5PdmVydmlld0RldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkluT3JkZXJ9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSElTVE9SWScpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeX0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLl9zdG9ja1NjcmVlbkNvbmZpZ1NlcnZpY2UuaW1tZWRpYXRlbHlIaWRkZW4odGhpcy50YWJzWzBdLmNmZykpIHtcclxuICAgICAgdGhpcy50YWJzWzBdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0aGlzLl9zdG9ja1NjcmVlbkNvbmZpZ1NlcnZpY2UuaW1tZWRpYXRlbHlWaXNpYmxlKHRhYi5jZmcpKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGlzdG9yeVRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdTVE9DSycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5U3RvY2t9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfU1RPQ0snKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJTdG9ja1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfQ09NTUlTU0lPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlPcmRlckNvbW1pc3Npb25cclxuICAgICAgfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJ9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxMT0NBVElPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlBc3NpZ25cclxuICAgICAgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMuX3N0b2NrU2NyZWVuQ29uZmlnU2VydmljZS5pbW1lZGlhdGVseUhpZGRlbih0aGlzLmhpc3RvcnlUYWJzWzBdLmNmZykpIHtcclxuICAgICAgdGhpcy5oaXN0b3J5VGFic1swXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5oaXN0b3J5VGFicy5maW5kKCh0YWIpID0+IHRoaXMuX3N0b2NrU2NyZWVuQ29uZmlnU2VydmljZS5pbW1lZGlhdGVseVZpc2libGUodGFiLmNmZykpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaG93U3RvY2tUcmFuc2ZlckNoYW5nZShzaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gc2hvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMb2NhdGlvbkNsaWNrZWQoZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYnNbMF0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRhYnNbMl0uYWN0aXZlID0gdHJ1ZTtcclxuICAgIGxldCB3YXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSB0aGlzLndhcmVIb3VzZUZvckNvZGUocGFyc2VJbnQoZGF0YSkpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IHdhcmVob3VzZTtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgICB0aGlzLmdldFN0b2NrRGF0YSh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVXYXJlaG91c2VTZWxlY3RlZChldmVudDogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrRGF0YSh3YXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQod2FyZWhvdXNlKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdhcmVIb3VzZUZvckNvZGUoY29kZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy53YXJlaG91c2VzLmZpbmQod2FyZWhvdXNlID0+IHdhcmVob3VzZS53YXJlaG91c2VObyA9PT0gY29kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==