@colijnit/sharedcomponents 257.1.23 → 257.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +21 -12
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/send-method-dialog/components/pdf-preview/pdf-preview.component.js +11 -2
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +121 -123
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +4 -2
- package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
- package/fesm2015/colijnit-sharedcomponents.js +134 -125
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/send-method-dialog/components/pdf-preview/pdf-preview.component.d.ts +2 -0
- package/lib/res/dictionary/dictionaries.d.ts +4 -0
- package/package.json +1 -1
package/esm2015/lib/components/send-method-dialog/components/pdf-preview/pdf-preview.component.js
CHANGED
|
@@ -4,6 +4,7 @@ import { IconCacheService } from "../../../../service/icon-cache.service";
|
|
|
4
4
|
export class PdfPreviewComponent {
|
|
5
5
|
constructor(iconCacheService) {
|
|
6
6
|
this.iconCacheService = iconCacheService;
|
|
7
|
+
this._waitingToShowDialog = false;
|
|
7
8
|
this.disablePdfPreview = false;
|
|
8
9
|
this.showFilePreview = new EventEmitter();
|
|
9
10
|
this.icons = Icon;
|
|
@@ -15,20 +16,28 @@ export class PdfPreviewComponent {
|
|
|
15
16
|
set pdfDoc(value) {
|
|
16
17
|
if (value !== this._pdfDoc) {
|
|
17
18
|
this._pdfDoc = value;
|
|
19
|
+
if (this._waitingToShowDialog) {
|
|
20
|
+
this._waitingToShowDialog = false;
|
|
21
|
+
this.showDialog = true;
|
|
22
|
+
}
|
|
18
23
|
}
|
|
19
24
|
}
|
|
20
25
|
get pdfDoc() {
|
|
21
26
|
return this._pdfDoc;
|
|
22
27
|
}
|
|
23
28
|
ngOnInit() {
|
|
29
|
+
//this.showFilePreview.emit(0);
|
|
30
|
+
}
|
|
31
|
+
dialogRequested() {
|
|
24
32
|
this.showFilePreview.emit(0);
|
|
33
|
+
this._waitingToShowDialog = true;
|
|
25
34
|
}
|
|
26
35
|
}
|
|
27
36
|
PdfPreviewComponent.decorators = [
|
|
28
37
|
{ type: Component, args: [{
|
|
29
38
|
selector: "co-pdf-preview",
|
|
30
39
|
template: `
|
|
31
|
-
<div class="pdf-preview-button" [class.disabled]="disablePdfPreview" (click)="
|
|
40
|
+
<div class="pdf-preview-button" [class.disabled]="disablePdfPreview" (click)="dialogRequested()">
|
|
32
41
|
<co-icon [iconData]="iconCacheService.getIcon(icons.FileMagnifyingGlass)"></co-icon>
|
|
33
42
|
</div>
|
|
34
43
|
<co-preview-pdf-dialog
|
|
@@ -49,4 +58,4 @@ PdfPreviewComponent.propDecorators = {
|
|
|
49
58
|
disablePdfPreview: [{ type: Input }],
|
|
50
59
|
showFilePreview: [{ type: Output }]
|
|
51
60
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvcGRmLXByZXZpZXcvcGRmLXByZXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQWdCeEUsTUFBTSxPQUFPLG1CQUFtQjtJQWlDOUIsWUFBbUIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUExQjdDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQWtCdkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBR25DLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUQsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUVzQixDQUFDO0lBL0JuRCxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsSUFDSSxNQUFNLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFBO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBYUQsUUFBUTtRQUNOLCtCQUErQjtJQUNqQyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7OztZQXhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFOzs7Ozs7Ozs7R0FTVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBZk8sZ0JBQWdCOzs7d0JBaUJyQixXQUFXLFNBQUMsc0JBQXNCO3FCQVFsQyxLQUFLO2dDQWVMLEtBQUs7OEJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXBkZi1wcmV2aWV3XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInBkZi1wcmV2aWV3LWJ1dHRvblwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlUGRmUHJldmlld1wiIChjbGljayk9XCJkaWFsb2dSZXF1ZXN0ZWQoKVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5GaWxlTWFnbmlmeWluZ0dsYXNzKVwiPjwvY28taWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1wcmV2aWV3LXBkZi1kaWFsb2dcclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dEaWFsb2dcIlxyXG4gICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAoY2xvc2VQREZEaWFsb2cpPVwic2hvd0RpYWxvZyA9IGZhbHNlXCI+XHJcbiAgICAgIDwvY28tcHJldmlldy1wZGYtZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcGRmLXByZXZpZXdcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wZGZEb2M6IGFueTtcclxuICBwcml2YXRlIF93YWl0aW5nVG9TaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHBkZkRvYyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX3BkZkRvYykge1xyXG4gICAgICB0aGlzLl9wZGZEb2MgPSB2YWx1ZTtcclxuICAgICAgaWYgKHRoaXMuX3dhaXRpbmdUb1Nob3dEaWFsb2cpIHtcclxuICAgICAgICB0aGlzLl93YWl0aW5nVG9TaG93RGlhbG9nID0gZmFsc2VcclxuICAgICAgICB0aGlzLnNob3dEaWFsb2cgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgcGRmRG9jKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGRmRG9jO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCgwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaWFsb2dSZXF1ZXN0ZWQoKSB7XHJcbiAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KDApO1xyXG4gICAgdGhpcy5fd2FpdGluZ1RvU2hvd0RpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -151,15 +151,13 @@ export class SendMethodDialogComponent {
|
|
|
151
151
|
if (this.transactionType !== 'salesOrderOverview') {
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
|
-
if (this.activeSendMethod.code === SendMethodType.Print) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
this.showFilePreview.emit(this.reportingDocumentPdfRequest.reportId);
|
|
162
|
-
}
|
|
154
|
+
/* if (this.activeSendMethod.code === SendMethodType.Print) {
|
|
155
|
+
this.showFilePreview.emit(this.reportingDocumentPrintRequest.reportId);
|
|
156
|
+
} else if (this.activeSendMethod.code === SendMethodType.Email) {
|
|
157
|
+
this.showFilePreview.emit(this.reportingDocumentEmailRequest.reportId);
|
|
158
|
+
} else if (this.activeSendMethod.code === SendMethodType.Pdf) {
|
|
159
|
+
this.showFilePreview.emit(this.reportingDocumentPdfRequest.reportId);
|
|
160
|
+
}*/
|
|
163
161
|
}
|
|
164
162
|
_initDefaultSendMethod() {
|
|
165
163
|
if (this.usePurchaseSendMethod) {
|
|
@@ -216,119 +214,119 @@ export class SendMethodDialogComponent {
|
|
|
216
214
|
SendMethodDialogComponent.decorators = [
|
|
217
215
|
{ type: Component, args: [{
|
|
218
216
|
selector: 'co-send-method-dialog',
|
|
219
|
-
template: `
|
|
220
|
-
<co-dialog id="sendOptionsDialog" [headerTemplate]="headerTemplate" [footerTemplate]="footerTemplate"
|
|
221
|
-
(closeClick)="closeClick.emit($event)">
|
|
222
|
-
<ng-template #headerTemplate>
|
|
223
|
-
<div class="co-dialog-header-title-wrapper">
|
|
224
|
-
<co-icon [iconData]="iconCacheService.getIcon(icons.ShareSolid)"></co-icon>
|
|
225
|
-
<div class="co-dialog-header-title" [textContent]="headerTitle"></div>
|
|
226
|
-
</div>
|
|
227
|
-
<div class="dialog-navigation-wrapper">
|
|
228
|
-
<div
|
|
229
|
-
*ngFor="let sendMethod of sendMethods; let index = index"
|
|
230
|
-
class="send-button-wrapper"
|
|
231
|
-
[class.selected]="activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0"
|
|
232
|
-
(click)="handleSendMethodClick(sendMethod)">
|
|
233
|
-
<div class="custom-button-title" [textContent]="sendMethod.description"></div>
|
|
234
|
-
</div>
|
|
235
|
-
<div class="send-button-wrapper"
|
|
236
|
-
*ngIf="usePurchaseSendMethod"
|
|
237
|
-
[class.selected]="activeSendMethod?.code === 'COMBINED'"
|
|
238
|
-
(click)="handleCombinedClick()">
|
|
239
|
-
<div class="custom-button-title" [textContent]="'COMBINED' | sharedLocalize"></div>
|
|
240
|
-
</div>
|
|
241
|
-
</div>
|
|
242
|
-
</ng-template>
|
|
243
|
-
|
|
244
|
-
<div class="dialog-content-wrapper">
|
|
245
|
-
<div class="send-methods-wrapper">
|
|
246
|
-
|
|
247
|
-
</div>
|
|
248
|
-
<div #navigationItems class="send-method-navigation-wrapper" [class.smooth-scrolling]="!startUp">
|
|
249
|
-
<div #faxItems class="send-method-navigation-content co-small-scrollbar">
|
|
250
|
-
|
|
251
|
-
</div>
|
|
252
|
-
<div #printItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPrint">
|
|
253
|
-
<co-send-method-printer
|
|
254
|
-
#printerComponent
|
|
255
|
-
[isPrinterLayoutsEnabled]="isPrinterLayoutsEnabled"
|
|
256
|
-
[printerList]="printerList"
|
|
257
|
-
[layouts]="printLayouts"
|
|
258
|
-
[isAdditionalDocEnabled]="isAdditionalDocEnabled"
|
|
259
|
-
[additionalFileContents]="additionalFileContents"
|
|
260
|
-
[additionalFileName]="additionalFileName"
|
|
261
|
-
[pdfDoc]="pdfDoc"
|
|
262
|
-
[disablePdfPreview]="disablePdfPreview"
|
|
263
|
-
[transactionType]="transactionType"
|
|
264
|
-
[defaultPrinter]="defaultPrinter"
|
|
265
|
-
(additionalFileChangeEvent)="handleAdditionalFileSaved($event)"
|
|
266
|
-
(showFilePreview)="showFilePreview.emit($event)"
|
|
267
|
-
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
268
|
-
></co-send-method-printer>
|
|
269
|
-
</div>
|
|
270
|
-
<div #emailItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmail">
|
|
271
|
-
<co-send-method-email
|
|
272
|
-
#emailComponent
|
|
273
|
-
[emailAddresses]="emailAddresses"
|
|
274
|
-
[layouts]="emailLayouts"
|
|
275
|
-
[pdfDoc]="pdfDoc"
|
|
276
|
-
[disablePdfPreview]="disablePdfPreview"
|
|
277
|
-
[transactionType]="transactionType"
|
|
278
|
-
[emailUnsignedPossible]="emailUnsignedPossible"
|
|
279
|
-
(showFilePreview)="showFilePreview.emit($event)"
|
|
280
|
-
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
281
|
-
[isAdditionalDocEnabled]="isAdditionalDocEnabled"
|
|
282
|
-
[additionalFileContents]="additionalFileContents"
|
|
283
|
-
[additionalFileName]="additionalFileName"
|
|
284
|
-
(additionalFileChangeEvent)="handleAdditionalFileSaved($event)">
|
|
285
|
-
</co-send-method-email>
|
|
286
|
-
</div>
|
|
287
|
-
<div #ediItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEdi">
|
|
288
|
-
|
|
289
|
-
</div>
|
|
290
|
-
<div #emailTemplateItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmailTemplate">
|
|
291
|
-
|
|
292
|
-
</div>
|
|
293
|
-
<div #smsItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showSms">
|
|
294
|
-
|
|
295
|
-
</div>
|
|
296
|
-
<div #webServiceItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showWebservice">
|
|
297
|
-
|
|
298
|
-
</div>
|
|
299
|
-
<div #pdfItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPdf">
|
|
300
|
-
<co-send-method-pdf
|
|
301
|
-
[layouts]="printLayouts"
|
|
302
|
-
[pdfDoc]="pdfDoc"
|
|
303
|
-
[disablePdfPreview]="disablePdfPreview"
|
|
304
|
-
[transactionType]="transactionType"
|
|
305
|
-
(showFilePreview)="showFilePreview.emit($event)"
|
|
306
|
-
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)">
|
|
307
|
-
</co-send-method-pdf>
|
|
308
|
-
</div>
|
|
309
|
-
<div #purchaseItems class="send-method-navigation-content co-small-scrollbar" *ngIf="usePurchaseSendMethod">
|
|
310
|
-
<co-send-method-purchase
|
|
311
|
-
[emailLayouts]="emailLayouts"
|
|
312
|
-
[printLayouts]="printLayouts"
|
|
313
|
-
[defaultPrinter]="defaultPrinter"
|
|
314
|
-
[printerList]="printerList"
|
|
315
|
-
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
316
|
-
(purchaseMethodChanged)="handlePurchaseMethodChange($event)">
|
|
317
|
-
</co-send-method-purchase>
|
|
318
|
-
</div>
|
|
319
|
-
</div>
|
|
320
|
-
</div>
|
|
321
|
-
<ng-template #footerTemplate>
|
|
322
|
-
<div class="co-dialog-footer-button-wrapper">
|
|
323
|
-
<co-button class="save-button"
|
|
324
|
-
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
325
|
-
(click)="handleOkClick()"></co-button>
|
|
326
|
-
<co-button class="close-button"
|
|
327
|
-
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)"
|
|
328
|
-
(click)="closeClick.emit($event)"></co-button>
|
|
329
|
-
</div>
|
|
330
|
-
</ng-template>
|
|
331
|
-
</co-dialog>
|
|
217
|
+
template: `
|
|
218
|
+
<co-dialog id="sendOptionsDialog" [headerTemplate]="headerTemplate" [footerTemplate]="footerTemplate"
|
|
219
|
+
(closeClick)="closeClick.emit($event)">
|
|
220
|
+
<ng-template #headerTemplate>
|
|
221
|
+
<div class="co-dialog-header-title-wrapper">
|
|
222
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.ShareSolid)"></co-icon>
|
|
223
|
+
<div class="co-dialog-header-title" [textContent]="headerTitle"></div>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="dialog-navigation-wrapper">
|
|
226
|
+
<div
|
|
227
|
+
*ngFor="let sendMethod of sendMethods; let index = index"
|
|
228
|
+
class="send-button-wrapper"
|
|
229
|
+
[class.selected]="activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0"
|
|
230
|
+
(click)="handleSendMethodClick(sendMethod)">
|
|
231
|
+
<div class="custom-button-title" [textContent]="sendMethod.description"></div>
|
|
232
|
+
</div>
|
|
233
|
+
<div class="send-button-wrapper"
|
|
234
|
+
*ngIf="usePurchaseSendMethod"
|
|
235
|
+
[class.selected]="activeSendMethod?.code === 'COMBINED'"
|
|
236
|
+
(click)="handleCombinedClick()">
|
|
237
|
+
<div class="custom-button-title" [textContent]="'COMBINED' | sharedLocalize"></div>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
</ng-template>
|
|
241
|
+
|
|
242
|
+
<div class="dialog-content-wrapper">
|
|
243
|
+
<div class="send-methods-wrapper">
|
|
244
|
+
|
|
245
|
+
</div>
|
|
246
|
+
<div #navigationItems class="send-method-navigation-wrapper" [class.smooth-scrolling]="!startUp">
|
|
247
|
+
<div #faxItems class="send-method-navigation-content co-small-scrollbar">
|
|
248
|
+
|
|
249
|
+
</div>
|
|
250
|
+
<div #printItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPrint">
|
|
251
|
+
<co-send-method-printer
|
|
252
|
+
#printerComponent
|
|
253
|
+
[isPrinterLayoutsEnabled]="isPrinterLayoutsEnabled"
|
|
254
|
+
[printerList]="printerList"
|
|
255
|
+
[layouts]="printLayouts"
|
|
256
|
+
[isAdditionalDocEnabled]="isAdditionalDocEnabled"
|
|
257
|
+
[additionalFileContents]="additionalFileContents"
|
|
258
|
+
[additionalFileName]="additionalFileName"
|
|
259
|
+
[pdfDoc]="pdfDoc"
|
|
260
|
+
[disablePdfPreview]="disablePdfPreview"
|
|
261
|
+
[transactionType]="transactionType"
|
|
262
|
+
[defaultPrinter]="defaultPrinter"
|
|
263
|
+
(additionalFileChangeEvent)="handleAdditionalFileSaved($event)"
|
|
264
|
+
(showFilePreview)="showFilePreview.emit($event)"
|
|
265
|
+
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
266
|
+
></co-send-method-printer>
|
|
267
|
+
</div>
|
|
268
|
+
<div #emailItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmail">
|
|
269
|
+
<co-send-method-email
|
|
270
|
+
#emailComponent
|
|
271
|
+
[emailAddresses]="emailAddresses"
|
|
272
|
+
[layouts]="emailLayouts"
|
|
273
|
+
[pdfDoc]="pdfDoc"
|
|
274
|
+
[disablePdfPreview]="disablePdfPreview"
|
|
275
|
+
[transactionType]="transactionType"
|
|
276
|
+
[emailUnsignedPossible]="emailUnsignedPossible"
|
|
277
|
+
(showFilePreview)="showFilePreview.emit($event)"
|
|
278
|
+
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
279
|
+
[isAdditionalDocEnabled]="isAdditionalDocEnabled"
|
|
280
|
+
[additionalFileContents]="additionalFileContents"
|
|
281
|
+
[additionalFileName]="additionalFileName"
|
|
282
|
+
(additionalFileChangeEvent)="handleAdditionalFileSaved($event)">
|
|
283
|
+
</co-send-method-email>
|
|
284
|
+
</div>
|
|
285
|
+
<div #ediItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEdi">
|
|
286
|
+
|
|
287
|
+
</div>
|
|
288
|
+
<div #emailTemplateItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmailTemplate">
|
|
289
|
+
|
|
290
|
+
</div>
|
|
291
|
+
<div #smsItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showSms">
|
|
292
|
+
|
|
293
|
+
</div>
|
|
294
|
+
<div #webServiceItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showWebservice">
|
|
295
|
+
|
|
296
|
+
</div>
|
|
297
|
+
<div #pdfItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showPdf">
|
|
298
|
+
<co-send-method-pdf
|
|
299
|
+
[layouts]="printLayouts"
|
|
300
|
+
[pdfDoc]="pdfDoc"
|
|
301
|
+
[disablePdfPreview]="disablePdfPreview"
|
|
302
|
+
[transactionType]="transactionType"
|
|
303
|
+
(showFilePreview)="showFilePreview.emit($event)"
|
|
304
|
+
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)">
|
|
305
|
+
</co-send-method-pdf>
|
|
306
|
+
</div>
|
|
307
|
+
<div #purchaseItems class="send-method-navigation-content co-small-scrollbar" *ngIf="usePurchaseSendMethod">
|
|
308
|
+
<co-send-method-purchase
|
|
309
|
+
[emailLayouts]="emailLayouts"
|
|
310
|
+
[printLayouts]="printLayouts"
|
|
311
|
+
[defaultPrinter]="defaultPrinter"
|
|
312
|
+
[printerList]="printerList"
|
|
313
|
+
(loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
|
|
314
|
+
(purchaseMethodChanged)="handlePurchaseMethodChange($event)">
|
|
315
|
+
</co-send-method-purchase>
|
|
316
|
+
</div>
|
|
317
|
+
</div>
|
|
318
|
+
</div>
|
|
319
|
+
<ng-template #footerTemplate>
|
|
320
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
321
|
+
<co-button class="save-button"
|
|
322
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
323
|
+
(click)="handleOkClick()"></co-button>
|
|
324
|
+
<co-button class="close-button"
|
|
325
|
+
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)"
|
|
326
|
+
(click)="closeClick.emit($event)"></co-button>
|
|
327
|
+
</div>
|
|
328
|
+
</ng-template>
|
|
329
|
+
</co-dialog>
|
|
332
330
|
`,
|
|
333
331
|
encapsulation: ViewEncapsulation.None,
|
|
334
332
|
animations: [
|
|
@@ -390,4 +388,4 @@ SendMethodDialogComponent.propDecorators = {
|
|
|
390
388
|
loadDefaultPrinterName: [{ type: Output }],
|
|
391
389
|
showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
|
|
392
390
|
};
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFTbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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LFNBQUMsZ0JBQWdCOzBCQUcxQixLQUFLOzRDQUdMLEtBQUs7NENBR0wsS0FBSzswQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSzs2QkFHTCxLQUFLOzBCQUdMLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7cUJBR0wsS0FBSztnQ0FHTCxLQUFLOzhCQUdMLEtBQUs7b0NBR0wsS0FBSztvQ0FHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO29DQUdOLE1BQU07eUJBR04sTUFBTTtzQkFHTixNQUFNO3dDQUdOLE1BQU07OEJBR04sTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7QWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RQcmludGVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXByaW50ZXIvc2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kRW1haWxDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZW1haWwvc2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VuZE1ldGhvZHNXaXRoSWNvbjogU2VuZE1ldGhvZFtdID0gW1xyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkZheCwgXCJGYXhcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCBcIlByaW50XCIsIEljb24uUHJpbnRTb2xpZCksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRW1haWwsIFwiRW1haWxcIiwgSWNvbi5BdFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FZGksIFwiRWRpXCIsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCBcIkVtYWlsIHRlbXBsYXRlXCIsIEljb24uRW52ZWxvcGVSZWd1bGFyKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5TbXMsIFwiU21zXCIsIEljb24uTWVzc2FnZVNtc1NvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlLCBcIldlYnNlcnZpY2VcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgXCJQZGZcIiwgSWNvbi5QZGYpLFxyXG5dXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQ2xpY2suZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaGFyZVNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kLmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VQdXJjaGFzZVNlbmRNZXRob2RcIlxyXG4gICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gJ0NPTUJJTkVEJ1wiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDb21iaW5lZENsaWNrKClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0NPTUJJTkVEJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICAjcHJpbnRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIFtpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZF09XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgW3ByaW50ZXJMaXN0XT1cInByaW50ZXJMaXN0XCJcclxuICAgICAgICAgICAgICBbbGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgIFtpc0FkZGl0aW9uYWxEb2NFbmFibGVkXT1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25UeXBlXT1cInRyYW5zYWN0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcclxuICAgICAgICAgICAgICAoYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudCk9XCJoYW5kbGVBZGRpdGlvbmFsRmlsZVNhdmVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgICNlbWFpbENvbXBvbmVudFxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25UeXBlXT1cInRyYW5zYWN0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJlbWFpbFVuc2lnbmVkUG9zc2libGVcIlxyXG4gICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtpc0FkZGl0aW9uYWxEb2NFbmFibGVkXT1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAoYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudCk9XCJoYW5kbGVBZGRpdGlvbmFsRmlsZVNhdmVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1lbWFpbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZWRpSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93RWRpXCI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbFRlbXBsYXRlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93RW1haWxUZW1wbGF0ZVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjc21zSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93U21zXCI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICN3ZWJTZXJ2aWNlSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93V2Vic2VydmljZVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjcGRmSXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UGRmXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wZGZcclxuICAgICAgICAgICAgICBbbGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcclxuICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cInNob3dGaWxlUHJldmlldy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNwdXJjaGFzZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wdXJjaGFzZVxyXG4gICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcclxuICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAocHVyY2hhc2VNZXRob2RDaGFuZ2VkKT1cImhhbmRsZVB1cmNoYXNlTWV0aG9kQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1wdXJjaGFzZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlQ2xpY2suZW1pdCgkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLCBvcGFjaXR5OiAnMCd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMjUwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ25hdmlnYXRpb25JdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgbmF2aWdhdGlvbkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdmYXhJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZmF4SXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3ByaW50SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHByaW50SXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaUl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlZGlJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxUZW1wbGF0ZUl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBlbWFpbFRlbXBsYXRlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3Ntc0l0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBzbXNJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnd2ViU2VydmljZUl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyB3ZWJTZXJ2aWNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BkZkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwZGZJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHVyY2hhc2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHVyY2hhc2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRlckNvbXBvbmVudCcpXHJcbiAgcHVibGljIHByaW50ZXJDb21wb25lbnRSZWY6IFNlbmRNZXRob2RQcmludGVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbENvbXBvbmVudCcpXHJcbiAgcHVibGljIGVtYWlsQ29tcG9uZW50UmVmOiBTZW5kTWV0aG9kRW1haWxDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVQZGZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVHlwZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbFVuc2lnbmVkUG9zc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlUHVyY2hhc2VTZW5kTWV0aG9kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvYWREZWZhdWx0UHJpbnRlck5hbWU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtZGlhbG9nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VuZE1ldGhvZHMgPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xyXG4gIHB1YmxpYyBhY3RpdmVTZW5kTWV0aG9kOiBTZW5kTWV0aG9kO1xyXG4gIHB1YmxpYyBzdGFydFVwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNob3dGYXg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RWRpOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1dlYnNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UGRmOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkUHVyY2hhc2VNZXRob2Q6IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlUHVyY2hhc2VNZXRob2RDaGFuZ2UobWV0aG9kOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZCA9IG1ldGhvZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jU2lnbiA9ICF0aGlzLmRvY1NpZ247XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29tYmluZWRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHsgY29kZTogXCJDT01CSU5FRFwiLCBkZXNjcmlwdGlvbjogJ0NPTUJJTkVEJywgaWNvbjogSWNvbi5BY2NvdW50IH0gYXMgdW5rbm93biBhcyBTZW5kTWV0aG9kO1xyXG4gICAgaWYgKHRoaXMucHVyY2hhc2VJdGVtcyAmJiB0aGlzLm5hdmlnYXRpb25JdGVtcykge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxyXG4gICAgICAgIHRoaXMucHVyY2hhc2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZChmaWxlOiBDb0RvY3VtZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KGZpbGUpO1xyXG4gICAgdGhpcy5fY29udGludWVIYW5kbGVPa0NsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQWRkaXRpb25hbERvY0VuYWJsZWQgJiYgIXRoaXMuYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiZcclxuICAgICAgICB0aGlzLnByaW50ZXJDb21wb25lbnRSZWY/LmlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnByaW50ZXJDb21wb25lbnRSZWYub3BlbkFkZGl0aW9uYWxGaWxlRGlhbG9nKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kPy5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJlxyXG4gICAgICAgIHRoaXMuZW1haWxDb21wb25lbnRSZWY/LmlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QgJiYgdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUudG9TdHJpbmcoKSA9PT0gXCJDT01CSU5FRFwiKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTWV0aG9kRGF0YSA9IHtcclxuICAgICAgICBzZW5kTWV0aG9kOiB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZS50b1N0cmluZygpLFxyXG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdChzZWxlY3RlZE1ldGhvZERhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQodGhpcy5hY3RpdmVTZW5kTWV0aG9kID8gdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZDogU2VuZE1ldGhvZCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0gc2VuZE1ldGhvZDtcclxuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5mYXhJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiYgdGhpcy5zaG93UHJpbnQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJiB0aGlzLnNob3dFbWFpbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lZGlJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSAmJiB0aGlzLnNob3dFbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMgJiYgdGhpcy5zaG93U21zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuc21zSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLndlYlNlcnZpY2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmICYmIHRoaXMuc2hvd1BkZikge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvblR5cGUgIT09ICdzYWxlc09yZGVyT3ZlcnZpZXcnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QucmVwb3J0SWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QucmVwb3J0SWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlUHVyY2hhc2VTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQ29tYmluZWRDbGljaygpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlzaWJsZU1ldGhvZHMgJiYgdGhpcy52aXNpYmxlTWV0aG9kcy5sZW5ndGggPj0gMSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kID0gdGhpcy52aXNpYmxlTWV0aG9kc1swXTtcclxuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZW5kTWV0aG9kOiBTZW5kTWV0aG9kID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpO1xyXG4gICAgaWYgKHNlbmRNZXRob2QpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZCk7XHJcbiAgICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVZpc2libGVNZXRob2RzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlUHVyY2hhc2VTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuc2VuZE1ldGhvZHMgPSBbXTsgLy8gSGlkZSBhbGwgc3RhbmRhcmQgbWV0aG9kc1xyXG4gICAgICB0aGlzLnNob3dGYXggPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93UHJpbnQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RW1haWwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RWRpID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93U21zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93UGRmID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmlsdGVyKHNtID0+IHRoaXMudmlzaWJsZU1ldGhvZHMuZmluZCh2bSA9PiB2bSA9PT0gc20uY29kZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd0ZheCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5GYXgpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dQcmludCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VtYWlsID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RWRpID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1NtcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dXZWJzZXJ2aWNlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dQZGYgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmKSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
391
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFRbEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWlCO0lBQy9DLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNELElBQUksVUFBVSxD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bXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICcuLi8uLi9tb2RlbC9zZW5kLW1ldGhvZCc7XG5pbXBvcnQge1NlbmRNZXRob2RUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3NlbmQtbWV0aG9kLXR5cGUuZW51bSc7XG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcbmltcG9ydCB7U2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcHJpbnRlci9zZW5kLW1ldGhvZC1wcmludGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTZW5kTWV0aG9kRW1haWxDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZW1haWwvc2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkZheCwgXCJGYXhcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5QcmludCwgXCJQcmludFwiLCBJY29uLlByaW50U29saWQpLFxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FZGksIFwiRWRpXCIsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSwgXCJFbWFpbCB0ZW1wbGF0ZVwiLCBJY29uLkVudmVsb3BlUmVndWxhciksXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlLCBcIldlYnNlcnZpY2VcIiwgSWNvbi5QcmludFJlZ3VsYXIpLFxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5QZGYsIFwiUGRmXCIsIEljb24uUGRmKSxcbl1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtZGlhbG9nJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNoYXJlU29saWQpXCI+PC9jby1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLW5hdmlnYXRpb24td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZW5kTWV0aG9kIG9mIHNlbmRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlbmQtYnV0dG9uLXdyYXBwZXJcIlxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1idXR0b24td3JhcHBlclwiXG4gICAgICAgICAgICAgICAqbmdJZj1cInVzZVB1cmNoYXNlU2VuZE1ldGhvZFwiXG4gICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gJ0NPTUJJTkVEJ1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tYmluZWRDbGljaygpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQ09NQklORUQnIHwgc2hhcmVkTG9jYWxpemVcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2RzLXdyYXBwZXJcIj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAjbmF2aWdhdGlvbkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLnNtb290aC1zY3JvbGxpbmddPVwiIXN0YXJ0VXBcIj5cbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wcmludGVyXG4gICAgICAgICAgICAgICNwcmludGVyQ29tcG9uZW50XG4gICAgICAgICAgICAgIFtpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZF09XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXG4gICAgICAgICAgICAgIFtpc0FkZGl0aW9uYWxEb2NFbmFibGVkXT1cImlzQWRkaXRpb25hbERvY0VuYWJsZWRcIlxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcbiAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxuICAgICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlUGRmUHJldmlld109XCJkaXNhYmxlUGRmUHJldmlld1wiXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvblR5cGVdPVwidHJhbnNhY3Rpb25UeXBlXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyXT1cImRlZmF1bHRQcmludGVyXCJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJzaG93RmlsZVByZXZpZXcuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcHJpbnRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtZW1haWxcbiAgICAgICAgICAgICAgI2VtYWlsQ29tcG9uZW50XG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXG4gICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVQZGZQcmV2aWV3XT1cImRpc2FibGVQZGZQcmV2aWV3XCJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZV09XCJ0cmFuc2FjdGlvblR5cGVcIlxuICAgICAgICAgICAgICBbZW1haWxVbnNpZ25lZFBvc3NpYmxlXT1cImVtYWlsVW5zaWduZWRQb3NzaWJsZVwiXG4gICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXG4gICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXG4gICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1lbWFpbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNlZGlJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFZGlcIj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgI2VtYWlsVGVtcGxhdGVJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFRlbXBsYXRlXCI+XG5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNzbXNJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dTbXNcIj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgI3dlYlNlcnZpY2VJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dXZWJzZXJ2aWNlXCI+XG5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNwZGZJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQZGZcIj5cbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1wZGZcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcbiAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxuICAgICAgICAgICAgICBbZGlzYWJsZVBkZlByZXZpZXddPVwiZGlzYWJsZVBkZlByZXZpZXdcIlxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25UeXBlXT1cInRyYW5zYWN0aW9uVHlwZVwiXG4gICAgICAgICAgICAgIChzaG93RmlsZVByZXZpZXcpPVwic2hvd0ZpbGVQcmV2aWV3LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLXBkZj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNwdXJjaGFzZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwidXNlUHVyY2hhc2VTZW5kTWV0aG9kXCI+XG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHVyY2hhc2VcbiAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxuICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXG4gICAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlcl09XCJkZWZhdWx0UHJpbnRlclwiXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHB1cmNoYXNlTWV0aG9kQ2hhbmdlZCk9XCJoYW5kbGVQdXJjaGFzZU1ldGhvZENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2NvLXNlbmQtbWV0aG9kLXB1cmNoYXNlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9jby1kaWFsb2c+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxuICAgIF0pXG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcblxuICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnZmF4SXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdwcmludEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdlbWFpbEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdlZGlJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2VtYWlsVGVtcGxhdGVJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzbXNJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3dlYlNlcnZpY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdwZGZJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3B1cmNoYXNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gIHB1YmxpYyBwdXJjaGFzZUl0ZW1zOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3ByaW50ZXJDb21wb25lbnQnKVxuICBwdWJsaWMgcHJpbnRlckNvbXBvbmVudFJlZjogU2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnZW1haWxDb21wb25lbnQnKVxuICBwdWJsaWMgZW1haWxDb21wb25lbnRSZWY6IFNlbmRNZXRob2RFbWFpbENvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1haWxMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByaW50TGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlcjogUHJpbnRlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRTZW5kTWV0aG9kOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZpc2libGVNZXRob2RzOiBTZW5kTWV0aG9kVHlwZVtdIHwgc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNEb2NTaWduRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkb2NTaWduOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzUHJpbnRlckxheW91dHNFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNBZGRpdGlvbmFsRG9jRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNvbnRlbnRzOiBhbnkgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGRmRG9jOiBhbnkgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVtYWlsVW5zaWduZWRQb3NzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB1c2VQdXJjaGFzZVNlbmRNZXRob2Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBva0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2hvd0ZpbGVQcmV2aWV3OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLWRpYWxvZycpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgc2VuZE1ldGhvZHMgPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xuICBwdWJsaWMgYWN0aXZlU2VuZE1ldGhvZDogU2VuZE1ldGhvZDtcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBzaG93RmF4OiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd0VkaTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dXZWJzZXJ2aWNlOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kOiBhbnkgPSB7fTtcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGhhbmRsZVB1cmNoYXNlTWV0aG9kQ2hhbmdlKG1ldGhvZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFB1cmNoYXNlTWV0aG9kID0gbWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIF9zZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxuICAgIClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0KSB7XG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpIHtcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpIHtcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcbiAgICB9XG4gICAgdGhpcy5faW5pdERlZmF1bHRTZW5kTWV0aG9kKCk7XG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmRvY1NpZ24gPSAhdGhpcy5kb2NTaWduO1xuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDb21iaW5lZENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZCA9IHsgY29kZTogXCJDT01CSU5FRFwiLCBkZXNjcmlwdGlvbjogJ0NPTUJJTkVEJywgaWNvbjogSWNvbi5BY2NvdW50IH0gYXMgdW5rbm93biBhcyBTZW5kTWV0aG9kO1xuICAgIGlmICh0aGlzLnB1cmNoYXNlSXRlbXMgJiYgdGhpcy5uYXZpZ2F0aW9uSXRlbXMpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9XG4gICAgICAgIHRoaXMucHVyY2hhc2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoZmlsZTogQ29Eb2N1bWVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQgPSB0cnVlO1xuICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KGZpbGUpO1xuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBZGRpdGlvbmFsRG9jRW5hYmxlZCAmJiAhdGhpcy5hZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmXG4gICAgICAgIHRoaXMucHJpbnRlckNvbXBvbmVudFJlZj8uaXNBZGRpdGlvbmFsRmlsZUFjdGl2ZSgpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kPy5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJlxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcbiAgICAgICkge1xuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fY29udGludWVIYW5kbGVPa0NsaWNrKCk7XG4gIH1cblxuXG4gIHByaXZhdGUgX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kICYmIHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlLnRvU3RyaW5nKCkgPT09IFwiQ09NQklORURcIikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRNZXRob2REYXRhID0ge1xuICAgICAgICBzZW5kTWV0aG9kOiB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZS50b1N0cmluZygpLFxuICAgICAgICAuLi50aGlzLnNlbGVjdGVkUHVyY2hhc2VNZXRob2RcbiAgICAgIH07XG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdChzZWxlY3RlZE1ldGhvZERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9rQ2xpY2suZW1pdCh0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPyB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA6ICcwJyk7XG4gICAgfVxuICB9XG5cblxuICBwdWJsaWMgaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2Q6IFNlbmRNZXRob2QpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSBzZW5kTWV0aG9kO1xuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZmF4SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCAmJiB0aGlzLnNob3dQcmludCkge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiYgdGhpcy5zaG93RW1haWwpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZWRpSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlICYmIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zICYmIHRoaXMuc2hvd1Ntcykge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zbXNJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy53ZWJTZXJ2aWNlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYgJiYgdGhpcy5zaG93UGRmKSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50cmFuc2FjdGlvblR5cGUgIT09ICdzYWxlc09yZGVyT3ZlcnZpZXcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAvKiBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSB7XG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsKSB7XG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QucmVwb3J0SWQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikge1xuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdC5yZXBvcnRJZCk7XG4gICAgfSovXG4gIH1cblxuICBwcml2YXRlIF9pbml0RGVmYXVsdFNlbmRNZXRob2QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXNlUHVyY2hhc2VTZW5kTWV0aG9kKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVDb21iaW5lZENsaWNrKCk7XG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID49IDEpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcbiAgfVxuXG5cblxuICBwcml2YXRlIF9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZW5kTWV0aG9kOiBTZW5kTWV0aG9kID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpO1xuICAgIGlmIChzZW5kTWV0aG9kKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZCk7XG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVZpc2libGVNZXRob2RzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVzZVB1cmNoYXNlU2VuZE1ldGhvZCkge1xuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IFtdOyAvLyBIaWRlIGFsbCBzdGFuZGFyZCBtZXRob2RzXG4gICAgICB0aGlzLnNob3dGYXggPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd1ByaW50ID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dFbWFpbCA9IGZhbHNlO1xuICAgICAgdGhpcy5zaG93RWRpID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dTbXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd1BkZiA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmlsdGVyKHNtID0+IHRoaXMudmlzaWJsZU1ldGhvZHMuZmluZCh2bSA9PiB2bSA9PT0gc20uY29kZSkpO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0ZheCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5GYXgpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93RW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93RWRpID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSkgIT09IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93U21zID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcykgIT09IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNob3dXZWJzZXJ2aWNlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -23,7 +23,9 @@ export class SendMethodService {
|
|
|
23
23
|
}
|
|
24
24
|
set reportingDocumentEmailSignDocBaseRequest(value) {
|
|
25
25
|
this._reportingDocumentEmailSignDocBaseRequest = value;
|
|
26
|
-
this.
|
|
26
|
+
if (this._reportingDocumentEmailSignDocBaseRequest.toAddresses && this._reportingDocumentEmailSignDocBaseRequest.toAddresses.length !== 0) {
|
|
27
|
+
this.selectedEmailAddresses = this._reportingDocumentEmailSignDocBaseRequest.toAddresses.split(';');
|
|
28
|
+
}
|
|
27
29
|
this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);
|
|
28
30
|
}
|
|
29
31
|
get reportingDocumentEmailSignDocBaseRequest() {
|
|
@@ -56,4 +58,4 @@ export class SendMethodService {
|
|
|
56
58
|
SendMethodService.decorators = [
|
|
57
59
|
{ type: Injectable }
|
|
58
60
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRzdCLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFUyxvREFBK0MsR0FBc0QsSUFBSSxPQUFPLEVBQTRDLENBQUM7UUFDN0osb0RBQStDLEdBQXNELElBQUksT0FBTyxFQUE0QyxDQUFDO1FBQzdKLDJDQUFzQyxHQUE2QyxJQUFJLE9BQU8sRUFBbUMsQ0FBQztRQTRCbEksMkJBQXNCLEdBQWEsRUFBRSxDQUFDO1FBR3JDLDhDQUF5QyxHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDckksOENBQXlDLEdBQTZDLElBQUksd0NBQXdDLEVBQUUsQ0FBQztRQUNySSxxQ0FBZ0MsR0FBb0MsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO0lBcUJwSCxDQUFDO0lBcERDLElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLENBQUM7UUFDaEYsSUFBSSxDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBQ0QsSUFBVyx3Q0FBd0M7UUFDakQsT0FBTyxJQUFJLENBQUMseUNBQXlDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQVcsd0NBQXdDLENBQUMsS0FBK0M7UUFDakcsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLHlDQUF5QyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pJLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMseUNBQXlDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyRztRQUNELElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUNELElBQVcsd0NBQXdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLHlDQUF5QyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFXLCtCQUErQixDQUFDLEtBQXNDO1FBQy9FLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsSUFBVywrQkFBK0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7SUFDL0MsQ0FBQztJQVNNLGtCQUFrQixDQUFDLE9BQWU7UUFDdkMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsT0FBZTtRQUNwQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OztZQXhERixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZFNlcnZpY2Uge1xuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQ6IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgU3ViamVjdDxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQ6IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgU3ViamVjdDxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQ6IFN1YmplY3Q8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4gPSBuZXcgU3ViamVjdDxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xuXG4gIHB1YmxpYyBzZXQgcmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xuICAgIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB2YWx1ZTtcbiAgICB0aGlzLmFjdGl2ZVByaW50ZXIgPSB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lO1xuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q7XG4gIH1cbiAgcHVibGljIHNldCByZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XG4gICAgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnRvQWRkcmVzc2VzICYmIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QudG9BZGRyZXNzZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRW1haWxBZGRyZXNzZXMgPSB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnRvQWRkcmVzc2VzLnNwbGl0KCc7Jyk7XG4gICAgfVxuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q7XG4gIH1cbiAgcHVibGljIHNldCByZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XG4gICAgdGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IHZhbHVlO1xuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLl9yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QoKTogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGFjdGl2ZVByaW50ZXI6IHN0cmluZztcblxuICBwcml2YXRlIF9yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTtcbiAgcHJpdmF0ZSBfcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XG4gIHByaXZhdGUgX3JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpO1xuXG4gIHB1YmxpYyByZW1vdmVFbWFpbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGFkZHJlc3MpID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5zcGxpY2UodGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmluZGV4T2YoYWRkcmVzcyksIDEpO1xuICAgICAgdGhpcy5fdXBkYXRlRW1haWxBZGRyZXNzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkRW1haWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRW1haWxBZGRyZXNzZXMuaW5kZXhPZihhZGRyZXNzKSA8IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgdGhpcy5fdXBkYXRlRW1haWxBZGRyZXNzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVFbWFpbEFkZHJlc3NlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5zZWxlY3RlZEVtYWlsQWRkcmVzc2VzLmpvaW4oJzsnKTtcbiAgICB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5fcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCk7XG4gIH1cblxufVxuIl19
|