@colijnit/sharedcomponents 259.1.0 → 259.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +307 -178
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +83 -82
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +84 -83
  6. package/esm2015/lib/businessobject/build-images-and-documentation-result.js +1 -1
  7. package/esm2015/lib/components/activity-list/activity-list.component.js +1 -1
  8. package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.component.js +1 -1
  9. package/esm2015/lib/components/file-upload/file-upload.component.js +1 -1
  10. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +2 -2
  11. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +2 -2
  12. package/esm2015/lib/components/files-upload/files-upload.component.js +1 -1
  13. package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +1 -1
  14. package/esm2015/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.js +1 -1
  15. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +1 -1
  16. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +1 -1
  17. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +1 -1
  18. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +8 -8
  19. package/esm2015/lib/components/stock/stock-transfer-allocated/stock-transfer-allocated.component.js +247 -0
  20. package/esm2015/lib/components/stock/stock.module.js +4 -2
  21. package/esm2015/lib/components/task-creator/task-creator.component.js +1 -1
  22. package/esm2015/lib/model/tag-tree-item.bo.js +1 -1
  23. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  24. package/esm2015/lib/service/shared.service.js +1 -1
  25. package/esm2015/lib/utils/co-document-shared-field-logic.js +1 -1
  26. package/fesm2015/colijnit-sharedcomponents.js +253 -13
  27. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  28. package/lib/businessobject/build-images-and-documentation-result.d.ts +1 -1
  29. package/lib/components/activity-list/activity-list.component.d.ts +1 -1
  30. package/lib/components/custom-pdf/custom-pdf-dialog.component.d.ts +1 -1
  31. package/lib/components/file-upload/file-upload.component.d.ts +1 -1
  32. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +1 -1
  33. package/lib/components/files-upload/components/base-file-upload.component.d.ts +1 -1
  34. package/lib/components/files-upload/files-upload.component.d.ts +1 -1
  35. package/lib/components/modify-task-form/modify-task-form.component.d.ts +1 -1
  36. package/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.d.ts +1 -1
  37. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +1 -1
  38. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +1 -1
  39. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +1 -1
  40. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +3 -3
  41. package/lib/components/stock/stock-transfer-allocated/stock-transfer-allocated.component.d.ts +57 -0
  42. package/lib/components/stock/style/_layout.scss +23 -0
  43. package/lib/components/task-creator/task-creator.component.d.ts +1 -1
  44. package/lib/model/tag-tree-item.bo.d.ts +1 -1
  45. package/lib/res/dictionary/dictionaries.d.ts +0 -2
  46. package/lib/service/shared.service.d.ts +1 -1
  47. package/lib/utils/co-document-shared-field-logic.d.ts +1 -1
  48. package/package.json +1 -1
  49. package/esm2015/lib/businessobject/co-document-right.bo.js +0 -3
  50. package/lib/businessobject/co-document-right.bo.d.ts +0 -6
@@ -0,0 +1,247 @@
1
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { StockService } from '../../../service/stock.service';
3
+ import { ArticleDetailsBo } from '@colijnit/articleapi/build/model/article-details.bo';
4
+ import { IconCacheService } from '../../../service/icon-cache.service';
5
+ import { Icon } from '../../../enum/icon.enum';
6
+ import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
7
+ import { CoreDialogService } from '@colijnit/corecomponents_v12';
8
+ import { SharedComponentsDictionaryService } from '../../../translation/shared-components-dictionary.service';
9
+ export class StockTransferAllocatedComponent {
10
+ constructor(_stockService, iconCacheService, _changeDetector, dialogService, dict) {
11
+ this._stockService = _stockService;
12
+ this.iconCacheService = iconCacheService;
13
+ this._changeDetector = _changeDetector;
14
+ this.dialogService = dialogService;
15
+ this.dict = dict;
16
+ this.selectedArticleDetailsData = new ArticleDetailsBo();
17
+ this.articleDetailsInformation = new ArticleStockManagement();
18
+ this.articleStockInfo = [];
19
+ this.stockLocations = [];
20
+ this.handleClick = new EventEmitter();
21
+ this.handleStickerClicked = new EventEmitter();
22
+ this.updateGridData = new EventEmitter();
23
+ this.showStockTransferChange = new EventEmitter();
24
+ this.showSendMethodDialog = false;
25
+ this.warehouses = [];
26
+ this.articleDetails = [];
27
+ this.transferFull = false;
28
+ this.stockState = [];
29
+ this.locations = [];
30
+ this.stockStatus = [];
31
+ this.icons = Icon;
32
+ }
33
+ ngAfterViewInit() {
34
+ let request = new ArticleStockManagement();
35
+ request.transId = this.articleTransaction.transId.toString();
36
+ request.lineId = this.articleTransaction.lineNr.toString();
37
+ this._stockService.getArticleDetails(request).then((result) => {
38
+ this.articleDetails = result;
39
+ if (result.length === 1) {
40
+ this.articleToTransfer[0] = result;
41
+ this._changeDetector.detectChanges();
42
+ this.articleToTransfer.amountTransfer = this.articleTransaction.amountInOrder;
43
+ }
44
+ });
45
+ this.getStockManagementWarehouses();
46
+ this.getStockState();
47
+ this.getStockManagementLocations();
48
+ }
49
+ onCloseClick() {
50
+ this.showStockTransferChange.emit(false);
51
+ }
52
+ handleOkClick(articleToTransfer) {
53
+ if (this.articleToTransfer.amountTransfer === this.articleTransaction.amountInOrder) {
54
+ this.articleToTransfer.lineId = this.articleTransaction.lineNr;
55
+ this.articleToTransfer.transId = this.articleTransaction.transId;
56
+ this._stockService.updateArticleDetails(articleToTransfer).then((result) => {
57
+ this.handleClick.emit();
58
+ this.showStockTransferChange.emit(false);
59
+ this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
60
+ this.articleStockInfo = details;
61
+ this.updateGridData.emit(details);
62
+ });
63
+ }).catch((result) => {
64
+ // Log failure message
65
+ });
66
+ }
67
+ else {
68
+ this.dialogService.showError(this.dict.get("AMOUNT_TO_TRANSFER_ALLOCATED_NOT_EQUAL"));
69
+ }
70
+ }
71
+ handleSelectedLocation(event) {
72
+ this.articleToTransfer.targetLocation = event.locationNo;
73
+ }
74
+ handleSelectedStockState(event) {
75
+ this.articleToTransfer.stockStateId = event.stockStateId;
76
+ }
77
+ handleStickerClick() {
78
+ this.handleStickerClicked.emit();
79
+ this.showSendMethodDialog = true;
80
+ }
81
+ getStockManagementWarehouses() {
82
+ this._stockService.getStockManagementWarehouses().then((warehouses) => {
83
+ this.warehouses = warehouses;
84
+ });
85
+ }
86
+ getStockManagementLocations() {
87
+ this._stockService.getStockManagementLocations(this.articleToTransfer.warehouseNo).then((locations) => {
88
+ this.stockLocations = locations;
89
+ });
90
+ }
91
+ getStockState() {
92
+ this._stockService.getStockState().then((state) => {
93
+ this.stockState = state;
94
+ });
95
+ }
96
+ }
97
+ StockTransferAllocatedComponent.decorators = [
98
+ { type: Component, args: [{
99
+ selector: 'co-stock-transfer-allocated',
100
+ template: `
101
+ <div class="stock-transfer">
102
+ <co-dialog
103
+ (closeClick)="onCloseClick()"
104
+ [showCloseIcon]="true"
105
+ [modal]="true"
106
+ [headerTemplate]="headerTemplate"
107
+ [footerTemplate]="footerTemplate">
108
+ <ng-template #headerTemplate>
109
+ <div class="co-dialog-header-title-wrapper">
110
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
111
+ <div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | sharedLocalize"></div>
112
+ </div>
113
+ </ng-template>
114
+ <div class="dialog-wrapper">
115
+ <div class="stock-transfer-allocated-columns" *ngIf="articleToTransfer">
116
+ <div class="stock-transfer-allocated-column" *ngFor="let articleDetail of articleDetails">
117
+ <div class="row">
118
+ <span class="bold" [textContent]="('STOREROOM' | sharedLocalize) + ': '"></span>
119
+ <span [textContent]="articleDetail.warehouseDescription"></span>
120
+ </div>
121
+
122
+
123
+ <div class="row" *ngIf="articleDetail.locationItem">
124
+ <span class="bold" [textContent]="('LOCATION' | sharedLocalize) + ': '"></span>
125
+ <span [textContent]="articleDetail.locationNo"></span>
126
+ </div>
127
+
128
+
129
+ <div class="row" *ngIf="articleDetail.batchItem">
130
+ <span class="bold" [textContent]="('BATCH_NO' | sharedLocalize) + ': '"></span>
131
+ <span [textContent]="articleDetail.batchNo"></span>
132
+ </div>
133
+
134
+
135
+ <div class="row">
136
+ <span class="bold" [textContent]="('ORDER_RULE' | sharedLocalize) + ': '"></span>
137
+ <span [textContent]="articleDetail.lineId"></span>
138
+ </div>
139
+
140
+ <div class="row">
141
+ <span class="bold" [textContent]="('AMOUNT' | sharedLocalize) + ': '"></span>
142
+ <span [textContent]="articleDetail.amountInStock"></span>
143
+ </div>
144
+
145
+ </div>
146
+
147
+ </div>
148
+
149
+ <div class="stock-transfer-columns" *ngIf="articleToTransfer">
150
+ <div *ngIf="articleToTransfer" class="stock-transfer-top-column">
151
+ <div class="transfer-quantity-allocated">
152
+ <co-input-number-picker
153
+ [readonly]="true"
154
+ [(model)]="articleToTransfer.amountTransfer"
155
+ [min]="1"
156
+ [label]="'QUANTITY' | sharedLocalize">
157
+ </co-input-number-picker>
158
+ <span *ngIf="transferFull" [textContent]="this.articleToTransfer.amountInStockFree + (' AVAILABLE' | sharedLocalize)"></span>
159
+ </div>
160
+ </div>
161
+ <div class="transfer-arrow-wrapper">
162
+ <span class="half-circle"></span>
163
+ <div class="icon-wrapper">
164
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ArrowDownRegular)"></co-icon>
165
+ </div>
166
+ </div>
167
+
168
+
169
+ <div class="stock-transfer-bottom-column">
170
+ <div class="transfer-bottom-row">
171
+ <co-list-of-values [collection]="stockLocations"
172
+ [displayField]="'locationNo'"
173
+ (modelChange)="handleSelectedLocation($event)"
174
+ [label]="'LOCATION' | sharedLocalize"
175
+ >
176
+ </co-list-of-values>
177
+ </div>
178
+ <div class="transfer-bottom-row">
179
+ <co-list-of-values [collection]="stockState"
180
+ [displayField]="'stateDescription'"
181
+ [label]="'STOCK_STATE' | sharedLocalize"
182
+ (modelChange)="handleSelectedStockState($event)"
183
+ >
184
+ </co-list-of-values>
185
+ </div>
186
+
187
+ </div>
188
+ <div class="transfer-sticker-buttons">
189
+ <co-button
190
+ [label]="'STICKER' | sharedLocalize"
191
+ (click)="handleStickerClick()"
192
+ [iconData]="iconCacheService.getIcon(icons.BarcodeReadRegular)">
193
+ </co-button>
194
+ </div>
195
+ </div>
196
+
197
+
198
+ </div>
199
+ <ng-template #footerTemplate>
200
+ <div class="button-wrapper ok-cancel-buttons">
201
+ <co-button class="save-button"
202
+ (click)="handleOkClick(articleToTransfer)"
203
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
204
+ </co-button>
205
+ <co-button class="cancel-button"
206
+ (click)="onCloseClick()"
207
+ [iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
208
+ </co-button>
209
+ </div>
210
+ </ng-template>
211
+ </co-dialog>
212
+ </div>
213
+ <co-send-method-dialog *ngIf="showSendMethodDialog"
214
+ (closeClick)="showSendMethodDialog = false">
215
+
216
+ </co-send-method-dialog>
217
+ `,
218
+ encapsulation: ViewEncapsulation.None
219
+ },] }
220
+ ];
221
+ StockTransferAllocatedComponent.ctorParameters = () => [
222
+ { type: StockService },
223
+ { type: IconCacheService },
224
+ { type: ChangeDetectorRef },
225
+ { type: CoreDialogService },
226
+ { type: SharedComponentsDictionaryService }
227
+ ];
228
+ StockTransferAllocatedComponent.propDecorators = {
229
+ stockSticker: [{ type: Input }],
230
+ article: [{ type: Input }],
231
+ articleToTransfer: [{ type: Input }],
232
+ articleTransaction: [{ type: Input }],
233
+ allWarehouses: [{ type: Input }],
234
+ showStockTransfer: [{ type: Input }],
235
+ selectedArticleDetailsData: [{ type: Input }],
236
+ articleFlat: [{ type: Input }],
237
+ articleDetailsInformation: [{ type: Input }],
238
+ selectedWarehouse: [{ type: Input }],
239
+ selectedLocationNo: [{ type: Input }],
240
+ articleStockInfo: [{ type: Input }],
241
+ stockLocations: [{ type: Input }],
242
+ handleClick: [{ type: Output }],
243
+ handleStickerClicked: [{ type: Output }],
244
+ updateGridData: [{ type: Output }],
245
+ showStockTransferChange: [{ type: Output }]
246
+ };
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdHJhbnNmZXItYWxsb2NhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLXRyYW5zZmVyLWFsbG9jYXRlZC9zdG9jay10cmFuc2Zlci1hbGxvY2F0ZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUlyRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFFakcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUE0SDVHLE1BQU0sT0FBTywrQkFBK0I7SUFrRTFDLFlBQ1UsYUFBMkIsRUFDNUIsZ0JBQWtDLEVBQ2pDLGVBQWtDLEVBQ25DLGFBQWdDLEVBQ2hDLElBQXVDO1FBSnRDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxTQUFJLEdBQUosSUFBSSxDQUFtQztRQWxEekMsK0JBQTBCLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQU10RSw4QkFBeUIsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBU2pGLHFCQUFnQixHQUF1QixFQUFFLENBQUM7UUFHMUMsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBR3JDLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkQseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0QsbUJBQWMsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHMUYsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV0RCx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsZUFBVSxHQUFnQyxFQUFFLENBQUM7UUFFN0MsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBRS9CLGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztRQUV2QixVQUFLLEdBQWdCLElBQUksQ0FBQztJQVMxQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksT0FBTyxHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDbkUsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdELE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUM3QixJQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7YUFDL0U7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxhQUFhLENBQUMsaUJBQW1DO1FBQ3RELElBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFO1lBQ2xGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7WUFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO2dCQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNwRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO29CQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDMUIsc0JBQXNCO1lBRXhCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQztTQUN2RjtJQUNILENBQUM7SUFHTSxzQkFBc0IsQ0FBQyxLQUFvQjtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDM0QsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEtBQWtCO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUMzRCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFHTSw0QkFBNEI7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwRyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBN1FGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFIVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdklPLFlBQVk7WUFNWixnQkFBZ0I7WUFSRCxpQkFBaUI7WUFhaEMsaUJBQWlCO1lBQ2pCLGlDQUFpQzs7OzJCQThIdEMsS0FBSztzQkFHTCxLQUFLO2dDQUdMLEtBQUs7aUNBR0wsS0FBSzs0QkFHTCxLQUFLO2dDQUdMLEtBQUs7eUNBR0wsS0FBSzswQkFHTCxLQUFLO3dDQUdMLEtBQUs7Z0NBR0wsS0FBSztpQ0FHTCxLQUFLOytCQUdMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxNQUFNO21DQUdOLE1BQU07NkJBR04sTUFBTTtzQ0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm8nO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm8nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24uYm8nO1xyXG5pbXBvcnQge0NvcmVEaWFsb2dTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXN0b2NrLXRyYW5zZmVyLWFsbG9jYXRlZCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyXCI+XHJcbiAgICAgICAgICA8Y28tZGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cIm9uQ2xvc2VDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DdWJlcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInVFJBTlNGRVJfU1RPQ0snIHwgc2hhcmVkTG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWFsbG9jYXRlZC1jb2x1bW5zXCIgKm5nSWY9XCJhcnRpY2xlVG9UcmFuc2ZlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWFsbG9jYXRlZC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgYXJ0aWNsZURldGFpbCBvZiBhcnRpY2xlRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2xkXCIgW3RleHRDb250ZW50XT1cIignU1RPUkVST09NJyB8IHNoYXJlZExvY2FsaXplKSArICc6ICdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlRGV0YWlsLndhcmVob3VzZURlc2NyaXB0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiYXJ0aWNsZURldGFpbC5sb2NhdGlvbkl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2xkXCIgW3RleHRDb250ZW50XT1cIignTE9DQVRJT04nIHwgc2hhcmVkTG9jYWxpemUpICsgJzogJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGVEZXRhaWwubG9jYXRpb25Ob1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImFydGljbGVEZXRhaWwuYmF0Y2hJdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9sZFwiIFt0ZXh0Q29udGVudF09XCIoJ0JBVENIX05PJyB8IHNoYXJlZExvY2FsaXplKSArICc6ICdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlRGV0YWlsLmJhdGNoTm9cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9sZFwiIFt0ZXh0Q29udGVudF09XCIoJ09SREVSX1JVTEUnIHwgc2hhcmVkTG9jYWxpemUpICsgJzogJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGVEZXRhaWwubGluZUlkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9sZFwiIFt0ZXh0Q29udGVudF09XCIoJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZSkgKyAnOiAnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZURldGFpbC5hbW91bnRJblN0b2NrXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItY29sdW1uc1wiICpuZ0lmPVwiYXJ0aWNsZVRvVHJhbnNmZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhcnRpY2xlVG9UcmFuc2ZlclwiIGNsYXNzPVwic3RvY2stdHJhbnNmZXItdG9wLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2Zlci1xdWFudGl0eS1hbGxvY2F0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuYW1vdW50VHJhbnNmZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidRVUFOVElUWScgfCBzaGFyZWRMb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHJhbnNmZXJGdWxsXCIgW3RleHRDb250ZW50XT1cInRoaXMuYXJ0aWNsZVRvVHJhbnNmZXIuYW1vdW50SW5TdG9ja0ZyZWUgKyAoJyBBVkFJTEFCTEUnIHwgc2hhcmVkTG9jYWxpemUpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNmZXItYXJyb3ctd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFsZi1jaXJjbGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RG93blJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay10cmFuc2Zlci1ib3R0b20tY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zZmVyLWJvdHRvbS1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtjb2xsZWN0aW9uXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2xvY2F0aW9uTm8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RlZExvY2F0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMT0NBVElPTicgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNmZXItYm90dG9tLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2NvbGxlY3Rpb25dPVwic3RvY2tTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidzdGF0ZURlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NUT0NLX1NUQVRFJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RlZFN0b2NrU3RhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2Zlci1zdGlja2VyLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NUSUNLRVInIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVN0aWNrZXJDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQmFyY29kZVJlYWRSZWd1bGFyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyIG9rLWNhbmNlbC1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT2tDbGljayhhcnRpY2xlVG9UcmFuc2ZlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhbmNlbC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZUNsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3NzU2tpbm55KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiPlxyXG5cclxuICAgICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RyYW5zZmVyQWxsb2NhdGVkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrU3RpY2tlcjogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVRvVHJhbnNmZXI6IEFydGljbGVEZXRhaWxzQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVUcmFuc2FjdGlvbjogQXJ0aWNsZVRyYW5zYWN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhOiBBcnRpY2xlRGV0YWlsc0JvID0gbmV3IEFydGljbGVEZXRhaWxzQm8oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50ID0gbmV3IEFydGljbGVTdG9ja01hbmFnZW1lbnQoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvOiBBcnRpY2xlRGV0YWlsc0JvW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdXBkYXRlR3JpZERhdGE6IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm9bXSA9IFtdO1xyXG4gIHB1YmxpYyB0cmFuc2ZlckZ1bGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RhdGU6IFN0b2NrU3RhdHVzW10gPSBbXTtcclxuXHJcbiAgcHVibGljIGxvY2F0aW9uczogU3RvY2tMb2NhdGlvbltdID0gW107XHJcbiAgcHVibGljIHN0b2NrU3RhdHVzOiBTdG9ja1N0YXR1c1tdID0gW107XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGljdDogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBsZXQgcmVxdWVzdDogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLmFydGljbGVUcmFuc2FjdGlvbi50cmFuc0lkLnRvU3RyaW5nKCk7XHJcbiAgICByZXF1ZXN0LmxpbmVJZCA9IHRoaXMuYXJ0aWNsZVRyYW5zYWN0aW9uLmxpbmVOci50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQXJ0aWNsZURldGFpbHNCb1tdKSA9PiB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZURldGFpbHMgPSByZXN1bHQ7XHJcbiAgICAgIGlmKHJlc3VsdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLmFydGljbGVUb1RyYW5zZmVyWzBdID0gcmVzdWx0O1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLmFydGljbGVUb1RyYW5zZmVyLmFtb3VudFRyYW5zZmVyID0gdGhpcy5hcnRpY2xlVHJhbnNhY3Rpb24uYW1vdW50SW5PcmRlcjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICAgIHRoaXMuZ2V0U3RvY2tTdGF0ZSgpO1xyXG4gICAgdGhpcy5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soYXJ0aWNsZVRvVHJhbnNmZXI6IEFydGljbGVEZXRhaWxzQm8pIHtcclxuICAgIGlmKHRoaXMuYXJ0aWNsZVRvVHJhbnNmZXIuYW1vdW50VHJhbnNmZXIgPT09IHRoaXMuYXJ0aWNsZVRyYW5zYWN0aW9uLmFtb3VudEluT3JkZXIpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlVG9UcmFuc2Zlci5saW5lSWQgPSB0aGlzLmFydGljbGVUcmFuc2FjdGlvbi5saW5lTnI7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVRvVHJhbnNmZXIudHJhbnNJZCA9IHRoaXMuYXJ0aWNsZVRyYW5zYWN0aW9uLnRyYW5zSWQ7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhhcnRpY2xlVG9UcmFuc2ZlcikudGhlbigocmVzdWx0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVDbGljay5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlckNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFydGljbGVTdG9ja0luZm8gPSBkZXRhaWxzO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YS5lbWl0KGRldGFpbHMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KS5jYXRjaCgocmVzdWx0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAvLyBMb2cgZmFpbHVyZSBtZXNzYWdlXHJcblxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93RXJyb3IodGhpcy5kaWN0LmdldChcIkFNT1VOVF9UT19UUkFOU0ZFUl9BTExPQ0FURURfTk9UX0VRVUFMXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRMb2NhdGlvbihldmVudDogU3RvY2tMb2NhdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlVG9UcmFuc2Zlci50YXJnZXRMb2NhdGlvbiA9IGV2ZW50LmxvY2F0aW9uTm87XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWRTdG9ja1N0YXRlKGV2ZW50OiBTdG9ja1N0YXR1cyk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlVG9UcmFuc2Zlci5zdG9ja1N0YXRlSWQgPSBldmVudC5zdG9ja1N0YXRlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlcykgPT4ge1xyXG4gICAgICB0aGlzLndhcmVob3VzZXMgPSB3YXJlaG91c2VzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLmFydGljbGVUb1RyYW5zZmVyLndhcmVob3VzZU5vKS50aGVuKChsb2NhdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IGxvY2F0aW9ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrU3RhdGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4oKHN0YXRlOiBTdG9ja1N0YXR1c1tdKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tTdGF0ZSA9IHN0YXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -26,6 +26,7 @@ import { StockPrognoseComponent } from './components/stock-prognose/stock-progno
26
26
  import { StockLocationPopupComponent } from './components/stock-location/components/stock-location-popup/stock-location-popup.component';
27
27
  import { SharedComponentsTranslationModule } from '../../translation/shared-components-translation.module';
28
28
  import { StockModuleScreenConfigService } from "./service/stock-module-screen-config.service";
29
+ import { StockTransferAllocatedComponent } from './stock-transfer-allocated/stock-transfer-allocated.component';
29
30
  export class StockModule {
30
31
  }
31
32
  StockModule.decorators = [
@@ -70,7 +71,8 @@ StockModule.decorators = [
70
71
  OrderStockHistoryComponent,
71
72
  AllocationStockHistoryComponent,
72
73
  StockPrognoseComponent,
73
- StockLocationPopupComponent
74
+ StockLocationPopupComponent,
75
+ StockTransferAllocatedComponent
74
76
  ],
75
77
  exports: [
76
78
  StockComponent
@@ -81,4 +83,4 @@ StockModule.decorators = [
81
83
  ]
82
84
  },] }
83
85
  ];
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsV0FBVyxFQUNYLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDMUksT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRGQUE0RixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBcUQ1RixNQUFNLE9BQU8sV0FBVzs7O1lBbkR2QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIsaUNBQWlDO29CQUNqQyxXQUFXO29CQUNYLHFCQUFxQjtvQkFDckIseUJBQXlCO2lCQUMxQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osY0FBYztvQkFDZCx5QkFBeUI7b0JBQ3pCLDZCQUE2QjtvQkFDN0Isc0JBQXNCO29CQUN0QiwwQkFBMEI7b0JBQzFCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLHlCQUF5QjtvQkFDekIsc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLHFCQUFxQjtvQkFDckIsZ0NBQWdDO29CQUNoQyxvQ0FBb0M7b0JBQ3BDLDBCQUEwQjtvQkFDMUIsK0JBQStCO29CQUMvQixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtpQkFDNUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGNBQWM7aUJBQ2Y7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULDhCQUE4QjtvQkFDOUIsWUFBWTtpQkFDYjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tDb21wb25lbnR9IGZyb20gJy4vc3RvY2suY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBCdXR0b25Nb2R1bGUsXHJcbiAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgQ29EaWFsb2dXaXphcmRNb2R1bGUsXHJcbiAgSWNvbk1vZHVsZSxcclxuICBJbWFnZU1vZHVsZSxcclxuICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gIElucHV0VGV4dE1vZHVsZSxcclxuICBMaXN0T2ZWYWx1ZXNNb2R1bGUsXHJcbiAgUG9wdXBNb2R1bGUsXHJcbiAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICBTaW1wbGVHcmlkTW9kdWxlLFxyXG59IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50fSBmcm9tICcuL3N0b2NrLWluZm9ybWF0aW9uL3N0b2NrLWluZm9ybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnR9IGZyb20gJy4vc3RvY2staW5mb3JtYXRpb24tZ3JpZC9zdG9jay1pbmZvcm1hdGlvbi1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N0b2NrVHJhbnNmZXJDb21wb25lbnR9IGZyb20gJy4vc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kRGlhbG9nTW9kdWxlfSBmcm9tICcuLi9zZW5kLW1ldGhvZC1kaWFsb2cvc2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7U3RvY2tDaGFuZ2VBbW91bnRDb21wb25lbnR9IGZyb20gJy4vc3RvY2stdHJhbnNmZXIvc3RvY2stY2hhbmdlLWFtb3VudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrVGFiQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stdGFiL3N0b2NrLXRhYi5jb21wb25lbnQnO1xyXG5pbXBvcnQge09yZGVyVGFiQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrVGFic0NvbXBvbmVudH0gZnJvbSAnLi9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50fSBmcm9tICcuL3N0b2NrLWhpc3RvcnktdGFicy9zdG9jay1oaXN0b3J5LXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtPcmRlclN0b2NrVGFiQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItc3RvY2stdGFiL29yZGVyLXN0b2NrLXRhYi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9zdG9jay1sb2NhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWhpc3Rvcnkvc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RhYkJhck1vZHVsZX0gZnJvbSAnLi4vdGFiLWJhci90YWItYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7T3JkZXJTdXBwbHlTdG9ja0hpc3RvcnlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge09yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS9vcmRlci1jb21taXNzaW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtPcmRlclN0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXN0b2NrLWhpc3Rvcnkvb3JkZXItc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0FsbG9jYXRpb25TdG9ja0hpc3RvcnlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RhdHVzYmFyTW9kdWxlfSBmcm9tICcuLi9zdGF0dXNiYXIvc3RhdHVzYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXNiYXJNb2R1bGV9IGZyb20gJy4uL3N0b2NrLXN0YXR1c2Jhci9zdG9jay1zdGF0dXNiYXIubW9kdWxlJztcclxuaW1wb3J0IHtTdG9ja1Byb2dub3NlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stcHJvZ25vc2Uvc3RvY2stcHJvZ25vc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9uUG9wdXBDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLXBvcHVwL3N0b2NrLWxvY2F0aW9uLXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy10cmFuc2xhdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1N0b2NrTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZX0gZnJvbSBcIi4vc2VydmljZS9zdG9jay1tb2R1bGUtc2NyZWVuLWNvbmZpZy5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBTaW1wbGVHcmlkTW9kdWxlLFxyXG4gICAgSW1hZ2VNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dXaXphcmRNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgVGFiQmFyTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBTdGF0dXNiYXJNb2R1bGUsXHJcbiAgICBTdG9ja1N0YXR1c2Jhck1vZHVsZSxcclxuICAgIExpc3RPZlZhbHVlc01vZHVsZSxcclxuICAgIFNoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgIFBvcHVwTW9kdWxlLFxyXG4gICAgSW5wdXREYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdG9ja0NvbXBvbmVudCxcclxuICAgIFN0b2NrSW5mb3JtYXRpb25Db21wb25lbnQsXHJcbiAgICBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCxcclxuICAgIFN0b2NrVHJhbnNmZXJDb21wb25lbnQsXHJcbiAgICBTdG9ja0NoYW5nZUFtb3VudENvbXBvbmVudCxcclxuICAgIFN0b2NrVGFiQ29tcG9uZW50LFxyXG4gICAgT3JkZXJUYWJDb21wb25lbnQsXHJcbiAgICBTdG9ja1RhYnNDb21wb25lbnQsXHJcbiAgICBTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50LFxyXG4gICAgT3JkZXJTdG9ja1RhYkNvbXBvbmVudCxcclxuICAgIFN0b2NrTG9jYXRpb25Db21wb25lbnQsXHJcbiAgICBTdG9ja0hpc3RvcnlDb21wb25lbnQsXHJcbiAgICBPcmRlclN1cHBseVN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyU3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIFN0b2NrUHJvZ25vc2VDb21wb25lbnQsXHJcbiAgICBTdG9ja0xvY2F0aW9uUG9wdXBDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFN0b2NrQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFN0b2NrTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSxcclxuICAgIFN0b2NrU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTW9kdWxlIHtcclxufVxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsV0FBVyxFQUNYLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDMUksT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRGQUE0RixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBc0Q5RyxNQUFNLE9BQU8sV0FBVzs7O1lBcER2QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIsaUNBQWlDO29CQUNqQyxXQUFXO29CQUNYLHFCQUFxQjtvQkFDckIseUJBQXlCO2lCQUMxQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osY0FBYztvQkFDZCx5QkFBeUI7b0JBQ3pCLDZCQUE2QjtvQkFDN0Isc0JBQXNCO29CQUN0QiwwQkFBMEI7b0JBQzFCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLHlCQUF5QjtvQkFDekIsc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLHFCQUFxQjtvQkFDckIsZ0NBQWdDO29CQUNoQyxvQ0FBb0M7b0JBQ3BDLDBCQUEwQjtvQkFDMUIsK0JBQStCO29CQUMvQixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtvQkFDM0IsK0JBQStCO2lCQUNoQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsY0FBYztpQkFDZjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsOEJBQThCO29CQUM5QixZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi9zdG9jay5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSxcclxuICBDb0RpYWxvZ01vZHVsZSxcclxuICBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICBJY29uTW9kdWxlLFxyXG4gIEltYWdlTW9kdWxlLFxyXG4gIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gIExpc3RPZlZhbHVlc01vZHVsZSxcclxuICBQb3B1cE1vZHVsZSxcclxuICBTY3JlZW5Db25maWd1cmF0aW9uTW9kdWxlLFxyXG4gIFNpbXBsZUdyaWRNb2R1bGUsXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1N0b2NrSW5mb3JtYXRpb25Db21wb25lbnR9IGZyb20gJy4vc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudH0gZnJvbSAnLi9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7U3RvY2tUcmFuc2ZlckNvbXBvbmVudH0gZnJvbSAnLi9zdG9jay10cmFuc2Zlci9zdG9jay10cmFuc2Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NlbmRNZXRob2REaWFsb2dNb2R1bGV9IGZyb20gJy4uL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtTdG9ja0NoYW5nZUFtb3VudENvbXBvbmVudH0gZnJvbSAnLi9zdG9jay10cmFuc2Zlci9zdG9jay1jaGFuZ2UtYW1vdW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tUYWJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay10YWIvc3RvY2stdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3JkZXJUYWJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci10YWIvb3JkZXItdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tUYWJzQ29tcG9uZW50fSBmcm9tICcuL3N0b2NrLXRhYnMvc3RvY2stdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeVRhYnNDb21wb25lbnR9IGZyb20gJy4vc3RvY2staGlzdG9yeS10YWJzL3N0b2NrLWhpc3RvcnktdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQge09yZGVyU3RvY2tUYWJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1zdG9jay10YWIvb3JkZXItc3RvY2stdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uL3N0b2NrLWxvY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2staGlzdG9yeS9zdG9jay1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFiQmFyTW9kdWxlfSBmcm9tICcuLi90YWItYmFyL3RhYi1iYXIubW9kdWxlJztcclxuaW1wb3J0IHtPcmRlclN1cHBseVN0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5L29yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItY29tbWlzc2lvbi1zdG9jay1oaXN0b3J5L29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge09yZGVyU3RvY2tIaXN0b3J5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItc3RvY2staGlzdG9yeS9vcmRlci1zdG9jay1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS9hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdGF0dXNiYXJNb2R1bGV9IGZyb20gJy4uL3N0YXR1c2Jhci9zdGF0dXNiYXIubW9kdWxlJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c2Jhck1vZHVsZX0gZnJvbSAnLi4vc3RvY2stc3RhdHVzYmFyL3N0b2NrLXN0YXR1c2Jhci5tb2R1bGUnO1xyXG5pbXBvcnQge1N0b2NrUHJvZ25vc2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1wcm9nbm9zZS9zdG9jay1wcm9nbm9zZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb25Qb3B1cENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tcG9wdXAvc3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzVHJhbnNsYXRpb25Nb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U3RvY2tNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlL3N0b2NrLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1RyYW5zZmVyQWxsb2NhdGVkQ29tcG9uZW50fSBmcm9tICcuL3N0b2NrLXRyYW5zZmVyLWFsbG9jYXRlZC9zdG9jay10cmFuc2Zlci1hbGxvY2F0ZWQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgIFNpbXBsZUdyaWRNb2R1bGUsXHJcbiAgICBJbWFnZU1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIFNlbmRNZXRob2REaWFsb2dNb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICBUYWJCYXJNb2R1bGUsXHJcbiAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgIFN0YXR1c2Jhck1vZHVsZSxcclxuICAgIFN0b2NrU3RhdHVzYmFyTW9kdWxlLFxyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgUG9wdXBNb2R1bGUsXHJcbiAgICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBTY3JlZW5Db25maWd1cmF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFN0b2NrQ29tcG9uZW50LFxyXG4gICAgU3RvY2tJbmZvcm1hdGlvbkNvbXBvbmVudCxcclxuICAgIFN0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50LFxyXG4gICAgU3RvY2tUcmFuc2ZlckNvbXBvbmVudCxcclxuICAgIFN0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50LFxyXG4gICAgU3RvY2tUYWJDb21wb25lbnQsXHJcbiAgICBPcmRlclRhYkNvbXBvbmVudCxcclxuICAgIFN0b2NrVGFic0NvbXBvbmVudCxcclxuICAgIFN0b2NrSGlzdG9yeVRhYnNDb21wb25lbnQsXHJcbiAgICBPcmRlclN0b2NrVGFiQ29tcG9uZW50LFxyXG4gICAgU3RvY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIFN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgT3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgT3JkZXJTdG9ja0hpc3RvcnlDb21wb25lbnQsXHJcbiAgICBBbGxvY2F0aW9uU3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgU3RvY2tQcm9nbm9zZUNvbXBvbmVudCxcclxuICAgIFN0b2NrTG9jYXRpb25Qb3B1cENvbXBvbmVudCxcclxuICAgIFN0b2NrVHJhbnNmZXJBbGxvY2F0ZWRDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFN0b2NrQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFN0b2NrTW9kdWxlU2NyZWVuQ29uZmlnU2VydmljZSxcclxuICAgIFN0b2NrU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -373,4 +373,4 @@ TaskCreatorComponent.propDecorators = {
373
373
  showClass: [{ type: HostBinding, args: ["class.co-task-creator",] }],
374
374
  hidden: [{ type: HostBinding, args: ['class.co-shared-hidden',] }]
375
375
  };
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlE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QUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOzs7WUF2WUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0RUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7b0JBQ2pCO3dCQUNFLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BEO2lCQUNGO2FBQ0Y7OztZQXZHTyxnQkFBZ0I7WUEwQmhCLGlDQUFpQztZQWRqQyxhQUFhO1lBSW5CLGlCQUFpQjtZQUVqQixpQkFBaUI7Ozt5QkF5RmhCLFNBQVMsU0FBQyxhQUFhO3FCQUd2QixLQUFLO3VCQUdMLEtBQUs7b0JBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyx1QkFBdUI7cUJBTW5DLFdBQVcsU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvJztcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZSc7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZW1hcmsuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7V29ya30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29yay5ibyc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ibyc7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHthY3Rpdml0eUVtYWlsUmVxdWVzdERhdGF9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLXJlcXVlc3QtZGF0YSc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC5ibyc7XHJcbmltcG9ydCB7XHJcbiAgQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgRm9ybUNvbXBvbmVudCxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtJY29uTGlzdEl0ZW19IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTIvbGliL21vZGVsL2ljb24tbGlzdC1pdGVtJztcclxuaW1wb3J0IHtBY3Rpdml0eUVtYWlsSGlzdG9yeX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktZW1haWwtaGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWVtYWlsLWF0dGFjaG1lbnQuYm8nO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvdXRpbHMvZmlsZS11dGlscyc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0VtYWlsQWN0aXZpdHlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtYWN0aXZpdHktcmVxdWVzdFwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRhc2stY3JlYXRvclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFzay1jcmVhdG9yLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvcC1yb3dzXCI+XHJcbiAgICAgICAgPGNvLWVtYWlsLXNlbGVjdG9yIFsoZW1haWxBZGRyZXNzZXMpXT1cImVtYWlsQWRkcmVzc2VzXCIgWyhiY2NFbWFpbEFkZHJlc3NlcyldPVwiYmNjRW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIj48L2NvLWVtYWlsLXNlbGVjdG9yPlxyXG4gICAgICAgIDxjby1mb3JtICNjcmVhdGVGb3JtIGNsYXNzPVwiY3JlYXRvci1yZW1hcmtzIGlucHV0LWZpZWxkc1wiPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtaWNvbnMgW2NvbGxlY3Rpb25dPVwib3B0aW9uQ29sbGVjdGlvblwiIChpdGVtU2VsZWN0ZWQpPVwiaXRlbVNlbGVjdGVkKCRldmVudClcIj48L2NvLWxpc3Qtb2YtaWNvbnM+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwicmVtYXJrVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYXJnZS1yZW1hcmtcIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1pbnB1dC1maWVsZHNcIiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0YXNrTmFtZVwiIFtwbGFjZWhvbGRlcl09XCInTkFNRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJ0YXNrRGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFyZ2UtcmVtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4dHJhcy1idXR0b25zXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQXR0YWNobWVudERpYWxvZygpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJkb2N1bWVudHMubGVuZ3RoID09PSAwID8gJycgOiBkb2N1bWVudHMubGVuZ3RoLnRvU3RyaW5nKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlV29ya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlc0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiXHJcbiAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50SGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiYXR0YWNobWVudEZvb3RlclRlbXBsYXRlXCI+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRIZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyY2xpcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0FUVEFDSE1FTlRTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgKGRvY3VtZW50c0FkZGVkKT1cImFkZGVkRG9jdW1lbnQoJGV2ZW50KVwiIChkb2N1bWVudERlbGV0ZWQpPVwiZGVsZXRlZERvY3VtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYXNrQ3JlYXRvckNvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgcHVibGljIGNyZWF0ZUZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UcmFuc2FjdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0FuZFdvcmtLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5VHlwZTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW1xyXG4gICAge2ljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNvbW1lbnRSZWd1bGFyKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUGVyc29uRGlnZ2luZ1JlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1dPUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuTGlzdFVsUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnVEFTSycsIHRydWUpfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZpbGVzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcbiAgcHVibGljIG9sZERvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG5cclxuICBwdWJsaWMgc2hvd0VtYWlsRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbmRlckFkZHJlc3M6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHB1YmxpYyBlbWFpbFJlcXVlc3Q6IGFjdGl2aXR5RW1haWxSZXF1ZXN0RGF0YSA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVkVGFzazogVGFzaztcclxuICBwdWJsaWMgY3JlYXRlZFJlbWFyazogUmVtYXJrO1xyXG4gIHB1YmxpYyBjcmVhdGVkV29yazogV29yaztcclxuICBwdWJsaWMgY2hvc2VuQWN0aXZpdHlUeXBlOiBJY29uTGlzdEl0ZW07XHJcblxyXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB3b3JrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdO1xyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KCdTRVJWSUNFX09SREVSJywgdGhpcy5yZW1hcmtBbmRXb3JrS2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaXRlbTogSWNvbkxpc3RJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkF0dGFjaG1lbnREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLm9sZERvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IHRydWVcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2xvc2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMub2xkRG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkZWREb2N1bWVudChkb2NzOiBDb0RvY3VtZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHMuY29uY2F0KGRvY3MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZWREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVSZW1hcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgcmVtYXJrOiBSZW1hcmsgPSB0aGlzLmNyZWF0ZVJlbWFyaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuUmVtYXJrO1xyXG4gICAgICBhY3Rpdml0eS5yZW1hcmsgPSByZW1hcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0UmVtYXJrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbih0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQsICdPUE1FUktJTkdFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlV29ya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gdGhpcy5jcmVhdGVXb3JrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5Xb3JrO1xyXG4gICAgICBhY3Rpdml0eS53b3JrID0gd29yaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFdvcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0V29yayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVBZnRlckNyZWF0aW9uKHRoaXMuY3JlYXRlZFdvcmsud29ya0lkLCAnV0VSS1pBQU1IRURFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkVGFzay50YXNrSWQsICdUQUtFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlbWFyaygpOiBSZW1hcmsge1xyXG4gICAgbGV0IHJlbWFyazogUmVtYXJrID0gbmV3IFJlbWFyaygpO1xyXG4gICAgcmVtYXJrLmF1dGhvciA9IHRoaXMuYXV0aG9yO1xyXG4gICAgcmVtYXJrLmF1dGhvci5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHJlbWFyay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHJlbWFyay5yZW1hcmsgPSB0aGlzLnJlbWFya1RleHQ7XHJcbiAgICByZW1hcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmVtYXJrLnRhYmxlID0gdGhpcy50YWJsZTtcclxuICAgIHJlbWFyay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcbiAgICByZW1hcmsucmVhZCA9IGZhbHNlO1xyXG4gICAgcmVtYXJrLmN1cnJlbnQgPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiByZW1hcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVdvcmsoKTogV29yayB7XHJcbiAgICBsZXQgd29yazogV29yayA9IG5ldyBXb3JrKCk7XHJcbiAgICB3b3JrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgd29yay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB3b3JrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgd29yay53b3JrZWRUaW1lID0gMDtcclxuICAgIHdvcmsud29ya0Rlc2NyaXB0aW9uID0gdGhpcy53b3JrRGVzY3JpcHRpb25cclxuICAgIHdvcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgd29yay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICB3b3JrLmtleSA9IHRoaXMucmVtYXJrQW5kV29ya0tleTtcclxuXHJcbiAgICByZXR1cm4gd29yaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVGFzaygpOiBUYXNrIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gbmV3IFRhc2soKTtcclxuICAgIHRhc2suZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZS5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRhc2sucmVwb3J0ZXIgPSB0aGlzLmF1dGhvcjtcclxuICAgIHRhc2sucmVwb3J0ZXIuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgdGFzay5uYW1lID0gdGhpcy50YXNrTmFtZTtcclxuICAgIHRhc2suZGVzY3JpcHRpb24gPSB0aGlzLnRhc2tEZXNjcmlwdGlvbjtcclxuICAgIHRhc2suY3JlYXRpb25EYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0YXNrLmRhdGVEZWZpbmF0ZSA9IGZhbHNlO1xyXG4gICAgdGFzay5uZWVkc1BsYW5uaW5nID0gdHJ1ZTtcclxuICAgIHRhc2sucHJpb3JpdHkgPSAwO1xyXG4gICAgdGFzay53b3JrZmxvd0NhdGVnb3J5ID0gdGhpcy53b3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuICAgIHRhc2sucmVmZXJlbmNlID0gdGhpcy50YXNrS2V5O1xyXG4gICAgdGFzay5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuZW1haWxBZGRyZXNzZXM7XHJcblxyXG4gICAgcmV0dXJuIHRhc2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFmdGVyQ3JlYXRpb24oYWN0aXZpdHlJZDogbnVtYmVyLCBhY3Rpdml0eVRhYmxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZpdHlDcmVhdGVkLmVtaXQoKTtcclxuICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoYWN0aXZpdHlJZCwgYWN0aXZpdHlUYWJsZSk7XHJcbiAgICB0aGlzLl9jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeShhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgdGVtcGxhdGVzOiBSZXBvcnRbXSA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXREZWZhdWx0RW1haWxSZXBvcnRUZW1wbGF0ZXNGb3JCcmFuY2godGhpcy5icmFuY2hObywgdGhpcy5maW5kUmVwb3J0VHlwZSgpKTtcclxuICAgICAgaWYgKHRlbXBsYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZTogUmVwb3J0ID0gdGhpcy5maW5kRGVmYXVsdCh0ZW1wbGF0ZXMpO1xyXG4gICAgICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zdGFydEVtYWlsaW5nKHRlbXBsYXRlLCBhY3Rpdml0eUlkLCBhY3Rpdml0eVRhYmxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IoJ05PX0RFRkFVTFRfRU1BSUxfVEVNUExBVEVfRk9SX1JFUE9SVCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmIChyLmlzRGVmYXVsdCkge1xyXG4gICAgICAgIGRlZmF1bHRUZW1wbGF0ZSA9IHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0LCBhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IEVtYWlsQWN0aXZpdHlSZXF1ZXN0ID0gdGhpcy5fY3JlYXRlRW1haWxQYXJhbXModGVtcGxhdGUsIGFjdGl2aXR5SWQsIGFjdGl2aXR5VGFibGUpXHJcbiAgICBjb25zdCBlbWFpbHNTZW50OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5lbWFpbEFjdGl2aXR5KHJlcXVlc3QpO1xyXG5cclxuICAgIGlmIChlbWFpbHNTZW50KSB7XHJcbiAgICAgIGxldCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSA9IG5ldyBBY3Rpdml0eUVtYWlsSGlzdG9yeSgpO1xyXG4gICAgICBoaXN0b3J5LnJlbWFya0lkID0gdGhpcy5jcmVhdGVkUmVtYXJrID8gdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkIDogdW5kZWZpbmVkO1xyXG4gICAgICBoaXN0b3J5LndvcmtJZCA9IHRoaXMuY3JlYXRlZFdvcmsgPyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCA6IHVuZGVmaW5lZDtcclxuICAgICAgaGlzdG9yeS50YXNrSWQgPSB0aGlzLmNyZWF0ZWRUYXNrID8gdGhpcy5jcmVhdGVkVGFzay50YXNrSWQgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxEYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGhpc3RvcnkubWVzc2FnZSA9ICdFbWFpbCBDb250ZW50IGNyZWF0ZWQgdmlhIFJlcG9ydCc7XHJcbiAgICAgIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsoaGlzdG9yeSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclRhc2soaGlzdG9yeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsUGFyYW1zKHRlbXBsYXRlOiBSZXBvcnQsIGFjdGl2aXR5SWQ6IG51bWJlciwgYWN0aXZpdHlUYWJsZTogc3RyaW5nKTogRW1haWxBY3Rpdml0eVJlcXVlc3R7XHJcbiAgICBsZXQgcmVxdWVzdDogRW1haWxBY3Rpdml0eVJlcXVlc3QgPSBuZXcgRW1haWxBY3Rpdml0eVJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZW1haWxTdWJqZWN0ID0gdGhpcy5fY3JlYXRlRW1haWxTdWJqZWN0KCk7XHJcbiAgICByZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5fY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgcmVxdWVzdC5iY2NBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5iY2NFbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICByZXF1ZXN0LmFjdGl2aXR5SWQgPSBhY3Rpdml0eUlkO1xyXG4gICAgcmVxdWVzdC5hY3Rpdml0eVRhYmxlTmFtZSA9IGFjdGl2aXR5VGFibGU7XHJcbiAgICByZXF1ZXN0LnJlcG9ydElkID0gdGVtcGxhdGUucmVwb3J0SWQ7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGlmIChhZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRW1haWxTdWJqZWN0KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3ViamVjdDogc3RyaW5nID0gXCJcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLnJlZmVyZW5jZSA6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJGaWVsZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbWFya1RleHQgPSBcIlwiO1xyXG4gICAgdGhpcy53b3JrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tEZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuZW1haWxSZXF1ZXN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUYXNrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlE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QUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOzs7WUF2WUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0RUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7b0JBQ2pCO3dCQUNFLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BEO2lCQUNGO2FBQ0Y7OztZQXZHTyxnQkFBZ0I7WUEwQmhCLGlDQUFpQztZQWRqQyxhQUFhO1lBSW5CLGlCQUFpQjtZQUVqQixpQkFBaUI7Ozt5QkF5RmhCLFNBQVMsU0FBQyxhQUFhO3FCQUd2QixLQUFLO3VCQUdMLEtBQUs7b0JBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyx1QkFBdUI7cUJBTW5DLFdBQVcsU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvJztcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZSc7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZW1hcmsuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7V29ya30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29yay5ibyc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ibyc7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHthY3Rpdml0eUVtYWlsUmVxdWVzdERhdGF9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLXJlcXVlc3QtZGF0YSc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC5ibyc7XHJcbmltcG9ydCB7XHJcbiAgQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgRm9ybUNvbXBvbmVudCxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtJY29uTGlzdEl0ZW19IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTIvbGliL21vZGVsL2ljb24tbGlzdC1pdGVtJztcclxuaW1wb3J0IHtBY3Rpdml0eUVtYWlsSGlzdG9yeX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktZW1haWwtaGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWVtYWlsLWF0dGFjaG1lbnQuYm8nO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvdXRpbHMvZmlsZS11dGlscyc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0VtYWlsQWN0aXZpdHlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtYWN0aXZpdHktcmVxdWVzdFwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRhc2stY3JlYXRvclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFzay1jcmVhdG9yLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvcC1yb3dzXCI+XHJcbiAgICAgICAgPGNvLWVtYWlsLXNlbGVjdG9yIFsoZW1haWxBZGRyZXNzZXMpXT1cImVtYWlsQWRkcmVzc2VzXCIgWyhiY2NFbWFpbEFkZHJlc3NlcyldPVwiYmNjRW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIj48L2NvLWVtYWlsLXNlbGVjdG9yPlxyXG4gICAgICAgIDxjby1mb3JtICNjcmVhdGVGb3JtIGNsYXNzPVwiY3JlYXRvci1yZW1hcmtzIGlucHV0LWZpZWxkc1wiPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtaWNvbnMgW2NvbGxlY3Rpb25dPVwib3B0aW9uQ29sbGVjdGlvblwiIChpdGVtU2VsZWN0ZWQpPVwiaXRlbVNlbGVjdGVkKCRldmVudClcIj48L2NvLWxpc3Qtb2YtaWNvbnM+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwicmVtYXJrVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYXJnZS1yZW1hcmtcIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1pbnB1dC1maWVsZHNcIiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0YXNrTmFtZVwiIFtwbGFjZWhvbGRlcl09XCInTkFNRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJ0YXNrRGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFyZ2UtcmVtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4dHJhcy1idXR0b25zXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQXR0YWNobWVudERpYWxvZygpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJkb2N1bWVudHMubGVuZ3RoID09PSAwID8gJycgOiBkb2N1bWVudHMubGVuZ3RoLnRvU3RyaW5nKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlV29ya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlc0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiXHJcbiAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50SGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiYXR0YWNobWVudEZvb3RlclRlbXBsYXRlXCI+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRIZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyY2xpcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0FUVEFDSE1FTlRTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgKGRvY3VtZW50c0FkZGVkKT1cImFkZGVkRG9jdW1lbnQoJGV2ZW50KVwiIChkb2N1bWVudERlbGV0ZWQpPVwiZGVsZXRlZERvY3VtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYXNrQ3JlYXRvckNvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgcHVibGljIGNyZWF0ZUZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UcmFuc2FjdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0FuZFdvcmtLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5VHlwZTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW1xyXG4gICAge2ljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNvbW1lbnRSZWd1bGFyKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUGVyc29uRGlnZ2luZ1JlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1dPUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuTGlzdFVsUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnVEFTSycsIHRydWUpfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZpbGVzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcbiAgcHVibGljIG9sZERvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG5cclxuICBwdWJsaWMgc2hvd0VtYWlsRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbmRlckFkZHJlc3M6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHB1YmxpYyBlbWFpbFJlcXVlc3Q6IGFjdGl2aXR5RW1haWxSZXF1ZXN0RGF0YSA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVkVGFzazogVGFzaztcclxuICBwdWJsaWMgY3JlYXRlZFJlbWFyazogUmVtYXJrO1xyXG4gIHB1YmxpYyBjcmVhdGVkV29yazogV29yaztcclxuICBwdWJsaWMgY2hvc2VuQWN0aXZpdHlUeXBlOiBJY29uTGlzdEl0ZW07XHJcblxyXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB3b3JrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdO1xyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KCdTRVJWSUNFX09SREVSJywgdGhpcy5yZW1hcmtBbmRXb3JrS2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaXRlbTogSWNvbkxpc3RJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkF0dGFjaG1lbnREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLm9sZERvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IHRydWVcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2xvc2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMub2xkRG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkZWREb2N1bWVudChkb2NzOiBDb0RvY3VtZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHMuY29uY2F0KGRvY3MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZWREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVSZW1hcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgcmVtYXJrOiBSZW1hcmsgPSB0aGlzLmNyZWF0ZVJlbWFyaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuUmVtYXJrO1xyXG4gICAgICBhY3Rpdml0eS5yZW1hcmsgPSByZW1hcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0UmVtYXJrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbih0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQsICdPUE1FUktJTkdFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlV29ya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gdGhpcy5jcmVhdGVXb3JrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5Xb3JrO1xyXG4gICAgICBhY3Rpdml0eS53b3JrID0gd29yaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFdvcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0V29yayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVBZnRlckNyZWF0aW9uKHRoaXMuY3JlYXRlZFdvcmsud29ya0lkLCAnV0VSS1pBQU1IRURFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkVGFzay50YXNrSWQsICdUQUtFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlbWFyaygpOiBSZW1hcmsge1xyXG4gICAgbGV0IHJlbWFyazogUmVtYXJrID0gbmV3IFJlbWFyaygpO1xyXG4gICAgcmVtYXJrLmF1dGhvciA9IHRoaXMuYXV0aG9yO1xyXG4gICAgcmVtYXJrLmF1dGhvci5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHJlbWFyay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHJlbWFyay5yZW1hcmsgPSB0aGlzLnJlbWFya1RleHQ7XHJcbiAgICByZW1hcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmVtYXJrLnRhYmxlID0gdGhpcy50YWJsZTtcclxuICAgIHJlbWFyay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcbiAgICByZW1hcmsucmVhZCA9IGZhbHNlO1xyXG4gICAgcmVtYXJrLmN1cnJlbnQgPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiByZW1hcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVdvcmsoKTogV29yayB7XHJcbiAgICBsZXQgd29yazogV29yayA9IG5ldyBXb3JrKCk7XHJcbiAgICB3b3JrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgd29yay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB3b3JrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgd29yay53b3JrZWRUaW1lID0gMDtcclxuICAgIHdvcmsud29ya0Rlc2NyaXB0aW9uID0gdGhpcy53b3JrRGVzY3JpcHRpb25cclxuICAgIHdvcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgd29yay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICB3b3JrLmtleSA9IHRoaXMucmVtYXJrQW5kV29ya0tleTtcclxuXHJcbiAgICByZXR1cm4gd29yaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVGFzaygpOiBUYXNrIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gbmV3IFRhc2soKTtcclxuICAgIHRhc2suZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZS5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRhc2sucmVwb3J0ZXIgPSB0aGlzLmF1dGhvcjtcclxuICAgIHRhc2sucmVwb3J0ZXIuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgdGFzay5uYW1lID0gdGhpcy50YXNrTmFtZTtcclxuICAgIHRhc2suZGVzY3JpcHRpb24gPSB0aGlzLnRhc2tEZXNjcmlwdGlvbjtcclxuICAgIHRhc2suY3JlYXRpb25EYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0YXNrLmRhdGVEZWZpbmF0ZSA9IGZhbHNlO1xyXG4gICAgdGFzay5uZWVkc1BsYW5uaW5nID0gdHJ1ZTtcclxuICAgIHRhc2sucHJpb3JpdHkgPSAwO1xyXG4gICAgdGFzay53b3JrZmxvd0NhdGVnb3J5ID0gdGhpcy53b3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuICAgIHRhc2sucmVmZXJlbmNlID0gdGhpcy50YXNrS2V5O1xyXG4gICAgdGFzay5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuZW1haWxBZGRyZXNzZXM7XHJcblxyXG4gICAgcmV0dXJuIHRhc2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFmdGVyQ3JlYXRpb24oYWN0aXZpdHlJZDogbnVtYmVyLCBhY3Rpdml0eVRhYmxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZpdHlDcmVhdGVkLmVtaXQoKTtcclxuICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoYWN0aXZpdHlJZCwgYWN0aXZpdHlUYWJsZSk7XHJcbiAgICB0aGlzLl9jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeShhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgdGVtcGxhdGVzOiBSZXBvcnRbXSA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXREZWZhdWx0RW1haWxSZXBvcnRUZW1wbGF0ZXNGb3JCcmFuY2godGhpcy5icmFuY2hObywgdGhpcy5maW5kUmVwb3J0VHlwZSgpKTtcclxuICAgICAgaWYgKHRlbXBsYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZTogUmVwb3J0ID0gdGhpcy5maW5kRGVmYXVsdCh0ZW1wbGF0ZXMpO1xyXG4gICAgICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zdGFydEVtYWlsaW5nKHRlbXBsYXRlLCBhY3Rpdml0eUlkLCBhY3Rpdml0eVRhYmxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IoJ05PX0RFRkFVTFRfRU1BSUxfVEVNUExBVEVfRk9SX1JFUE9SVCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmIChyLmlzRGVmYXVsdCkge1xyXG4gICAgICAgIGRlZmF1bHRUZW1wbGF0ZSA9IHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0LCBhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IEVtYWlsQWN0aXZpdHlSZXF1ZXN0ID0gdGhpcy5fY3JlYXRlRW1haWxQYXJhbXModGVtcGxhdGUsIGFjdGl2aXR5SWQsIGFjdGl2aXR5VGFibGUpXHJcbiAgICBjb25zdCBlbWFpbHNTZW50OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5lbWFpbEFjdGl2aXR5KHJlcXVlc3QpO1xyXG5cclxuICAgIGlmIChlbWFpbHNTZW50KSB7XHJcbiAgICAgIGxldCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSA9IG5ldyBBY3Rpdml0eUVtYWlsSGlzdG9yeSgpO1xyXG4gICAgICBoaXN0b3J5LnJlbWFya0lkID0gdGhpcy5jcmVhdGVkUmVtYXJrID8gdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkIDogdW5kZWZpbmVkO1xyXG4gICAgICBoaXN0b3J5LndvcmtJZCA9IHRoaXMuY3JlYXRlZFdvcmsgPyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCA6IHVuZGVmaW5lZDtcclxuICAgICAgaGlzdG9yeS50YXNrSWQgPSB0aGlzLmNyZWF0ZWRUYXNrID8gdGhpcy5jcmVhdGVkVGFzay50YXNrSWQgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxEYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGhpc3RvcnkubWVzc2FnZSA9ICdFbWFpbCBDb250ZW50IGNyZWF0ZWQgdmlhIFJlcG9ydCc7XHJcbiAgICAgIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsoaGlzdG9yeSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclRhc2soaGlzdG9yeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsUGFyYW1zKHRlbXBsYXRlOiBSZXBvcnQsIGFjdGl2aXR5SWQ6IG51bWJlciwgYWN0aXZpdHlUYWJsZTogc3RyaW5nKTogRW1haWxBY3Rpdml0eVJlcXVlc3R7XHJcbiAgICBsZXQgcmVxdWVzdDogRW1haWxBY3Rpdml0eVJlcXVlc3QgPSBuZXcgRW1haWxBY3Rpdml0eVJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZW1haWxTdWJqZWN0ID0gdGhpcy5fY3JlYXRlRW1haWxTdWJqZWN0KCk7XHJcbiAgICByZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5fY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgcmVxdWVzdC5iY2NBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5iY2NFbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICByZXF1ZXN0LmFjdGl2aXR5SWQgPSBhY3Rpdml0eUlkO1xyXG4gICAgcmVxdWVzdC5hY3Rpdml0eVRhYmxlTmFtZSA9IGFjdGl2aXR5VGFibGU7XHJcbiAgICByZXF1ZXN0LnJlcG9ydElkID0gdGVtcGxhdGUucmVwb3J0SWQ7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGlmIChhZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRW1haWxTdWJqZWN0KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3ViamVjdDogc3RyaW5nID0gXCJcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLnJlZmVyZW5jZSA6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJGaWVsZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbWFya1RleHQgPSBcIlwiO1xyXG4gICAgdGhpcy53b3JrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tEZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuZW1haWxSZXF1ZXN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUYXNrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -13,4 +13,4 @@ export class TagTreeItem extends TreeObject {
13
13
  __decorate([
14
14
  DateField()
15
15
  ], TagTreeItem.prototype, "creationDate", void 0);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXRyZWUtaXRlbS5iby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbC90YWctdHJlZS1pdGVtLmJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUVoRyxNQUFNLE9BQU8sV0FBWSxTQUFRLFVBQVU7SUFldkM7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhO0lBQ04sS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0o7QUFoQkc7SUFEQyxTQUFTLEVBQUU7aURBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RyZWVPYmplY3R9IGZyb20gXCIuL3RyZWUtb2JqZWN0XCI7XHJcbmltcG9ydCB7RGF0ZUZpZWxkfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9mYWN0b3J5L2RlY29yYXRvcnMvZGF0ZS1maWVsZC5kZWNvcmF0b3InO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhZ1RyZWVJdGVtIGV4dGVuZHMgVHJlZU9iamVjdCB7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyB0YWdUeXBlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcnVicmljSWQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBncm91cElkOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgdGFnSWQ6IG51bWJlcjtcclxuICAgIEBEYXRlRmllbGQoKVxyXG4gICAgcHVibGljIGNyZWF0aW9uRGF0ZTogRGF0ZTtcclxuICAgIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBudW1iZXJPZkNvdXBsZWRUYWdzOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgY291cGxlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBjb2xvcjogc3RyaW5nO1xyXG4gICAgcHVibGljIGltYWdlOiBDb0RvY3VtZW50O1xyXG4gICAgcHVibGljIHBhcmVudERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBAb3ZlcnJpZGVzXHJcbiAgICBwdWJsaWMgZ2V0SWQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50YWdJZDtcclxuICAgIH1cclxufVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXRyZWUtaXRlbS5iby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbC90YWctdHJlZS1pdGVtLmJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUVoRyxNQUFNLE9BQU8sV0FBWSxTQUFRLFVBQVU7SUFldkM7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxhQUFhO0lBQ04sS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0o7QUFoQkc7SUFEQyxTQUFTLEVBQUU7aURBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC5ib1wiO1xyXG5pbXBvcnQge1RyZWVPYmplY3R9IGZyb20gXCIuL3RyZWUtb2JqZWN0XCI7XHJcbmltcG9ydCB7RGF0ZUZpZWxkfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9mYWN0b3J5L2RlY29yYXRvcnMvZGF0ZS1maWVsZC5kZWNvcmF0b3InO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhZ1RyZWVJdGVtIGV4dGVuZHMgVHJlZU9iamVjdCB7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyB0YWdUeXBlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcnVicmljSWQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBncm91cElkOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgdGFnSWQ6IG51bWJlcjtcclxuICAgIEBEYXRlRmllbGQoKVxyXG4gICAgcHVibGljIGNyZWF0aW9uRGF0ZTogRGF0ZTtcclxuICAgIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBudW1iZXJPZkNvdXBsZWRUYWdzOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgY291cGxlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBjb2xvcjogc3RyaW5nO1xyXG4gICAgcHVibGljIGltYWdlOiBDb0RvY3VtZW50O1xyXG4gICAgcHVibGljIHBhcmVudERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBAb3ZlcnJpZGVzXHJcbiAgICBwdWJsaWMgZ2V0SWQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50YWdJZDtcclxuICAgIH1cclxufVxyXG4iXX0=