@uiapplibct/ngx-reusa-app-lib 0.0.2 → 0.0.3

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.
@@ -295,25 +295,16 @@ export class FileUploaderComponent {
295
295
  this.as.getCorrId().subscribe((res) => {
296
296
  corId = res;
297
297
  let req = {
298
- "ean": "",
299
- "year": "",
300
- "additionalData": "",
301
- "base64FileData": "",
298
+ "ean": "12345678",
299
+ "year": "2026",
302
300
  "correspodenceList": [
303
- { "additionalData": "",
301
+ {
304
302
  "base64FileData": base64,
305
- "claimEffDate": "",
306
303
  "corrId": res,
307
304
  "direction": "INBOUND",
308
- "docCode": "",
309
- "ean": "",
310
- "mailDate": "",
305
+ "docCode": `signature_${corId}`,
311
306
  "mimeType": this.mimeType,
312
- "quarter": "",
313
- "receiptDate": "",
314
- "ssn": "",
315
307
  "title": "signature",
316
- "year": ""
317
308
  }
318
309
  ]
319
310
  };
@@ -528,4 +519,4 @@ export class FileUploaderComponent {
528
519
  type: Input
529
520
  }] }); })();
530
521
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FileUploaderComponent, { className: "FileUploaderComponent", filePath: "lib\\components\\file-uploader\\file-uploader.component.ts", lineNumber: 20 }); })();
531
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXNFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNNM0gsOEJBQXFEO0lBQ25ELHVDQUM4RDs7SUFDaEUsaUJBQUs7O0lBRmUsZUFBcUQ7SUFBckQsdUZBQXFEOzs7O0lBSXZFLCtCQUF1RSxvQkFBQTtJQUUvQyxvTUFBVSxlQUFBLDBCQUFrQixDQUFBLElBQUM7SUFEbkQsaUJBQ3NEO0lBQ3RELHNDQUFnRztJQUE1Qiw0TEFBUyxlQUFBLFlBQWlCLENBQUEsSUFBQztJQUM3Riw4QkFDRjtJQUFBLGlCQUFhLEVBQUE7OztJQUprRCxlQUEwQjtJQUExQiwrQ0FBMEI7Ozs7SUFPM0YsK0JBQXdFLG9CQUFBO0lBRXBFLG9NQUFVLGVBQUEsMEJBQWtCLENBQUEsSUFBQztJQUQvQixpQkFDa0M7SUFDbEMsc0NBQWdHO0lBQTVCLDRMQUFTLGVBQUEsWUFBaUIsQ0FBQSxJQUFDO0lBQzdGLDZCQUNGO0lBQUEsaUJBQWEsRUFBQTs7O0lBSmtELGVBQTBCO0lBQTFCLGdEQUEwQjs7O0lBakIvRiwwQkFBSSxT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RTtZQUFwRSxvRkFBb0U7WUF3RXRFLGVBQWlDO1lBQWpDLGlEQUFpQztZQWdCakMsZUFBc0M7WUFBdEMsc0RBQXNDOzs7aUZEdEVuQyxxQkFBcUI7Y0FWakMsU0FBUzsyQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLHVCQUF1Qjt3QkFDbEMsS0FBSyxFQUFFLElBQUk7cUJBQ1osQ0FBQzs0TEFlSyx1QkFBdUI7a0JBRDdCLFNBQVM7bUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBSXZELE1BQU07a0JBREwsTUFBTTtZQUlQLEtBQUs7a0JBREosTUFBTTtZQUlQLFdBQVc7a0JBRFYsTUFBTTtZQUdvQixTQUFTO2tCQUFuQyxZQUFZO21CQUFDLFdBQVc7WUFPekIsZUFBZTtrQkFEZCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sd0JBQXdCO2tCQUR2QixLQUFLO1lBSU4saUJBQWlCO2tCQURoQixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLOztrRkF6REsscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGRyZW4sIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgTmdGb3JtLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FwdGNoYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XG5pbXBvcnQgeyBEbXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG1zLXNlcnZpY2UvZG1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXVkaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXVkaXQvYXVkaXQuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBGaWxlVXBsb2FkZXJDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcblxuICBpbWFnZUJhc2U2NDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBERUZBVUxUX1NJTkdMRV9GSUxFX0xJTUlUID0gMTtcblxuICBwcml2YXRlIERFRkFVTFRfRklMRV9TSVpFX0lOX01CID0gMTtcblxuICBwcml2YXRlIEZJTEVfVVBMT0FEX0FDVElPTl9OQU1FID0gJ2ZpbGVfdXBsb2FkJztcblxuICBwdWJsaWMgc2hvd1Byb2dyZXNzID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndXBsb2FkRmlsZUZvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgQE91dHB1dCgpXG4gIHVwbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVzOiBFdmVudEVtaXR0ZXI8TWFwPEZpbGUsIHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICB1cGxvYWRBdWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZHJlbignZmlsZUlucHV0JykgZmlsZUlucHV0O1xuXG4gIHF1ZXVlOiBGaWxlW10gPSBbXTtcblxuICBtYXBPZkZpbGVzOiBNYXA8RmlsZSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcblxuICBASW5wdXQoKVxuICBhbGxvd2VkRmlsZVR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtaW1lVHlwZTpzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwcm9vZk9mQW55dGhpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2hvd1NlcGFyYXRlQXR0YWNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbm9PZkZpbGVzVG9VcGxvYWQ6IG51bWJlciA9IHRoaXMuREVGQVVMVF9TSU5HTEVfRklMRV9MSU1JVDtcblxuICBASW5wdXQoKVxuICBtYXhTaXplSW5NQjogbnVtYmVyID0gdGhpcy5ERUZBVUxUX0ZJTEVfU0laRV9JTl9NQjtcblxuICBASW5wdXQoKVxuICB1cGxvYWRUb0RNUzpib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjb3JySWQ7XG4gIFxuICBwdWJsaWMgdXBsb2FkRmlsZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGltYWdlSHRtbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIGZzOiBEbXNTZXJ2aWNlLCBcbiAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsIHByaXZhdGUgY3M6IENhcHRjaGFTZXJ2aWNlLCBwcml2YXRlIGFzOiBBdWRpdFNlcnZpY2UpIHtcbiAgICB0aGlzLnVwbG9hZEZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAndXBsb2FkRmlsZUN0cmwnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1cGxvYWRGaWxlQ3RybCgpIHtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRGaWxlRm9ybS5jb250cm9sc1sndXBsb2FkRmlsZUN0cmwnXTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYodGhpcy5jb3JySWQpe1xuXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xuXG4gIH07XG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XG5cbiAgfTtcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2NvcnJJZCddKSB7XG4gICAgICBpZih0aGlzLmNvcnJJZCAmJiB0aGlzLmNvbnRleHQ9PT0nc2lnbmF0dXJlJyl7XG4gICAgICAgIHRoaXMuZnMuZ2V0VGF4QXVkaXRGaWxlKHRoaXMuY29ycklkKS5zdWJzY3JpYmUoKHJlcyk9PntcbiAgICAgICAgICB0aGlzLmltYWdlQmFzZTY0ID0gcmVzLmRhdGE7XG4gICAgICAgICAgdGhpcy5pbWFnZUh0bWwgPSBgPGltZyBzcmM9XCIke3RoaXMuaW1hZ2VCYXNlNjR9XCIgYWx0PVwiVXBsb2FkZWQgSW1hZ2VcIiB3aWR0aD1cIjM4NXB4XCIgaGVpZ2h0PVwiOThweFwiPmA7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZpbGVUb0Jhc2U2NChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgdXBsb2FkVG9UYXhBdWRpdCAoZXZlbnQpe1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgY29uc3QgYmFzZTY0ID0gYXdhaXQgdGhpcy5maWxlVG9CYXNlNjQoZmlsZSk7XG4gICAgbGV0IGNvcklkOyBcbiAgICB0aGlzLnNob3dQcm9ncmVzcyA9IHRydWU7XG4gICAgXG4gICAgdGhpcy5hcy5nZXRDb3JySWQoKS5zdWJzY3JpYmUoKHJlcyk9PntcbiAgICAgIGNvcklkID0gcmVzO1xuICAgICAgbGV0IHJlcSA9IHtcbiAgICAgICAgICAgXCJlYW5cIjogXCJcIixcbiAgICAgICAgICAgIFwieWVhclwiOiBcIlwiLFxuICAgICAgICAgICAgXCJhZGRpdGlvbmFsRGF0YVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJiYXNlNjRGaWxlRGF0YVwiOiBcIlwiLFxuICAgICAgICAgICAgIFwiY29ycmVzcG9kZW5jZUxpc3RcIjogW1xuICAgICAgICAgICAgICB7XCJhZGRpdGlvbmFsRGF0YVwiOiBcIlwiLFxuICAgICAgICAgICAgICAgIFwiYmFzZTY0RmlsZURhdGFcIjpiYXNlNjQsXG4gICAgICAgICAgICAgICAgXCJjbGFpbUVmZkRhdGVcIjogXCJcIixcbiAgICAgICAgICAgICAgICBcImNvcnJJZFwiOiByZXMsXG4gICAgICAgICAgICAgICAgXCJkaXJlY3Rpb25cIjogXCJJTkJPVU5EXCIsXG4gICAgICAgICAgICAgICAgXCJkb2NDb2RlXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgXCJlYW5cIjogXCJcIixcbiAgICAgICAgICAgICAgICBcIm1haWxEYXRlXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm1pbWVUeXBlXCI6IHRoaXMubWltZVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInF1YXJ0ZXJcIjogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicmVjZWlwdERhdGVcIjogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3NuXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRpdGxlXCI6IFwic2lnbmF0dXJlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInllYXJcIjogXCJcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgXVxuICAgICAgfVxuICAgICAgdGhpcy5jcy5nZW5lcmF0ZUNhcHRjaGFUb2tlbignZmlsZV91cGxvYWQnKS5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3Muc2V0SW52aXNpYmVsQ2FwdGNoYSh0b2tlbik7XG4gICAgICB0aGlzLmZzLnVwbG9hZFRheEF1ZGl0RmlsZShyZXEpLnN1YnNjcmliZShyZXM9PntcbiAgICAgICAgdGhpcy51cGxvYWRBdWRpdC5lbWl0KGNvcklkKVxuICAgICAgICBpZih0aGlzLmNvbnRleHQ9PT0nc2lnbmF0dXJlJyl7XG4gICAgICAgICAgdGhpcy5pbWFnZUJhc2U2NCA9IGJhc2U2NDtcbiAgICAgICAgICB0aGlzLmltYWdlSHRtbCA9IGA8aW1nIHNyYz1cIiR7dGhpcy5pbWFnZUJhc2U2NH1cIiBhbHQ9XCJVcGxvYWRlZCBJbWFnZVwiIHdpZHRoPVwiMzg1cHhcIiBoZWlnaHQ9XCI5OHB4XCI+YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyhcInJlc1wiLHJlcylcbiAgICAgIH0sZXJyPT57XG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIixlcnIpO1xuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgIFxuICAgICAgfSlcbiAgICAgICB9LChlcnIpPT57XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgYWRkVG9RdWV1ZShldmVudCkge1xuICAgIGxldCBjdXJyRmlsZVVwbGRTaXplOiBudW1iZXIgPSAwO1xuICAgIGxldCBwcmVGaWxlVXBsZFNpemU6IG51bWJlciA9IDA7XG4gICAgbGV0IG1heFNpemVSZWFjaGVkOiBCb29sZWFuID0gZmFsc2U7XG4gICAgbGV0IGN1clVwbGRGaWxlTGVuOiBudW1iZXIgPSBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoO1xuICAgIGxldCBwcmVVcGxkRmlsZUxlbjogbnVtYmVyID0gdGhpcy5xdWV1ZS5sZW5ndGg7XG5cbiAgICBpZiAoKGN1clVwbGRGaWxlTGVuICsgcHJlVXBsZEZpbGVMZW4pID4gdGhpcy5ub09mRmlsZXNUb1VwbG9hZCkge1xuICAgICAgdGhpcy5lcnJvcihcIllvdSBjYW4gbm90IHVwbG9hZCBtb3JlIHRoYW4gXCIgKyB0aGlzLm5vT2ZGaWxlc1RvVXBsb2FkICsgXCIgZmlsZShzKS5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBwcmVGaWxlVXBsZFNpemUgPSB0aGlzLmdldFNpemVJbk1CKHRoaXMucXVldWVbaV0uc2l6ZSkgKyBwcmVGaWxlVXBsZFNpemU7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGN1cnJGaWxlVXBsZFNpemUgPSBjdXJyRmlsZVVwbGRTaXplICsgdGhpcy5nZXRTaXplSW5NQihldmVudC50YXJnZXQuZmlsZXNbaV0uc2l6ZSlcbiAgICB9XG5cbiAgICBtYXhTaXplUmVhY2hlZCA9IChwcmVGaWxlVXBsZFNpemUgKyBjdXJyRmlsZVVwbGRTaXplID4gdGhpcy5tYXhTaXplSW5NQik7XG5cbiAgICBpZiAobWF4U2l6ZVJlYWNoZWQpIHtcbiAgICAgIHRoaXMuZXJyb3IoJ0NvbWJpbmVkIGZpbGUocykgc2l6ZSBjYW4gbm90IGJlIG1vcmUgdGhhbiAnICsgdGhpcy5tYXhTaXplSW5NQiArICcgTUIuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgIFxuICAgIHRoaXMuY3MuZ2VuZXJhdGVDYXB0Y2hhVG9rZW4odGhpcy5GSUxFX1VQTE9BRF9BQ1RJT05fTkFNRSlcbiAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5jcy5zZXRJbnZpc2liZWxDYXB0Y2hhKHRva2VuKTtcbiAgICAgICAgaWYgKCFtYXhTaXplUmVhY2hlZCkge1xuICAgICAgICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlc1wiLCBldmVudC50YXJnZXQuZmlsZXNbaV0sIGV2ZW50LnRhcmdldC5maWxlc1tpXS5uYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGZpbGVzID0gWy4uLmV2ZW50LnRhcmdldC5maWxlc107XG4gICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgaWYoIXRoaXMudXBsb2FkVG9ETVMpe1xuICAgICAgICAgICAgLy8gbGV0IGZpbGVzID0gWy4uLmV2ZW50LnRhcmdldC5maWxlc107XG4gICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnF1ZXVlLnB1c2goZmlsZXNbaV0pO1xuICAgICAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5zZXQoZmlsZXNbaV0sIG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmZzXG4gICAgICAgICAgICAudXBsb2FkRmlsZShmb3JtRGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKGZpbGVzW2ldKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5zZXQoZmlsZXNbaV0sIHJlc1tpXS5maWxlSWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzKCdGaWxlKHMpIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseS4nKTtcblx0XHQgICAgICAgICAgICAgICAgLy9TcGVjaWZpY2FsbHkgZm9yIFNpZ25hdHVyZS1VcGxvYWQgKFdpbGwgYmUgbW92ZSB0byBhIG5ldyBtZXRob2QpXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9ICh0aGlzLm1hcE9mRmlsZXMuZW50cmllcygpLm5leHQoKS52YWx1ZSlbMF07XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUgJiYgKGZpbGUudHlwZSA9PT0gJ2ltYWdlL3BuZycgfHwgZmlsZS50eXBlID09PSAnaW1hZ2UvanBlZycgXG4gICAgICAgICAgICAgICAgICB8fCBmaWxlLnR5cGUgPT09ICdpbWFnZS9naWYnKSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VCYXNlNjQgPSBlLnRhcmdldC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VIdG1sID0gYDxpbWcgc3JjPVwiJHt0aGlzLmltYWdlQmFzZTY0fVwiIGFsdD1cIlVwbG9hZGVkIEltYWdlXCIgd2lkdGg9XCIxMjVcIiBoZWlnaHQ9XCI3NVwiPmA7XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxlcy5lbWl0KHRoaXMubWFwT2ZGaWxlcyk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yKFwiRmlsZSB1cGxvYWQgZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLmVycm9yKFwiRmlsZSB1cGxvYWQgZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRnJvbVF1ZXVlKGZpbGVUb1JlbW92ZSkge1xuICAgIGxldCBpbmRleDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMucXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLnF1ZXVlW2ldLm5hbWUgPT09IGZpbGVUb1JlbW92ZS5uYW1lKSB7XG4gICAgICAgIGluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGxldCBmaWxlSWQgPSB0aGlzLm1hcE9mRmlsZXMuZ2V0KGZpbGVUb1JlbW92ZSk7XG4gICAgdGhpcy5jcy5nZW5lcmF0ZUNhcHRjaGFUb2tlbih0aGlzLkZJTEVfVVBMT0FEX0FDVElPTl9OQU1FKVxuICAgICAgLnN1YnNjcmliZSgodG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmNzLnNldEludmlzaWJlbENhcHRjaGEodG9rZW4pO1xuICAgICAgICB0aGlzLmZzLmRlbGV0ZUZpbGUoZmlsZUlkKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVldWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5kZWxldGUoZmlsZVRvUmVtb3ZlKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSlcbiAgICAgICAgICAgIHRoaXMuZmlsZXMuZW1pdCh0aGlzLm1hcE9mRmlsZXMpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lcnJvcihcIkVycm9yIHdoaWxlIGRlbGV0aW5nIGZpbGUuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICB9KVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvcihcIkVycm9yIHdoaWxlIGRlbGV0aW5nIGZpbGUuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIGdldFNpemVJbk1CKG51bTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG51bSAvIDEwMjQgLyAxMDI0XG4gIH1cblxuICBhc3luYyBwcmVzZW50VG9hc3QobXNnLCBjb2xvcikge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IG1zZyxcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxuICAgICAgY29sb3I6IGNvbG9yLFxuICAgICAgcG9zaXRpb246ICdib3R0b20nXG4gICAgfSk7XG4gICAgdG9hc3QucHJlc2VudCgpO1xuICB9XG5cbiAgc3VjY2Vzcyhtc2cpIHtcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdwcmltYXJ5Jyk7XG4gIH1cblxuICBlcnJvcihtc2cpIHtcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdkYW5nZXInKTtcbiAgfVxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInVwbG9hZEZpbGVGb3JtXCIgI3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgPHNlY3Rpb24gKm5nSWY9XCJ0aGlzLmNvbnRleHQgIT0gJ3NpZ25hdHVyZScgJiYgdGhpcy5jb250ZXh0ICE9J3VwbG9hZFppcENvZGVzJ1wiPlxyXG4gIDxwLXRhYmxlIFt2YWx1ZV09XCJxdWV1ZVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbbG9hZGluZ109XCJzaG93UHJvZ3Jlc3NcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aD5OYW1lPC90aD5cclxuICAgICAgICA8dGg+U2l6ZTwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiICpuZ0lmPVwicHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J3Byb29mLm9mLmFueXRoaW5nLmluZm8nfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGggY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyXCIgKm5nSWY9XCJtdWx0aXBsZSAmJiAhcHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgIENob29zZSBGaWxlc1xyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cIiFtdWx0aXBsZSAmJiAhcHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgQ2hvb3NlIEZpbGVcclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1xdWV1ZT5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZD57eyBxdWV1ZT8ubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHF1ZXVlPy5zaXplLzEwMjQvMTAyNCB8IG51bWJlcjonLjInIH19IE1CPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21RdWV1ZShxdWV1ZSlcIlxyXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cImlvbi1wYWRkaW5nLWxlZnRcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgPHRyICpuZ0lmPVwiIXByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjNcIj5cclxuICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cImFsbG93ZWRGaWxlVHlwZVwiPllvdSBhcmUgYWxsb3dlZCB0byB1cGxvYWQgZmlsZShzKSB3aXRoIGZvbGxvd2luZyBleHRlbnRpb25zOiB7e2FsbG93ZWRGaWxlVHlwZX19LjwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpPlRvdGFsIGZpbGUocykgc2l6ZSBjYW5ub3QgZXhjZWVkIDxiPnt7bWF4U2l6ZUluTUJ9fTwvYj4gTUIuPC9saT5cclxuICAgICAgICAgICAgICA8bGk+WW91IGNhbiB1cGxvYWQgbWF4aW11bSA8Yj57e25vT2ZGaWxlc1RvVXBsb2FkfX08L2I+IGZpbGUocykuPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj4gXHJcbiAgICAgIDx0ciAqbmdJZj1cInByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgIDx0ZCAqbmdJZj1cInF1ZXVlLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICA8ZGl2PjxiPisgQWRkPC9iPiBmaWxlczwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkICpuZ0lmPVwicXVldWUubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGRpdj48Yj4rIEFkZDwvYj4gYW55IG90aGVyIGZpbGVzPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGZvcm1Db250cm9sTmFtZT1cInVwbG9hZEZpbGVDdHJsXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cIkFkZCBGaWxlc1wiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC10YWJsZT5cclxuPC9zZWN0aW9uPlxyXG48c2VjdGlvbiAqbmdJZj1cInRoaXMuY29udGV4dCA9PSAnc2lnbmF0dXJlJ1wiPlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2w+XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpbWFnZUh0bWxcIiBzdHlsZT1cIndpZHRoOiAzODVweDsgaGVpZ2h0OiAxMDBweDsgYm9yZGVyOiAxcHggc29saWQgZ3JheTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+PC9kaXY+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgICA8aW9uLWNvbD5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1cGxvYWRGaWxlQ3RybFwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkVG9UYXhBdWRpdCgkZXZlbnQpXCIgLz5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInNxdWFyZVwiIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0aGlzLmNvbnRleHQgPT0gJ3VwbG9hZFppcENvZGVzJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGZvcm1Db250cm9sTmFtZT1cInVwbG9hZEZpbGVDdHJsXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAoY2hhbmdlKT1cImFkZFRvUXVldWUoJGV2ZW50KVwiIC8+XHJcbiAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInNxdWFyZVwiIHNpemU9XCJkZWZhdWx0XCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgIFVwbG9hZCBaaXAgQ29kZXNcclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48L2Zvcm0+Il19
522
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXNFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNNM0gsOEJBQXFEO0lBQ25ELHVDQUM4RDs7SUFDaEUsaUJBQUs7O0lBRmUsZUFBcUQ7SUFBckQsdUZBQXFEOzs7O0lBSXZFLCtCQUF1RSxvQkFBQTtJQUUvQyxvTUFBVSxlQUFBLDBCQUFrQixDQUFBLElBQUM7SUFEbkQsaUJBQ3NEO0lBQ3RELHNDQUFnRztJQUE1Qiw0TEFBUyxlQUFBLFlBQWlCLENBQUEsSUFBQztJQUM3Riw4QkFDRjtJQUFBLGlCQUFhLEVBQUE7OztJQUprRCxlQUEwQjtJQUExQiwrQ0FBMEI7Ozs7SUFPM0YsK0JBQXdFLG9CQUFBO0lBRXBFLG9NQUFVLGVBQUEsMEJBQWtCLENBQUEsSUFBQztJQUQvQixpQkFDa0M7SUFDbEMsc0NBQWdHO0lBQTVCLDRMQUFTLGVBQUEsWUFBaUIsQ0FBQSxJQUFDO0lBQzdGLDZCQUNGO0lBQUEsaUJBQWEsRUFBQTs7O0lBSmtELGVBQTBCO0lBQTFCLGdEQUEwQjs7O0lBakIvRiwwQkFBSSxT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QUQ3QixTQUFTO21CQUFDLHlCQUF5QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUl2RCxNQUFNO2tCQURMLE1BQU07WUFJUCxLQUFLO2tCQURKLE1BQU07WUFJUCxXQUFXO2tCQURWLE1BQU07WUFHb0IsU0FBUztrQkFBbkMsWUFBWTttQkFBQyxXQUFXO1lBT3pCLGVBQWU7a0JBRGQsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLHdCQUF3QjtrQkFEdkIsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSzs7a0ZBekRLLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkcmVuLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IENhcHRjaGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FwdGNoYS9jYXB0Y2hhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rtcy1zZXJ2aWNlL2Rtcy5zZXJ2aWNlJztcbmltcG9ydCB7IEF1ZGl0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1ZGl0L2F1ZGl0LnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXVwbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogRmlsZVVwbG9hZGVyQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG5cbiAgaW1hZ2VCYXNlNjQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgREVGQVVMVF9TSU5HTEVfRklMRV9MSU1JVCA9IDE7XG5cbiAgcHJpdmF0ZSBERUZBVUxUX0ZJTEVfU0laRV9JTl9NQiA9IDE7XG5cbiAgcHJpdmF0ZSBGSUxFX1VQTE9BRF9BQ1RJT05fTkFNRSA9ICdmaWxlX3VwbG9hZCc7XG5cbiAgcHVibGljIHNob3dQcm9ncmVzcyA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyB1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xuXG4gIEBPdXRwdXQoKVxuICB1cGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWxlczogRXZlbnRFbWl0dGVyPE1hcDxGaWxlLCBzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgdXBsb2FkQXVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDtcblxuICBxdWV1ZTogRmlsZVtdID0gW107XG5cbiAgbWFwT2ZGaWxlczogTWFwPEZpbGUsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5cbiAgQElucHV0KClcbiAgYWxsb3dlZEZpbGVUeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWltZVR5cGU6c3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHJvb2ZPZkFueXRoaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dTZXBhcmF0ZUF0dGFjaEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG5vT2ZGaWxlc1RvVXBsb2FkOiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfU0lOR0xFX0ZJTEVfTElNSVQ7XG5cbiAgQElucHV0KClcbiAgbWF4U2l6ZUluTUI6IG51bWJlciA9IHRoaXMuREVGQVVMVF9GSUxFX1NJWkVfSU5fTUI7XG5cbiAgQElucHV0KClcbiAgdXBsb2FkVG9ETVM6Ym9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgY29ycklkO1xuICBcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBpbWFnZUh0bWw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHJpdmF0ZSB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBmczogRG1zU2VydmljZSwgXG4gICAgcHVibGljIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLCBwcml2YXRlIGNzOiBDYXB0Y2hhU2VydmljZSwgcHJpdmF0ZSBhczogQXVkaXRTZXJ2aWNlKSB7XG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ3VwbG9hZEZpbGVDdHJsJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdXBsb2FkRmlsZUN0cmwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkRmlsZUZvcm0uY29udHJvbHNbJ3VwbG9hZEZpbGVDdHJsJ107XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmKHRoaXMuY29ycklkKXtcblxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlOiBTdHJpbmcpID0+IHtcblxuICB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge1xuXG4gIH07XG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb3JySWQnXSkge1xuICAgICAgaWYodGhpcy5jb3JySWQgJiYgdGhpcy5jb250ZXh0PT09J3NpZ25hdHVyZScpe1xuICAgICAgICB0aGlzLmZzLmdldFRheEF1ZGl0RmlsZSh0aGlzLmNvcnJJZCkuc3Vic2NyaWJlKChyZXMpPT57XG4gICAgICAgICAgdGhpcy5pbWFnZUJhc2U2NCA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuaW1hZ2VIdG1sID0gYDxpbWcgc3JjPVwiJHt0aGlzLmltYWdlQmFzZTY0fVwiIGFsdD1cIlVwbG9hZGVkIEltYWdlXCIgd2lkdGg9XCIzODVweFwiIGhlaWdodD1cIjk4cHhcIj5gO1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBmaWxlVG9CYXNlNjQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgIH0pO1xuICB9XG4gIGFzeW5jIHVwbG9hZFRvVGF4QXVkaXQgKGV2ZW50KXtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIGNvbnN0IGJhc2U2NCA9IGF3YWl0IHRoaXMuZmlsZVRvQmFzZTY0KGZpbGUpO1xuICAgIGxldCBjb3JJZDsgXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgIFxuICAgIHRoaXMuYXMuZ2V0Q29ycklkKCkuc3Vic2NyaWJlKChyZXMpPT57XG4gICAgICBjb3JJZCA9IHJlcztcbiAgICAgIGxldCByZXEgPSB7XG4gICAgICAgICAgIFwiZWFuXCI6IFwiMTIzNDU2NzhcIixcbiAgICAgICAgICAgIFwieWVhclwiOiBcIjIwMjZcIixcbiAgICAgICAgICAgICBcImNvcnJlc3BvZGVuY2VMaXN0XCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiYmFzZTY0RmlsZURhdGFcIjpiYXNlNjQsXG4gICAgICAgICAgICAgICAgXCJjb3JySWRcIjogcmVzLFxuICAgICAgICAgICAgICAgIFwiZGlyZWN0aW9uXCI6IFwiSU5CT1VORFwiLFxuICAgICAgICAgICAgICAgIFwiZG9jQ29kZVwiOiBgc2lnbmF0dXJlXyR7Y29ySWR9YCxcbiAgICAgICAgICAgICAgICBcIm1pbWVUeXBlXCI6IHRoaXMubWltZVR5cGUsXG4gICAgICAgICAgICAgICAgXCJ0aXRsZVwiOiBcInNpZ25hdHVyZVwiLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgXVxuICAgICAgfVxuICAgICAgdGhpcy5jcy5nZW5lcmF0ZUNhcHRjaGFUb2tlbignZmlsZV91cGxvYWQnKS5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3Muc2V0SW52aXNpYmVsQ2FwdGNoYSh0b2tlbik7XG4gICAgICAgICAgICB0aGlzLmZzLnVwbG9hZFRheEF1ZGl0RmlsZShyZXEpLnN1YnNjcmliZShyZXM9PntcbiAgICAgICAgICAgICAgdGhpcy51cGxvYWRBdWRpdC5lbWl0KGNvcklkKVxuICAgICAgICAgICAgICBpZih0aGlzLmNvbnRleHQ9PT0nc2lnbmF0dXJlJyl7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUJhc2U2NCA9IGJhc2U2NDtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlSHRtbCA9IGA8aW1nIHNyYz1cIiR7dGhpcy5pbWFnZUJhc2U2NH1cIiBhbHQ9XCJVcGxvYWRlZCBJbWFnZVwiIHdpZHRoPVwiMzg1cHhcIiBoZWlnaHQ9XCI5OHB4XCI+YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc1wiLHJlcylcbiAgICAgICAgICAgIH0sZXJyPT57XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIixlcnIpO1xuICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSlcbiAgICAgICB9LChlcnIpPT57XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgYWRkVG9RdWV1ZShldmVudCkge1xuICAgIGxldCBjdXJyRmlsZVVwbGRTaXplOiBudW1iZXIgPSAwO1xuICAgIGxldCBwcmVGaWxlVXBsZFNpemU6IG51bWJlciA9IDA7XG4gICAgbGV0IG1heFNpemVSZWFjaGVkOiBCb29sZWFuID0gZmFsc2U7XG4gICAgbGV0IGN1clVwbGRGaWxlTGVuOiBudW1iZXIgPSBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoO1xuICAgIGxldCBwcmVVcGxkRmlsZUxlbjogbnVtYmVyID0gdGhpcy5xdWV1ZS5sZW5ndGg7XG5cbiAgICBpZiAoKGN1clVwbGRGaWxlTGVuICsgcHJlVXBsZEZpbGVMZW4pID4gdGhpcy5ub09mRmlsZXNUb1VwbG9hZCkge1xuICAgICAgdGhpcy5lcnJvcihcIllvdSBjYW4gbm90IHVwbG9hZCBtb3JlIHRoYW4gXCIgKyB0aGlzLm5vT2ZGaWxlc1RvVXBsb2FkICsgXCIgZmlsZShzKS5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBwcmVGaWxlVXBsZFNpemUgPSB0aGlzLmdldFNpemVJbk1CKHRoaXMucXVldWVbaV0uc2l6ZSkgKyBwcmVGaWxlVXBsZFNpemU7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGN1cnJGaWxlVXBsZFNpemUgPSBjdXJyRmlsZVVwbGRTaXplICsgdGhpcy5nZXRTaXplSW5NQihldmVudC50YXJnZXQuZmlsZXNbaV0uc2l6ZSlcbiAgICB9XG5cbiAgICBtYXhTaXplUmVhY2hlZCA9IChwcmVGaWxlVXBsZFNpemUgKyBjdXJyRmlsZVVwbGRTaXplID4gdGhpcy5tYXhTaXplSW5NQik7XG5cbiAgICBpZiAobWF4U2l6ZVJlYWNoZWQpIHtcbiAgICAgIHRoaXMuZXJyb3IoJ0NvbWJpbmVkIGZpbGUocykgc2l6ZSBjYW4gbm90IGJlIG1vcmUgdGhhbiAnICsgdGhpcy5tYXhTaXplSW5NQiArICcgTUIuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgIFxuICAgIHRoaXMuY3MuZ2VuZXJhdGVDYXB0Y2hhVG9rZW4odGhpcy5GSUxFX1VQTE9BRF9BQ1RJT05fTkFNRSlcbiAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5jcy5zZXRJbnZpc2liZWxDYXB0Y2hhKHRva2VuKTtcbiAgICAgICAgaWYgKCFtYXhTaXplUmVhY2hlZCkge1xuICAgICAgICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlc1wiLCBldmVudC50YXJnZXQuZmlsZXNbaV0sIGV2ZW50LnRhcmdldC5maWxlc1tpXS5uYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGZpbGVzID0gWy4uLmV2ZW50LnRhcmdldC5maWxlc107XG4gICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgaWYoIXRoaXMudXBsb2FkVG9ETVMpe1xuICAgICAgICAgICAgLy8gbGV0IGZpbGVzID0gWy4uLmV2ZW50LnRhcmdldC5maWxlc107XG4gICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnF1ZXVlLnB1c2goZmlsZXNbaV0pO1xuICAgICAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5zZXQoZmlsZXNbaV0sIG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmZzXG4gICAgICAgICAgICAudXBsb2FkRmlsZShmb3JtRGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKGZpbGVzW2ldKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5zZXQoZmlsZXNbaV0sIHJlc1tpXS5maWxlSWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzKCdGaWxlKHMpIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseS4nKTtcblx0XHQgICAgICAgICAgICAgICAgLy9TcGVjaWZpY2FsbHkgZm9yIFNpZ25hdHVyZS1VcGxvYWQgKFdpbGwgYmUgbW92ZSB0byBhIG5ldyBtZXRob2QpXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9ICh0aGlzLm1hcE9mRmlsZXMuZW50cmllcygpLm5leHQoKS52YWx1ZSlbMF07XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUgJiYgKGZpbGUudHlwZSA9PT0gJ2ltYWdlL3BuZycgfHwgZmlsZS50eXBlID09PSAnaW1hZ2UvanBlZycgXG4gICAgICAgICAgICAgICAgICB8fCBmaWxlLnR5cGUgPT09ICdpbWFnZS9naWYnKSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VCYXNlNjQgPSBlLnRhcmdldC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VIdG1sID0gYDxpbWcgc3JjPVwiJHt0aGlzLmltYWdlQmFzZTY0fVwiIGFsdD1cIlVwbG9hZGVkIEltYWdlXCIgd2lkdGg9XCIxMjVcIiBoZWlnaHQ9XCI3NVwiPmA7XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxlcy5lbWl0KHRoaXMubWFwT2ZGaWxlcyk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yKFwiRmlsZSB1cGxvYWQgZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLmVycm9yKFwiRmlsZSB1cGxvYWQgZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRnJvbVF1ZXVlKGZpbGVUb1JlbW92ZSkge1xuICAgIGxldCBpbmRleDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMucXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLnF1ZXVlW2ldLm5hbWUgPT09IGZpbGVUb1JlbW92ZS5uYW1lKSB7XG4gICAgICAgIGluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xuICAgIGxldCBmaWxlSWQgPSB0aGlzLm1hcE9mRmlsZXMuZ2V0KGZpbGVUb1JlbW92ZSk7XG4gICAgdGhpcy5jcy5nZW5lcmF0ZUNhcHRjaGFUb2tlbih0aGlzLkZJTEVfVVBMT0FEX0FDVElPTl9OQU1FKVxuICAgICAgLnN1YnNjcmliZSgodG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmNzLnNldEludmlzaWJlbENhcHRjaGEodG9rZW4pO1xuICAgICAgICB0aGlzLmZzLmRlbGV0ZUZpbGUoZmlsZUlkKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVldWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMubWFwT2ZGaWxlcy5kZWxldGUoZmlsZVRvUmVtb3ZlKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSlcbiAgICAgICAgICAgIHRoaXMuZmlsZXMuZW1pdCh0aGlzLm1hcE9mRmlsZXMpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lcnJvcihcIkVycm9yIHdoaWxlIGRlbGV0aW5nIGZpbGUuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICB9KVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvcihcIkVycm9yIHdoaWxlIGRlbGV0aW5nIGZpbGUuIFBsZWFzZSB0cnkgYWdhaW4uXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIGdldFNpemVJbk1CKG51bTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG51bSAvIDEwMjQgLyAxMDI0XG4gIH1cblxuICBhc3luYyBwcmVzZW50VG9hc3QobXNnLCBjb2xvcikge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IG1zZyxcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxuICAgICAgY29sb3I6IGNvbG9yLFxuICAgICAgcG9zaXRpb246ICdib3R0b20nXG4gICAgfSk7XG4gICAgdG9hc3QucHJlc2VudCgpO1xuICB9XG5cbiAgc3VjY2Vzcyhtc2cpIHtcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdwcmltYXJ5Jyk7XG4gIH1cblxuICBlcnJvcihtc2cpIHtcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdkYW5nZXInKTtcbiAgfVxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInVwbG9hZEZpbGVGb3JtXCIgI3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgPHNlY3Rpb24gKm5nSWY9XCJ0aGlzLmNvbnRleHQgIT0gJ3NpZ25hdHVyZScgJiYgdGhpcy5jb250ZXh0ICE9J3VwbG9hZFppcENvZGVzJ1wiPlxyXG4gIDxwLXRhYmxlIFt2YWx1ZV09XCJxdWV1ZVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbbG9hZGluZ109XCJzaG93UHJvZ3Jlc3NcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aD5OYW1lPC90aD5cclxuICAgICAgICA8dGg+U2l6ZTwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiICpuZ0lmPVwicHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J3Byb29mLm9mLmFueXRoaW5nLmluZm8nfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGggY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyXCIgKm5nSWY9XCJtdWx0aXBsZSAmJiAhcHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgIENob29zZSBGaWxlc1xyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cIiFtdWx0aXBsZSAmJiAhcHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXBsb2FkRmlsZUN0cmxcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgc2l6ZT1cInNtYWxsXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgQ2hvb3NlIEZpbGVcclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1xdWV1ZT5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZD57eyBxdWV1ZT8ubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHF1ZXVlPy5zaXplLzEwMjQvMTAyNCB8IG51bWJlcjonLjInIH19IE1CPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21RdWV1ZShxdWV1ZSlcIlxyXG4gICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cImlvbi1wYWRkaW5nLWxlZnRcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgPHRyICpuZ0lmPVwiIXByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjNcIj5cclxuICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cImFsbG93ZWRGaWxlVHlwZVwiPllvdSBhcmUgYWxsb3dlZCB0byB1cGxvYWQgZmlsZShzKSB3aXRoIGZvbGxvd2luZyBleHRlbnRpb25zOiB7e2FsbG93ZWRGaWxlVHlwZX19LjwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpPlRvdGFsIGZpbGUocykgc2l6ZSBjYW5ub3QgZXhjZWVkIDxiPnt7bWF4U2l6ZUluTUJ9fTwvYj4gTUIuPC9saT5cclxuICAgICAgICAgICAgICA8bGk+WW91IGNhbiB1cGxvYWQgbWF4aW11bSA8Yj57e25vT2ZGaWxlc1RvVXBsb2FkfX08L2I+IGZpbGUocykuPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj4gXHJcbiAgICAgIDx0ciAqbmdJZj1cInByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgIDx0ZCAqbmdJZj1cInF1ZXVlLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICA8ZGl2PjxiPisgQWRkPC9iPiBmaWxlczwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkICpuZ0lmPVwicXVldWUubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGRpdj48Yj4rIEFkZDwvYj4gYW55IG90aGVyIGZpbGVzPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGZvcm1Db250cm9sTmFtZT1cInVwbG9hZEZpbGVDdHJsXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cIkFkZCBGaWxlc1wiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC10YWJsZT5cclxuPC9zZWN0aW9uPlxyXG48c2VjdGlvbiAqbmdJZj1cInRoaXMuY29udGV4dCA9PSAnc2lnbmF0dXJlJ1wiPlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2w+XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpbWFnZUh0bWxcIiBzdHlsZT1cIndpZHRoOiAzODVweDsgaGVpZ2h0OiAxMDBweDsgYm9yZGVyOiAxcHggc29saWQgZ3JheTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+PC9kaXY+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgICA8aW9uLWNvbD5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1cGxvYWRGaWxlQ3RybFwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkVG9UYXhBdWRpdCgkZXZlbnQpXCIgLz5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInNxdWFyZVwiIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0aGlzLmNvbnRleHQgPT0gJ3VwbG9hZFppcENvZGVzJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IGZvcm1Db250cm9sTmFtZT1cInVwbG9hZEZpbGVDdHJsXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAoY2hhbmdlKT1cImFkZFRvUXVldWUoJGV2ZW50KVwiIC8+XHJcbiAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInNxdWFyZVwiIHNpemU9XCJkZWZhdWx0XCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XHJcbiAgICAgIFVwbG9hZCBaaXAgQ29kZXNcclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48L2Zvcm0+Il19
@@ -620,7 +620,7 @@ export class HeaderComponent extends BasePage {
620
620
  if (this.ls.isTaxAuditSupervisor() || this.ls.isTaxAuditDirector()) {
621
621
  this.openPage('audit', '/referrals');
622
622
  }
623
- else if (this.ls.isTaxAuditAuditor() || this.ls.isTpa()) { //Agency Employee Default - check role with ciju
623
+ else if (this.ls.isTaxAuditAuditor() || this.ls.isTpa() || this.ls.hasRole('taxauditagencystaff')) { //Agency Employee Default - check role with ciju
624
624
  this.openPage('audit', '/new-referral');
625
625
  }
626
626
  }
@@ -801,4 +801,4 @@ export class HeaderComponent extends BasePage {
801
801
  args: ['context']
802
802
  }] }); })();
803
803
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderComponent, { className: "HeaderComponent", filePath: "lib\\components\\header\\header.component.ts", lineNumber: 23 }); })();
804
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2RoRCx1Q0FDbUI7Ozs7SUFEa0IsdUVBQW9DOzs7SUFJakUsc0NBQzRIOzs7SUFBaEcseUdBQTZFOzs7O0lBUXpHLHNDQUF5TTtJQUE3TCx3TEFBUyxlQUFBLGtCQUFVLENBQUEsSUFBQztJQUF5SyxvQkFBSTtJQUFBLGlCQUFhOzs7SUFBaEosbUdBQTZFOzs7O0lBRXZKLHNDQUE4UjtJQUFqRCx3TEFBUyxlQUFBLHNCQUFjLENBQUEsSUFBQzs7SUFBeUIsWUFBOEM7SUFBQSxpQkFBYTs7O0lBQXhULG1GQUFrRDtJQUEwQixvR0FBOEU7SUFBbUcsZUFBOEM7SUFBOUMsd0VBQThDOzs7O0lBQzVVLHNDQUE0UjtJQUF6Qix3TEFBUyxlQUFBLHNCQUFjLENBQUEsSUFBQzs7SUFBQyxZQUE4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QXNCO1lBQXRCLDJDQUFzQjtZQUlSLGVBQThCO1lBQTlCLG1EQUE4Qjs7O2lGRDdHOUMsZUFBZTtjQUwzQixTQUFTOzJCQUNFLFlBQVk7K1NBY04sS0FBSztrQkFBcEIsS0FBSzttQkFBQyxPQUFPO1lBRUcsTUFBTTtrQkFBdEIsS0FBSzttQkFBQyxRQUFRO1lBRVMsYUFBYTtrQkFBcEMsS0FBSzttQkFBQyxlQUFlO1lBRUEsV0FBVztrQkFBaEMsS0FBSzttQkFBQyxhQUFhO1lBRUUsV0FBVztrQkFBaEMsS0FBSzttQkFBQyxhQUFhO1lBRUQsUUFBUTtrQkFBMUIsS0FBSzttQkFBQyxVQUFVO1lBRUMsT0FBTztrQkFBeEIsS0FBSzttQkFBQyxTQUFTOztrRkF0QkwsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IENsYWltYW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhaW1hbnQvQ2xhaW1hbnRNb2RlbCc7XG5pbXBvcnQgeyBNeU5vdGlmaWNhdGlvbnNQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktbm90aWZpY2F0aW9ucy9teS1ub3RpZmljYXRpb25zLnBhZ2UnO1xuaW1wb3J0IHsgTXlQcm9maWxlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL3BvcG92ZXJzL215LXByb2ZpbGUvbXktcHJvZmlsZS5wYWdlJztcbmltcG9ydCB7IENsYWltYW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50L2NsYWltYW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVscFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQgIHtcblxuICBpdGVtczogTWVudUl0ZW1bXTtcblxuICBzZWFyY2hUZXh0O1xuXG4gIHJlc3VsdHM6IENsYWltYW50TW9kZWxbXTtcblxuICBjb250ZXh0Um9vdDpzdHJpbmc7XG5cbiAgQElucHV0KCd0aXRsZScpIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdwYWdlSWQnKSBwYWdlSWQ6IHN0cmluZztcblxuICBASW5wdXQoJ3NlY29uZFRvb2xiYXInKSBzZWNvbmRUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdkaXNwbGF5TG9nbycpIGRpc3BsYXlMb2dvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdzaG93SGlzdG9yeScpIHNob3dIaXN0b3J5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdiYWNrUGFnZScpIGJhY2tQYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdjb250ZXh0JykgY29udGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9uTG9hZGVyID0gZmFsc2U7XG5cbiAgcHVibGljIGxlZ2FjeU1lbnUgPSBMaWJDb25zdGFudHMubGVnYWN5TWVudTtcblxuICBwdWJsaWMgaW50ZXJpbUhvbWVQYWdlID0gTGliQ29uc3RhbnRzLmludGVyaW1Ib21lUGFnZTtcblxuICBwdWJsaWMgc2hvd1Byb2ZpbGVQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93TGFuZ3VhZ2VPcHRpb24gPSBMaWJDb25zdGFudHMuZW5hYmxlTGFuZ3VhZ2VDaGFuZ2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxzIDogTG9naW5TZXJ2aWNlLCBwdWJsaWMgdXRpbCA6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgciA6IFJvdXRlciwgcHVibGljIHBvcHVwOiBQb3BvdmVyQ29udHJvbGxlciwgXG4gICAgICAgICAgICAgIHB1YmxpYyBjcyA6IENsYWltYW50U2VydmljZSwgcHJpdmF0ZSBuYXYgOiBOYXZDb250cm9sbGVyLCBwdWJsaWMgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgICAgICAgICAgIHB1YmxpYyBucyA6IE5vdGlmaWNhdGlvblNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlIDogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgICAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy90aGlzLmxvYWROb3RpZmljYXRpb25Db3VudCgpO1xuICAgIHRoaXMuc2V0TWVudUl0ZW1zKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xuICAgIHRoaXMuY29udGV4dFJvb3QgPSB0aGlzLmdldENvbnRleHRSb290KCk7XG4gIH1cbiAgXG4gIC8qSm9iIFNlYXJjaCBSZXN1bHQgSWNvbiBQb3B1cFxuICAgcHJlc2VudEpvYlNlYXJjaFJlc3VsdFBvcHVwKCkge1xuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpKXtcbiAgICAgIHRoaXMuc2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgKi9cbiAgZ2V0Q29udGV4dFJvb3QoKXtcbiAgICBsZXQgcGFydHMgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKTtcbiAgICBsZXQgY29udGV4dFJvb3QgPSBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiAnJztcbiAgICByZXR1cm4gY29udGV4dFJvb3Q7XG4gIH1cbiAgc2V0TWVudUl0ZW1zKGxhbmd1YWdlIDogc3RyaW5nKXtcbiAgICB0aGlzLml0ZW1zID0gW3tcbiAgICAgIGxhYmVsIDogJ0Nob29zZSBsYW5ndWFnZScsXG4gICAgICBpdGVtczogW3tcbiAgICAgICAgbGFiZWw6ICdFbmdsaXNoJyxcbiAgICAgICAgaWNvbiA6IHRoaXMuZ2V0SWNvbihsYW5ndWFnZSwnZW4nKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMYW5ndWFnZSgnZW4nLCAnRW5nbGlzaCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ0VzcGHDsW9sJyxcbiAgICAgICAgaWNvbiA6IHRoaXMuZ2V0SWNvbihsYW5ndWFnZSwnZXMnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMYW5ndWFnZSgnZXMnLCAnZXNwYcOxb2wnKTtcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9XTtcbiAgfVxuXG4gIGdldEljb24oc2VsZWN0ZWRMYW5nIDogc3RyaW5nLCBsYW5ndWFnZSA6IHN0cmluZyl7XG4gICAgaWYobGFuZ3VhZ2UgPT0gc2VsZWN0ZWRMYW5nKXtcbiAgICAgIHJldHVybiBcInBpIHBpLWZ3IHBpLWNoZWNrXCI7XG4gICAgfWVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2UgOiBzdHJpbmcsIG5hbWUgOiBzdHJpbmcpe1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZ3VhZ2UpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmd1YWdlKTtcbiAgICB0aGlzLnV0aWwudG9hc3QoJ0xhbmd1YWdlIHByZWZlcmVuY2UgY2hhbmdlZCB0byAnICsgbmFtZSk7XG4gICAgdGhpcy5zZXRNZW51SXRlbXMobGFuZ3VhZ2UpO1xuICB9XG5cbiAgYXN5bmMgcHJlc2VudE15UHJvZmlsZVBvcG92ZXIoZXZlbnQpIHtcblxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpICYmICAodGhpcy5sZWdhY3lNZW51ID09ICdmYWxzZScgfHwgdGhpcy51dGlsLmlzU3RhdGUoJ01FJykgfHwgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpICYmIExpYkNvbnN0YW50cy5pbnRlcmltSG9tZVBhZ2UgPT0gJ3RydWUnKSkpe1xuICAgICAgdGhpcy5zaG93UHJvZmlsZVBvcHVwID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBNeVByb2ZpbGVQYWdlLFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBjc3NDbGFzczogJ2hlYWRlci1wb3BvdmVyJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgcHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcihldmVudCkge1xuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IE15Tm90aWZpY2F0aW9uc1BhZ2UsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGNzc0NsYXNzOiAnaGVhZGVyLXBvcG92ZXInXG4gICAgfSk7XG5cbiAgICBwb3BvdmVyLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5ucy51cGRhdGVSZWFkRmxhZygpO1xuICAgIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XG4gIH1cblxuICBsb2dvdXQoKXtcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XG4gICAgdGhpcy5scy5sb2dvdXQoKTtcbiAgfVxuXG4gIG9wZW5XZWVrbGllcygpe1xuICAgIGlmKHRoaXMubGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgdGhpcy5pc01TKCkgJiYgdGhpcy5pbnRlcmltSG9tZVBhZ2UgPT0gJ2ZhbHNlJyl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdjcCcsICd2Mi93ZWVrbGllcycpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2NwJywgJ3YzL3dlZWtsaWVzJylcbiAgICB9XG4gIH1cblxuICBvcGVuQXVkaXREYXNoYm9hcmQoKXtcbiAgICBjb25zb2xlLmxvZyhcInJvbGUgb2YgdXNlclwiLHRoaXMubHMuZ2V0VXNlcigpLnJvbGVzKVxuICAgIGlmKHRoaXMuY29udGV4dD09J2F1ZGl0Jyl7XG4gICAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSl7XG4gICAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2Rhc2hib2FyZCcpO1xuICAgICAgfSBlbHNlIGlmKHRoaXMubHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSl7XG4gICAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL215cScpO1xuICAgICAgfSBlbHNlIGlmKHRoaXMubHMuaXNFbXBsb3llcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvJyk7IC8vQWRkIHRoZSBhY3R1YWwgdXJsIGZvciBlbXBsb3llciBhdWRpdCBkYXNoYm9hcmRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvcGVuQXVkaXRvcldvcmtMaXN0KCl7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXVkaXRvci13b3JrLWxpc3QnKTtcbiAgfVxuXG4gIG9wZW5VcGxvYWREb2N1bWVudHMoKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy91cGxvYWQtZG9jdW1lbnRzJyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvck15USgpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9teXEnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvcklucXVpcnkoKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9pbnF1aXJ5Jyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvclJlZmVycmFscygpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL3JlZmVycmFscycpO1xuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgdGhpcy5scy5pc1RwYSgpKXsvL0FnZW5jeSBFbXBsb3llZSBEZWZhdWx0IC0gY2hlY2sgcm9sZSB3aXRoIGNpanVcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL25ldy1yZWZlcnJhbCcpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yQ29uZmlnKCl7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvY29uZmlnJyk7XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvckFuYWx5dGljcygpe1xuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2FuYWx5dGljcycpO1xuICAgIH1cbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgJiYgISh0aGlzLmxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgdGhpcy5scy5pc1RheEF1ZGl0RGlyZWN0b3IoKSkpeyBcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3ItYW5hbHl0aWNzJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlblN1cGVydmlzb3JBc3NpZ24oKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hc3NpZ24nKTtcbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yVGVhbSgpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL3RlYW0nKTtcbiAgfVxuXG4gIG9wZW5RdWVzdGlvbm5haXJlKCl7XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3ItcXVlc3Rpb25uYWlyZScpO1xuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzRW1wbG95ZXIoKSl7XG4gICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hdWRpdG9yLXF1ZXN0aW9ubmFpcmUtZm9ybScpOy8vQWRkIHRoZSBhY3R1YWwgdXJsIGZvciBlbXBsb3llciBxdWVzdGlvbm5haXJlXG4gICAgfVxuICB9XG5cbiAgb3BlbkhvbWUoKXtcbiAgICAvL3RoaXMubmF2Lm5hdmlnYXRlUm9vdChcIi93ZWxjb21lXCIpO1xuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpKXtcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGhpcy51dGlsLmdldENsYWltYW50QXBwQ29udGV4dFJvb3QoKSwgXCJ3ZWxjb21lXCIsIHRoaXMubmF2KTsgXG4gICAgfSBlbHNlIGlmKHRoaXMubHMuaXNDc3IoKSl7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRoaXMudXRpbC5nZXRTZWN1cml0eUFwcENvbnRleHRSb290KCksXCJ3ZWxjb21lXCIsIHRoaXMubmF2KTsgXG4gICAgfSBlbHNlIGlmKHRoaXMubHMuaXNFbXBsb3llcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnLycpOy8vQWRkIHRoZSBhY3R1YWwgdXJsIGZvciBlbXBsb3llciBxdWVzdGlvbm5haXJlXG4gICAgfSBcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChcIi93ZWxjb21lXCIpO1xuICAgIH1cbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICB9XG5cbiAgc2VhcmNoKGV2ZW50KSB7XG4gICAgbGV0IGRvU2VhcmNoID0gZmFsc2U7XG4gICAgbGV0IGNsYWltYW50U2VhcmNoID0gbmV3IENsYWltYW50TW9kZWwoKTtcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeSArICcnO1xuICAgIGlmKHF1ZXJ5LmluY2x1ZGVzKFwiIFwiKSl7XG4gICAgICBsZXQgZk5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMF07XG4gICAgICBsZXQgbE5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMV07XG4gICAgICBjbGFpbWFudFNlYXJjaC5maXJzdE5hbWUgPSBmTmFtZTtcbiAgICAgIGNsYWltYW50U2VhcmNoLmxhc3ROYW1lID0gbE5hbWU7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYocXVlcnkubGVuZ3RoID09IDkgJiYgdGhpcy5pc051bWJlcihxdWVyeSkgJiYgIWRvU2VhcmNoKXtcbiAgICAgIGNsYWltYW50U2VhcmNoLnNzbiA9IHF1ZXJ5O1xuICAgICAgZG9TZWFyY2ggPSB0cnVlO1xuICAgIH1lbHNlIGlmKCF0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xuICAgICAgY2xhaW1hbnRTZWFyY2gudXNlcklkID0gcXVlcnk7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfVxuICAgIFxuICAgIGlmKGRvU2VhcmNoKXtcbiAgICAgIHRoaXMuY3Muc2VhcmNoKGNsYWltYW50U2VhcmNoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRzID0gZGF0YTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNOdW1iZXIobnVtKXtcbiAgICByZXR1cm4gIWlzTmFOKG51bSk7XG4gIH1cblxuICBvblNlbGVjdEFjdGlvbihldmVudCA6IEF1dG9Db21wbGV0ZVNlbGVjdEV2ZW50KXtcbiAgICB0aGlzLnJlc3VsdHMgPSBudWxsO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XG4gICAgdGhpcy5jcy5nZXRDbGFpbWFudCgpLm5leHQoZXZlbnQudmFsdWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpLFwicmVzZXQtcGFzc3dvcmRcIiwgdGhpcy5uYXYpO1xuICAgICAgLy90aGlzLm5hdi5uYXZpZ2F0ZUZvcndhcmQoJy9yZXNldC1wYXNzd29yZCcpO1xuICAgIH0sIDUwMClcbiAgICBcbiAgfVxuXG4gIG9wZW5CZW5lZml0c0FwcCgpe1xuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKVxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XG4gICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcbiAgfVxuXG4gIG9wZW5QYWdlKGNvbnRleHRSb290LCB1cmkpe1xuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLnV0aWwuZ2V0Q29udGV4dFJvb3QoKTtcbiAgICBsZXQgdGFyZ2V0ID0gYC8ke2NvbnRleHRSb290fWA7XG5cbiAgICBpZihjdXJyZW50Q29udGV4dFJvb3QgPT0gdGFyZ2V0KXtcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdChgLyR7dXJpfWApO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0YXJnZXQsIHVyaSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2xhc3MobmFtZSl7XG4gICAgbGV0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuci51cmwucmVwbGFjZSgnLycsICcnKTtcbiAgICBjb25zb2xlLmxvZyhjdXJyZW50Um91dGUsIG5hbWUsIGN1cnJlbnRSb3V0ZSA9PSBuYW1lKTtcbiAgICByZXR1cm4gY3VycmVudFJvdXRlID09IG5hbWUgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJztcbiAgfVxuXG4gIG9wZW5Db250ZXh0SGVscCgpe1xuXG4gIH1cblxuICBhc3luYyBjaGFuZ2VMYW5ndWFnZShldmVudCkge1xuICAgIFxuICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiZGV0ZXJtaW5hdGVcIiBbdmFsdWVdPVwidXRpbC5sb2FkZXIudmFsdWUkIHwgYXN5bmNcIiAqbmdJZj1cIih1dGlsLmxvYWRlci52YWx1ZSQgfCBhc3luYykgIT0gMFwiPlxyXG48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxpb24tdG9vbGJhcj5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O1wiPlxyXG4gICAgICAgIDxpb24tbWVudS1idXR0b24gYXV0b0hpZGU9XCJmYWxzZVwiIHBUb29sdGlwPVwiTWVudVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgW25nQ2xhc3NdPVwibGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSA/ICdoaWRlLXhsIGhpZGUtbGcnIDogJydcIj48L2lvbi1tZW51LWJ1dHRvbj5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCIgW25nQ2xhc3NdPVwiZGlzcGxheUxvZ28gPyAnaGVhZGVyX2J1dHRvbl93aGl0ZScgOiAnaGVhZGVyX2J1dHRvbiBoaWRlLXhzIGhpZGUtbWQnXCIgKGNsaWNrKT1cIm9wZW5BdWRpdERhc2hib2FyZCgpXCI+XHJcbiAgICAgICAgPGltZyBhbHQ9XCJsb2dvXCIgcFRvb2x0aXA9XCJ7eydSZUVtcGxveU1TIExvZ28nIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICBzcmM9XCJhc3NldHMvaWNvbi9SZUVtcGxveXt7dXRpbC5nZXRTdGF0ZSgpfX0uc3ZnXCIgW25nQ2xhc3NdPVwiZGlzcGxheUxvZ28gPyAnaGVhZGVyX2xvZ28nIDogJ2hlYWRlcl9sb2dvIGhpZGUteHMgaGlkZS1tZCdcIi8+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5Ib21lKClcIiBwVG9vbHRpcD1cIkhvbWVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWxjb21lJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0IT0nYXVkaXQnIHx8IGxzLmlzRW1wbG95ZXIoKVwiPkhvbWU8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuRmlsZVdlZWtsaWVzXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZSdcIiAoY2xpY2spPVwib3BlbldlZWtsaWVzKClcIiBjbGFzcz1cImhpZGUteHMgaGlkZS1tZFwiPnt7bGVnYWN5TWVudSA9PSAndHJ1ZScgPyAnV2Vla2x5JyA6ICdXZWVrbHknfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5GaWxlV2Vla2xpZXNcIiBwVG9vbHRpcD1cInt7J2hlYWRlci53ZWVrbHkudG9vbHRpcCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlZWtsaWVzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiAoY2xpY2spPVwib3BlbldlZWtsaWVzKClcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseScgOiAnV2Vla2x5J319PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuRmlsZVdlZWtsaWVzXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJyAmJiB1dGlsLmlzU3RhdGUoJ01FJylcIiAoY2xpY2spPVwib3BlbldlZWtsaWVzKClcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseSBDbGFpbScgOiAnV2Vla2x5J319PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgXHJcbiAgICAgICAgPGlvbi1idXR0b24gcFRvb2x0aXA9XCJIaXN0b3J5XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKSA9PSAnaGlzdG9yeScgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBpbnRlcmltSG9tZVBhZ2UgPT0gJ2ZhbHNlJ1wiIChjbGljayk9XCJvcGVuUGFnZSgnY3AnLCAnaGlzdG9yeScpXCIgY2xhc3M9XCJoaWRlLXhzIGhpZGUtbWRcIj5IaXN0b3J5PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0RW1wbG95ZXJEYXNoYm9hcmRcIiBwVG9vbHRpcD1cIkVtcGxveWVyRGFzaGJvYXJkXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnZW1wbG95ZXItZGFzaGJvYXJkJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNFbXBsb3llcigpXCI+QXVkaXQgRGFzaGJvYXJkPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRNeVFcIiBwVG9vbHRpcD1cIk15UVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ215cScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCBscy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IGxzLmlzVGF4QXVkaXREaXJlY3RvcigpIHx8IGxzLmlzVGF4QXVkaXREaXJlY3RvcigpKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvck15USgpXCI+TXlRPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXREYXNoYm9hcmRcIiBwVG9vbHRpcD1cIkRhc2hib2FyZFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2Rhc2hib2FyZCcpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKXx8IGxzLmlzVGF4QXVkaXREaXJlY3RvcigpKVwiIChjbGljayk9XCJvcGVuQXVkaXREYXNoYm9hcmQoKVwiPkRhc2hib2FyZDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0V29ya0xpc3RcIiBwVG9vbHRpcD1cIldvcmtMaXN0XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnYXVkaXRvci13b3JrLWxpc3QnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKVwiIChjbGljayk9XCJvcGVuQXVkaXRvcldvcmtMaXN0KClcIj5Xb3JrIExpc3Q8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdElucXVpcnlcIiBwVG9vbHRpcD1cIklucXVpcnlcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdpbnF1aXJ5JykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpIHx8ICBscy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJylcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JJbnF1aXJ5KClcIj5JbnF1aXJ5PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRVcGxvYWREb2N1bWVudHNcIiBwVG9vbHRpcD1cIlVwbG9hZCBEb2N1bWVudHNcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd1cGxvYWQtZG9jdW1lbnRzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIGxzLmlzRW1wbG95ZXIoKVwiIChjbGljayk9XCJvcGVuVXBsb2FkRG9jdW1lbnRzKClcIj5VcGxvYWQgRG9jdW1lbnRzPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRRdWVzdGlvbm5haXJlXCIgcFRvb2x0aXA9XCJRdWVzdGlvbm5haXJlXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnYXVkaXRvci1xdWVzdGlvbm5haXJlJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0QXVkaXRvcigpIHx8IGxzLmlzRW1wbG95ZXIoKSlcIiAoY2xpY2spPVwib3BlblF1ZXN0aW9ubmFpcmUoKVwiPlF1ZXN0aW9ubmFpcmU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFJlZmVycmFsc1wiIHBUb29sdGlwPVwiUmVmZXJyYWxzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygncmVmZXJyYWxzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpIHx8ICBscy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJylcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JSZWZlcnJhbHMoKVwiPlJlZmVycmFsczwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0QXNzaWduXCIgcFRvb2x0aXA9XCJBc3NpZ25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhc3NpZ24nKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgbHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvckFzc2lnbigpXCI+QXNzaWduPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRUZWFtXCIgcFRvb2x0aXA9XCJUZWFtXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygndGVhbScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yVGVhbSgpXCI+VGVhbTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0Q29uZmlnXCIgcFRvb2x0aXA9XCJDb25maWdcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdjb25maWcnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQ29uZmlnKClcIj5Db25maWc8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdEFuYWx5dGljc1wiIHBUb29sdGlwPVwiQW5hbHl0aWNzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnYW5hbHl0aWNzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQW5hbHl0aWNzKClcIj5BbmFseXRpY3M8L2lvbi1idXR0b24+XHJcblxyXG5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1jb250ZW50IGhpZGUteHNcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKSAmJiBscy5pc0NzcigpICYmIHRoaXMuY29udGV4dCAhPSdhdWRpdCcgJiYgY29udGV4dFJvb3QgPT09J3NzJ1wiPlxyXG4gICAgICAgIDxwLWF1dG9Db21wbGV0ZSBhcHBlbmRUbz1cImJvZHlcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBbc3VnZ2VzdGlvbnNdPVwicmVzdWx0c1wiXHJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsYWltYW50c1wiIChvblNlbGVjdCk9XCJvblNlbGVjdEFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgZW1wdHlNZXNzYWdlPVwiTm8gUmVzdWx0cyBGb3VuZC5cIiBzaXplPVwiMjVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC11c2VyIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93IGNsYXNzPVwiLmlvbi13cmFwXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemUtYXV0bz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0Pnt7dXNlci5maXJzdE5hbWUgfCBwcm9wZXJDYXNlfX0ge3t1c2VyLmxhc3ROYW1lIHwgcHJvcGVyQ2FzZX19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1c2VyLnVzZXJJZH19PC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1dGlsLm1hc2tTc24odXNlci5zc24pfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJBY2NvdW50XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwibGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSAmJiBzaG93UHJvZmlsZVBvcHVwID8gJ2hpZGUteHMgaGlkZS1tZCBoZWFkZXItYnV0dG9uJyA6IChsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJylcIj5cclxuICAgICAgICAgICAgPGlvbi10aXRsZSBzdHlsZT1cImZvbnQtc2l6ZTogMjBweDsgcGFkZGluZzogMHB4O1wiIGNsYXNzPVwiaGlkZS14c1wiPnt7bHMuZ2V0RnVsbE5hbWUoKSB8IHByb3BlckNhc2V9fTwvaW9uLXRpdGxlPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJwZXJzb24tY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2RvY3VtZW50cycpXCIgcFRvb2x0aXA9XCJOb3RpY2VzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgKm5nSWY9XCIhbHMuaXNDc3IoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgIXV0aWwuaXNTdGF0ZSgnTUUnKVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykgPT0gJ2RvY3VtZW50cycgPyAnaGVhZGVyLWJ1dHRvbiBoaWRlLXhzIGhpZGUtbWQnIDogJ2hpZGUteHMgaGlkZS1tZCdcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9J3BpIHBpLWZpbGUgZm9udC1ib2xkJyBzdHlsZT1cImZvbnQtc2l6ZTogMS4zcmVtOyAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1wiPjwvaT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdkb2N1bWVudHMnKVwiIHBUb29sdGlwPVwiTm90aWNlc1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwiIWxzLmlzQ3NyKCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC10ZXh0LW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudEpvYlNlYXJjaFJlc3VsdFBvcHVwKClcIiBwVG9vbHRpcD1cIlNob3cgam9iIHNlYXJjaCByZXN1bHRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiB1dGlsLmlzU3RhdGUoJ01TJylcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJicmllZmNhc2VcIiBmaWxsPVwib3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPiAtLT5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJOb3RpZmljYXRpb25cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFucy5zaG93Tm90aWZpY2F0aW9uTG9hZGVyICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteHMgaGlkZS1tZCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm5vdGlmaWNhdGlvbnMtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJkYXJrXCIgKm5nSWY9XCJucy5ub3RpZmljYXRpb25Db3VudC5nZXRWYWx1ZSgpID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD57e25zLm5vdGlmaWNhdGlvbkNvdW50LmdldFZhbHVlKCl9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiICpuZ0lmPVwibnMuc2hvd05vdGlmaWNhdGlvbkxvYWRlclwiPjwvaW9uLXNwaW5uZXI+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJ0aGlzLmhzLnNob3coKVwiIHBUb29sdGlwPVwiSGVscFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAoaHMuc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKSB8IGFzeW5jKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImhlbHAtY2lyY2xlLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzZWNvbmRhcnlcIiAqbmdJZj1cIiFscy5pc0xvZ2dlZEluKCkgJiYgbHMuZ2V0VXNlcigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImxvZ291dCgpXCIgcFRvb2x0aXA9XCJMb2dvdXRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctb3V0LXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJzaG93TGFuZ3VhZ2VPcHRpb24gPT09ICd0cnVlJyAmJiAoIWxzLmdldFVzZXIoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJpdGVtc1wiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCIgcFRvb2x0aXA9XCJMYW5ndWFnZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsYW5ndWFnZVwiIHNsb3Q9XCJlbmRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCIgaWQ9XCJzZWNvbmRUb29sYmFyXCIgKm5nSWY9XCJzZWNvbmRUb29sYmFyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XHJcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBwVG9vbHRpcD1cIkJhY2tcIiBhbHQ9XCJCYWNrXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW2RlZmF1bHRIcmVmXT1cImJhY2tQYWdlID8gYmFja1BhZ2UgOiAnL3dlbGNvbWUnXCI+PC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInRpdGxlXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHhcIj57e3RpdGxlfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxyXG4gICAgICAgIDxpb24tdGl0bGUgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IHh4LXNtYWxsOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweDtcIiAqbmdJZj1cInBhZ2VJZFwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VJZH19PC9pb24tdGl0bGU+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG48L2lvbi10b29sYmFyPlxyXG48cC10b2FzdD5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVzc2FnZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnZXJyb3InXCIgY2xhc3M9XCJwaSBwaS10aW1lcy1jaXJjbGVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwicGkgcGktY2hlY2stY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnd2FybidcIiBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwic3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJtZXNzYWdlLnNldmVyaXR5ID09PSAnaW5mbydcIiBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE0cHg7IGZvbnQtc2l6ZTogMzhweCBcIj48L2k+XHJcblxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCInPHN0cm9uZyBzdHlsZT1cXCdmb250LXNpemU6IDIycHg7Zm9udC13ZWlnaHQ6IGJvbGQ7XFwnPicgKyBtZXNzYWdlLnN1bW1hcnkgKyAnPC9zdHJvbmc+PGJyPjxicj4nICsgXHJcbiAgICAgICAgICAgICc8c3BhbiBzdHlsZT1cXCdmb250LXNpemU6IDE4cHg7XFwnPicgKyBtZXNzYWdlLmRldGFpbCArICc8L3NwYW4+J1wiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC10b2FzdD5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCI+XHJcbiAgICA8YXBwLXByb2ZpbGUgKm5nSWY9XCJzaG93UHJvZmlsZVBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dQcm9maWxlUG9wdXAgPSAhc2hvd1Byb2ZpbGVQb3B1cFwiPjwvYXBwLXByb2ZpbGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGFwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlICpuZ0lmPVwic2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwXCIgKG9uQ2FuY2VsKT1cInNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA9ICFzaG93am9iU2VhcmNoUmVzdWx0UG9wdXBcIj48L2FwcC1qb2Itc2VhcmNoLXJlc3VsdC1wYWdlPlxyXG5cclxuXHJcblxyXG4iXX0=
804
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2RoRCx1Q0FDbUI7Ozs7SUFEa0IsdUVBQW9DOzs7SUFJakUsc0NBQzRIOzs7SUFBaEcseUdBQTZFOzs7O0lBUXpHLHNDQUF5TTtJQUE3TCx3TEFBUyxlQUFBLGtCQUFVLENBQUEsSUFBQztJQUF5SyxvQkFBSTtJQUFBLGlCQUFhOzs7SUFBaEosbUdBQTZFOzs7O0lBRXZKLHNDQUE4UjtJQUFqRCx3TEFBUyxlQUFBLHNCQUFjLENBQUEsSUFBQzs7SUFBeUIsWUFBOEM7SUFBQSxpQkFBYTs7O0lBQXhULG1GQUFrRDtJQUEwQixvR0FBOEU7SUFBbUcsZUFBOEM7SUFBOUMsd0VBQThDOzs7O0lBQzVVLHNDQUE0UjtJQUF6Qix3TEFBUyxlQUFBLHNCQUFjLENBQUEsSUFBQzs7SUFBQyxZQUE4QztJQUFBLGlCQUFhOzs7SUFBdFQsbUZBQWtEO0lBQTBCLG9HQUE4RTtJQUFpRyxlQUE4QztJQUE5Qyx3RUFBOEM7Ozs7SUFDMVUsc0NBQTJSO0lBQXpCLHdMQUFTLGVBQUEsc0JBQWMsQ0FBQSxJQUFDOztJQUFDLFlBQW9EO0lBQUEsaUJBQWE7OztJQUEzVCxtRkFBa0Q7SUFBMEIsb0dBQThFO0lBQWdHLGVBQW9EO0lBQXBELDhFQUFvRDs7OztJQUcvVSxzQ0FBMFE7SUFBNUQsd0xBQVMsZUFBQSxpQkFBUyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUEsSUFBQztJQUF5Qix1QkFBTztJQUFBLGlCQUFhOzs7SUFBdE8sNEZBQXNFOzs7SUFDMUgsc0NBQWtOO0lBQUEsK0JBQWU7SUFBQSxpQkFBYTs7O0lBQTdJLDhHQUF3Rjs7OztJQUM3TCxzQ0FBMFQ7SUFBOUIsd0xBQVMsZUFBQSwyQkFBbUIsQ0FBQSxJQUFDO0lBQUMsbUJBQUc7SUFBQSxpQkFBYTs7O0lBQXJRLCtGQUF5RTs7OztJQUM5SSxzQ0FBdVI7SUFBL0Isd0xBQVMsZUFBQSw0QkFBb0IsQ0FBQSxJQUFDO0lBQUMseUJBQVM7SUFBQSxpQkFBYTs7O0lBQTVOLHFHQUErRTs7OztJQUNoSyxzQ0FBK1A7SUFBaEMsd0xBQVMsZUFBQSw2QkFBcUIsQ0FBQSxJQUFDO0lBQUMseUJBQVM7SUFBQSxpQkFBYTs7O0lBQXRNLDZHQUF1Rjs7OztJQUN0SyxzQ0FBcVY7SUFBbEMseUxBQVMsZUFBQSwrQkFBdUIsQ0FBQSxJQUFDO0lBQUMsdUJBQU87SUFBQSxpQkFBYTs7O0lBQTVSLG1HQUE2RTs7OztJQUMxSixzQ0FBc1E7SUFBaEMseUxBQVMsZUFBQSw2QkFBcUIsQ0FBQSxJQUFDO0lBQUMsZ0NBQWdCO0lBQUEsaUJBQWE7OztJQUFyTSw0R0FBc0Y7Ozs7SUFDcEwsc0NBQWdTO0lBQTlCLHlMQUFTLGVBQUEsMkJBQW1CLENBQUEsSUFBQztJQUFDLDZCQUFhO0lBQUEsaUJBQWE7OztJQUFqTyxpSEFBMkY7Ozs7SUFDcEwsc0NBQTZWO0lBQXBDLHlMQUFTLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUFDLHlCQUFTO0lBQUEsaUJBQWE7OztJQUFsUyxxR0FBK0U7Ozs7SUFDaEssc0NBQW9QO0lBQWpDLHlMQUFTLGVBQUEsOEJBQXNCLENBQUEsSUFBQztJQUFDLHNCQUFNO0lBQUEsaUJBQWE7OztJQUE1TCxrR0FBNEU7Ozs7SUFDdkosc0NBQTRPO0lBQS9CLHlMQUFTLGVBQUEsNEJBQW9CLENBQUEsSUFBQztJQUFDLG9CQUFJO0lBQUEsaUJBQWE7OztJQUF0TCxnR0FBMEU7Ozs7SUFDakosc0NBQWlSO0lBQWpDLHlMQUFTLGVBQUEsOEJBQXNCLENBQUEsSUFBQztJQUFDLHNCQUFNO0lBQUEsaUJBQWE7OztJQUF6TixrR0FBNEU7Ozs7SUFDdkosc0NBQXVUO0lBQXBDLHlMQUFTLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUFDLHlCQUFTO0lBQUEsaUJBQWE7OztJQUE1UCxxR0FBK0U7OztJQXBCcEssdUNBQWtEO0lBQzlDLDZGQUEwTixnRkFBQSxnRkFBQSxnRkFBQSxnRkFBQSxnRkFBQSxnRkFBQSxnRkFBQSxnRkFBQSxrRkFBQSxrRkFBQSxrRkFBQSxrRkFBQSxrRkFBQSxrRkFBQSxrRkFBQSxrRkFBQTtJQXNCOU4saUJBQWM7OztJQXRCK0ksZUFBOEM7SUFBOUMsMEVBQThDO0lBRVYsZUFBOEM7SUFBOUMsNkVBQThDO0lBQzlDLGVBQW9FO0lBQXBFLDBHQUFvRTtJQUNwRSxlQUFtRTtJQUFuRSx5R0FBbUU7SUFHaEksZUFBNEU7SUFBNUUsa0hBQTRFO0lBQ2IsZUFBcUI7SUFBckIsNkNBQXFCO0lBQ3BFLGVBQTBJO0lBQTFJLDJMQUEwSTtJQUN4SCxlQUFvRjtJQUFwRix3SEFBb0Y7SUFDOUUsZUFBcUQ7SUFBckQsaUZBQXFEO0lBQ2pFLGVBQXFKO0lBQXJKLHFNQUFxSjtJQUMzSCxlQUE4QztJQUE5QywwRUFBOEM7SUFDOUMsZUFBMEU7SUFBMUUsNkdBQTBFO0lBQzlGLGVBQXFKO0lBQXJKLHFNQUFxSjtJQUM5SixlQUF3RDtJQUF4RCxvRkFBd0Q7SUFDOUQsZUFBd0Q7SUFBeEQsb0ZBQXdEO0lBQ2xELGVBQXFGO0lBQXJGLHdIQUFxRjtJQUM1RSxlQUErRztJQUEvRyx5SkFBK0c7OztJQVd6USxtQ0FBNEIsa0JBQUEsZUFBQTtJQUVWLFlBQThEOzs7SUFBQSxpQkFBVyxFQUFBO0lBRXZGLG1DQUFtQixlQUFBO0lBQ0wsWUFBZTtJQUFBLGlCQUFXLEVBQUE7SUFFeEMsbUNBQW1CLGdCQUFBO0lBQ0wsYUFBMEI7SUFBQSxpQkFBVyxFQUFBLEVBQUE7Ozs7SUFOckMsZUFBOEQ7SUFBOUQscUhBQThEO0lBRzlELGVBQWU7SUFBZixxQ0FBZTtJQUdmLGVBQTBCO0lBQTFCLHdEQUEwQjs7OztJQWJ4RCwrQkFBNEgseUJBQUE7SUFDeEYsNE9BQXdCLGtMQUNsQyxlQUFBLHNCQUFjLENBQUEsSUFEb0Isc0tBQ3lCLGVBQUEsOEJBQXNCLENBQUEsSUFEL0M7SUFHcEQseUZBWWM7SUFDbEIsaUJBQWlCLEVBQUE7OztJQWhCZSxlQUF3QjtJQUF4QiwyQ0FBd0IsK0JBQUE7Ozs7SUF1QnhELHNDQUEwUTtJQUE5UCx5TEFBUyxlQUFBLGlCQUFTLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQSxJQUFDO0lBQzdDLHdCQUE2RjtJQUNqRyxpQkFBYTs7O0lBRnFKLDZIQUF1Rzs7OztJQUd6USxzQ0FBMEk7SUFBOUgseUxBQVMsZUFBQSxpQkFBUyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUEsSUFBQztJQUM3QywrQkFBa0Q7SUFDdEQsaUJBQWE7OztJQVdULHFDQUFvRSxnQkFBQTtJQUNyRCxZQUFtQztJQUFBLGlCQUFZLEVBQUE7OztJQUEvQyxlQUFtQztJQUFuQyw2REFBbUM7Ozs7SUFKdEQsc0NBQzRJO0lBRGhJLCtMQUFTLGVBQUEsNENBQW9DLENBQUEsSUFBQztJQUV0RCwrQkFBa0Q7SUFDbEQseUdBRVk7SUFDaEIsaUJBQWE7OztJQUxpRCwyR0FBNkU7SUFFOUcsZUFBeUM7SUFBekMsa0VBQXlDOzs7SUFJdEUsa0NBQTZFOzs7O0lBRTdFLHNDQUF5SztJQUE3SiwwTEFBUyxlQUFBLGlCQUFjLENBQUEsSUFBQztJQUNoQywrQkFBZ0Q7SUFDcEQsaUJBQWE7Ozs7SUE3QmpCLHVDQUFpRCxxQkFBQTtJQUNqQyxpTEFBUyxlQUFBLHVDQUErQixDQUFBLElBQUM7SUFDakQscUNBQWtFO0lBQUEsWUFBaUM7O0lBQUEsaUJBQVk7SUFDL0csK0JBQTZEO0lBQ2pFLGlCQUFhO0lBQ2IsOEZBRWEsaUZBQUEsaUZBQUEsbUZBQUEsbUZBQUE7O0lBdUJqQixpQkFBYzs7O0lBN0J3RixlQUFnTDtJQUFoTCwrTkFBZ0w7SUFDNU0sZUFBaUM7SUFBakMsbUVBQWlDO0lBR1IsZUFBaUU7SUFBakUsdUdBQWlFO0lBR2pFLGVBQXlDO0lBQXpDLHdFQUF5QztJQVduSSxlQUF1RDtJQUF2RCxzRkFBdUQ7SUFNOUIsZUFBK0I7SUFBL0IsdURBQStCO0lBRWtCLGVBQXdGO0lBQXhGLDJJQUF3Rjs7OztJQUszSyx1Q0FBdUUscUJBQUE7SUFDdkQsMktBQVMsZUFBQSxnQkFBUSxDQUFBLElBQUM7SUFDMUIsK0JBQTBDO0lBQzlDLGlCQUFhLEVBQUE7Ozs7SUFHakIsdUNBQTBHO0lBQ3RHLGlDQUFzRTtJQUN0RSxzQ0FBdUY7SUFBM0UsNktBQVMsZUFBQSxtQkFBbUIsQ0FBQSxJQUFDO0lBQ3ZDLCtCQUFnRDtJQUNsRCxpQkFBYSxFQUFBOzs7SUFIQyxlQUFjO0lBQWQsNEJBQWMsdUJBQUE7OztJQVU1QixxQ0FBaUU7SUFBQSxZQUFTO0lBQUEsaUJBQVk7OztJQUFyQixlQUFTO0lBQVQsbUNBQVM7OztJQUkxRSxxQ0FBeUc7SUFDckcsWUFBVTtJQUFBLGlCQUFZOzs7SUFBdEIsZUFBVTtJQUFWLDhDQUFVOzs7SUFSdEIsdUNBQW9FLHNCQUFBO0lBRTVELHNDQUF3STtJQUN4SSw0RkFBc0Y7SUFDMUYsaUJBQWM7SUFDZCxxQkFBeUI7SUFDekIsdUNBQXdCO0lBQ3BCLDRGQUMwQjtJQUM5QixpQkFBYyxFQUFBOzs7SUFQMkQsZUFBZ0Q7SUFBaEQsNEVBQWdEO0lBQ3pGLGVBQVc7SUFBWCxtQ0FBVztJQUlvRCxlQUFZO0lBQVosb0NBQVk7OztJQU12Ryx3QkFBb0g7OztJQUNwSCx3QkFBc0g7OztJQUN0SCx3QkFBd0g7OztJQUN4SCx3QkFBa0g7OztJQUhsSCw0RUFBb0gsK0RBQUEsK0RBQUEsK0RBQUE7SUFLcEgsMEJBRVE7OztJQVBKLHVEQUFrQztJQUNsQyxlQUFvQztJQUFwQyx5REFBb0M7SUFDcEMsZUFBaUM7SUFBakMsc0RBQWlDO0lBQ2pDLGVBQWlDO0lBQWpDLHNEQUFpQztJQUVoQyxlQUNnRTtJQURoRSxxTkFDZ0U7Ozs7SUFNekUsdUNBQXdGO0lBQWxELDBRQUFpRDtJQUFDLGlCQUFjOzs7SUFEMUcsNkJBQXVDO0lBQ25DLGlHQUFzRztJQUMxRywwQkFBZTs7O0lBREcsZUFBc0I7SUFBdEIsOENBQXNCOzs7O0lBR3hDLHNEQUErSDtJQUFsRSx3U0FBaUU7SUFBQyxpQkFBNkI7OztBRDdHNUosTUFBTSxPQUFPLGVBQWdCLFNBQVEsUUFBUTtJQW9DM0MsWUFBbUIsRUFBaUIsRUFBUyxJQUFrQixFQUFTLENBQVUsRUFBUyxLQUF3QixFQUNoRyxFQUFvQixFQUFVLEdBQW1CLEVBQVMsZUFBZ0MsRUFDMUYsRUFBd0IsRUFBUyxFQUFlLEVBQVMsZ0JBQW1DO1FBQ2pHLEtBQUssRUFBRSxDQUFDO1FBSEgsT0FBRSxHQUFGLEVBQUUsQ0FBZTtRQUFTLFNBQUksR0FBSixJQUFJLENBQWM7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFTO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDaEcsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMxRixPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBeEJ2RixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUVqQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQU01QywyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFFckMsb0JBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO1FBRS9DLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUVuQyw2QkFBd0IsR0FBYSxLQUFLLENBQUM7UUFFM0MsdUJBQWtCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0lBTWpELENBQUM7SUFFZCxRQUFRO1FBQ04sK0JBQStCO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7OztNQU9FO0lBQ0YsY0FBYztRQUNaLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQ1osS0FBSyxFQUFHLGlCQUFpQjtnQkFDekIsS0FBSyxFQUFFLENBQUM7d0JBQ04sS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUM7d0JBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUU7NEJBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3RDLENBQUM7cUJBQ0Y7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUM7d0JBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUU7NEJBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3RDLENBQUM7cUJBQ0YsQ0FBQzthQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBcUIsRUFBRSxRQUFpQjtRQUM5QyxJQUFHLFFBQVEsSUFBSSxZQUFZLEVBQUM7WUFDMUIsT0FBTyxtQkFBbUIsQ0FBQztTQUM1QjthQUFLO1lBQ0osT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBaUIsRUFBRSxJQUFhO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQUs7UUFFakMsSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQUM7WUFDekosSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixPQUFPO1NBQ1I7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3RDLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLGdCQUFnQjtTQUMzQixDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSztRQUN0QyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3RDLFNBQVMsRUFBRSxtQkFBbUI7WUFDOUIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksT0FBTyxFQUFDO1lBQzdFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ25DO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQTtTQUNuQztJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuRCxJQUFHLElBQUksQ0FBQyxPQUFPLElBQUUsT0FBTyxFQUFDO1lBQ3ZCLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsRUFBQztnQkFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUM7YUFDckM7aUJBQU0sSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUM7Z0JBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO2lCQUFNLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7YUFDOUU7U0FDRjtJQUNILENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLEVBQUM7WUFDL0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFDO1lBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEVBQUMsZ0RBQWdEO1lBQ2xKLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsRUFBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxZQUFZLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEVBQUM7WUFDbEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUNqRDthQUFNLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUEsK0NBQStDO1NBQ3JHO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixvQ0FBb0M7UUFDcEMsSUFBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0Y7YUFBTSxJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1RjthQUFNLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLCtDQUErQztTQUMzRTthQUNJO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLGNBQWMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNyQixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDakMsY0FBYyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDaEMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUVELElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUN4RCxjQUFjLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUMzQixRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO2FBQUssSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFDMUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUVELElBQUcsUUFBUSxFQUFDO1lBQ1YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFHO1FBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUErQjtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRyw4Q0FBOEM7UUFDaEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRVQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsd0NBQXdDLFNBQVMsQ0FBQyxZQUFZLE1BQU0sU0FBUyxDQUFDLGFBQWEsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hLLENBQUM7SUFFRCxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdkIsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BELElBQUksTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFFL0IsSUFBRyxrQkFBa0IsSUFBSSxNQUFNLEVBQUM7WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO2FBQUk7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBSTtRQUNYLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQztRQUN0RCxPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxlQUFlO0lBRWYsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSztJQUUxQixDQUFDO2dGQXpTVSxlQUFlO29FQUFmLGVBQWU7O1lDdEI1QiwwRkFDbUI7O1lBQ25CLG1DQUFhLHFCQUFBO1lBRUwsd0ZBQzRIO1lBQ2hJLGlCQUFjO1lBQ2Qsc0NBQTJJO1lBQS9CLGlHQUFTLHdCQUFvQixJQUFDO1lBQ3RJLHlCQUM0SDs7WUFDaEksaUJBQWM7WUFDZCxrQkFBeUI7WUFDekIsa0ZBdUJjLHFEQUFBLHVFQUFBLHFFQUFBLHFFQUFBO1lBbUVsQixpQkFBYztZQUNkLGtGQVVjO1lBQ2QsZ0NBQVM7WUFDTCxtRkFTYztZQUNoQixpQkFBVTtZQUVaLHFGQUVlLG9HQUFBOztZQWpJNEQseUVBQXVDO1lBS3JHLGVBQXFCO1lBQXJCLDBDQUFxQjtZQUVKLGVBQWlGO1lBQWpGLG1HQUFpRjtZQUN2RixlQUE0QztZQUE1Qyw4RUFBNEM7WUFDM0QsdUdBQWlEO1lBQUMseUZBQXVFO1lBR25HLGVBQXFCO1lBQXJCLDBDQUFxQjtZQTBCVixlQUFvRjtZQUFwRixrSEFBb0Y7WUFtQmpHLGVBQXFCO1lBQXJCLDBDQUFxQjtZQWdDZixlQUFzQztZQUF0QywrREFBc0M7WUFNNUMsZUFBK0U7WUFBL0UsNEdBQStFO1lBUTdELGVBQW1CO1lBQW5CLHdDQUFtQjtZQXdCbkQsZUFBc0I7WUFBdEIsMkNBQXNCO1lBSVIsZUFBOEI7WUFBOUIsbURBQThCOzs7aUZEN0c5QyxlQUFlO2NBTDNCLFNBQVM7MkJBQ0UsWUFBWTsrU0FjTixLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFRyxNQUFNO2tCQUF0QixLQUFLO21CQUFDLFFBQVE7WUFFUyxhQUFhO2tCQUFwQyxLQUFLO21CQUFDLGVBQWU7WUFFQSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRCxRQUFRO2tCQUExQixLQUFLO21CQUFDLFVBQVU7WUFFQyxPQUFPO2tCQUF4QixLQUFLO21CQUFDLFNBQVM7O2tGQXRCTCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgQ2xhaW1hbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFpbWFudC9DbGFpbWFudE1vZGVsJztcbmltcG9ydCB7IE15Tm90aWZpY2F0aW9uc1BhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9wb3BvdmVycy9teS1ub3RpZmljYXRpb25zL215LW5vdGlmaWNhdGlvbnMucGFnZSc7XG5pbXBvcnQgeyBNeVByb2ZpbGVQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktcHJvZmlsZS9teS1wcm9maWxlLnBhZ2UnO1xuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQvY2xhaW1hbnQuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVTZWxlY3RFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCAge1xuXG4gIGl0ZW1zOiBNZW51SXRlbVtdO1xuXG4gIHNlYXJjaFRleHQ7XG5cbiAgcmVzdWx0czogQ2xhaW1hbnRNb2RlbFtdO1xuXG4gIGNvbnRleHRSb290OnN0cmluZztcblxuICBASW5wdXQoJ3RpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoJ3BhZ2VJZCcpIHBhZ2VJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgnc2Vjb25kVG9vbGJhcicpIHNlY29uZFRvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2Rpc3BsYXlMb2dvJykgZGlzcGxheUxvZ286IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ3Nob3dIaXN0b3J5Jykgc2hvd0hpc3Rvcnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2JhY2tQYWdlJykgYmFja1BhZ2U6IHN0cmluZztcblxuICBASW5wdXQoJ2NvbnRleHQnKSBjb250ZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dOb3RpZmljYXRpb25Mb2FkZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgbGVnYWN5TWVudSA9IExpYkNvbnN0YW50cy5sZWdhY3lNZW51O1xuXG4gIHB1YmxpYyBpbnRlcmltSG9tZVBhZ2UgPSBMaWJDb25zdGFudHMuaW50ZXJpbUhvbWVQYWdlO1xuXG4gIHB1YmxpYyBzaG93UHJvZmlsZVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93am9iU2VhcmNoUmVzdWx0UG9wdXAgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dMYW5ndWFnZU9wdGlvbiA9IExpYkNvbnN0YW50cy5lbmFibGVMYW5ndWFnZUNoYW5nZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbHMgOiBMb2dpblNlcnZpY2UsIHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHB1YmxpYyByIDogUm91dGVyLCBwdWJsaWMgcG9wdXA6IFBvcG92ZXJDb250cm9sbGVyLCBcbiAgICAgICAgICAgICAgcHVibGljIGNzIDogQ2xhaW1hbnRTZXJ2aWNlLCBwcml2YXRlIG5hdiA6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgcHVibGljIG5zIDogTm90aWZpY2F0aW9uU2VydmljZSwgcHVibGljIGhzOiBIZWxwU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgICAgICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvL3RoaXMubG9hZE5vdGlmaWNhdGlvbkNvdW50KCk7XG4gICAgdGhpcy5zZXRNZW51SXRlbXMobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XG4gICAgdGhpcy5jb250ZXh0Um9vdCA9IHRoaXMuZ2V0Q29udGV4dFJvb3QoKTtcbiAgfVxuICBcbiAgLypKb2IgU2VhcmNoIFJlc3VsdCBJY29uIFBvcHVwXG4gICBwcmVzZW50Sm9iU2VhcmNoUmVzdWx0UG9wdXAoKSB7XG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkpe1xuICAgICAgdGhpcy5zaG93am9iU2VhcmNoUmVzdWx0UG9wdXAgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICAqL1xuICBnZXRDb250ZXh0Um9vdCgpe1xuICAgIGxldCBwYXJ0cyA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdCgnLycpO1xuICAgIGxldCBjb250ZXh0Um9vdCA9IHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1sxXSA6ICcnO1xuICAgIHJldHVybiBjb250ZXh0Um9vdDtcbiAgfVxuICBzZXRNZW51SXRlbXMobGFuZ3VhZ2UgOiBzdHJpbmcpe1xuICAgIHRoaXMuaXRlbXMgPSBbe1xuICAgICAgbGFiZWwgOiAnQ2hvb3NlIGxhbmd1YWdlJyxcbiAgICAgIGl0ZW1zOiBbe1xuICAgICAgICBsYWJlbDogJ0VuZ2xpc2gnLFxuICAgICAgICBpY29uIDogdGhpcy5nZXRJY29uKGxhbmd1YWdlLCdlbicpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKCdlbicsICdFbmdsaXNoJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnRXNwYcOxb2wnLFxuICAgICAgICBpY29uIDogdGhpcy5nZXRJY29uKGxhbmd1YWdlLCdlcycpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKCdlcycsICdlc3Bhw7FvbCcpO1xuICAgICAgICB9XG4gICAgICB9XVxuICAgIH1dO1xuICB9XG5cbiAgZ2V0SWNvbihzZWxlY3RlZExhbmcgOiBzdHJpbmcsIGxhbmd1YWdlIDogc3RyaW5nKXtcbiAgICBpZihsYW5ndWFnZSA9PSBzZWxlY3RlZExhbmcpe1xuICAgICAgcmV0dXJuIFwicGkgcGktZncgcGktY2hlY2tcIjtcbiAgICB9ZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5ndWFnZSA6IHN0cmluZywgbmFtZSA6IHN0cmluZyl7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsYW5ndWFnZSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmd1YWdlJywgbGFuZ3VhZ2UpO1xuICAgIHRoaXMudXRpbC50b2FzdCgnTGFuZ3VhZ2UgcHJlZmVyZW5jZSBjaGFuZ2VkIHRvICcgKyBuYW1lKTtcbiAgICB0aGlzLnNldE1lbnVJdGVtcyhsYW5ndWFnZSk7XG4gIH1cblxuICBhc3luYyBwcmVzZW50TXlQcm9maWxlUG9wb3ZlcihldmVudCkge1xuXG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkgJiYgICh0aGlzLmxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyB8fCB0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSB8fCAodGhpcy51dGlsLmlzU3RhdGUoJ01TJykgJiYgTGliQ29uc3RhbnRzLmludGVyaW1Ib21lUGFnZSA9PSAndHJ1ZScpKSl7XG4gICAgICB0aGlzLnNob3dQcm9maWxlUG9wdXAgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IE15UHJvZmlsZVBhZ2UsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGNzc0NsYXNzOiAnaGVhZGVyLXBvcG92ZXInXG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XG4gIH1cblxuICBhc3luYyBwcmVzZW50TXlOb3RpZmljYXRpb25Qb3BvdmVyKGV2ZW50KSB7XG4gICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wdXAuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogTXlOb3RpZmljYXRpb25zUGFnZSxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcbiAgICB9KTtcblxuICAgIHBvcG92ZXIub25EaWREaXNtaXNzKCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLm5zLnVwZGF0ZVJlYWRGbGFnKCk7XG4gICAgfSlcblxuICAgIHJldHVybiBhd2FpdCBwb3BvdmVyLnByZXNlbnQoKTtcbiAgfVxuXG4gIGxvZ291dCgpe1xuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL2xhbmRpbmcnKTtcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xuICB9XG5cbiAgb3BlbldlZWtsaWVzKCl7XG4gICAgaWYodGhpcy5sZWdhY3lNZW51ID09ICd0cnVlJyAmJiB0aGlzLmlzTVMoKSAmJiB0aGlzLmludGVyaW1Ib21lUGFnZSA9PSAnZmFsc2UnKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2NwJywgJ3YyL3dlZWtsaWVzJylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUGFnZSgnY3AnLCAndjMvd2Vla2xpZXMnKVxuICAgIH1cbiAgfVxuXG4gIG9wZW5BdWRpdERhc2hib2FyZCgpe1xuICAgIGNvbnNvbGUubG9nKFwicm9sZSBvZiB1c2VyXCIsdGhpcy5scy5nZXRVc2VyKCkucm9sZXMpXG4gICAgaWYodGhpcy5jb250ZXh0PT0nYXVkaXQnKXtcbiAgICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvZGFzaGJvYXJkJyk7XG4gICAgICB9IGVsc2UgaWYodGhpcy5scy5pc1RheEF1ZGl0QXVkaXRvcigpKXtcbiAgICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvbXlxJyk7XG4gICAgICB9IGVsc2UgaWYodGhpcy5scy5pc0VtcGxveWVyKCkpe1xuICAgICAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy8nKTsgLy9BZGQgdGhlIGFjdHVhbCB1cmwgZm9yIGVtcGxveWVyIGF1ZGl0IGRhc2hib2FyZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9wZW5BdWRpdG9yV29ya0xpc3QoKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9hdWRpdG9yLXdvcmstbGlzdCcpO1xuICB9XG5cbiAgb3BlblVwbG9hZERvY3VtZW50cygpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL3VwbG9hZC1kb2N1bWVudHMnKTtcbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yTXlRKCl7XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL215cScpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29ySW5xdWlyeSgpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2lucXVpcnknKTtcbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yUmVmZXJyYWxzKCl7XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvcmVmZXJyYWxzJyk7XG4gICAgfSBlbHNlIGlmKHRoaXMubHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCB0aGlzLmxzLmlzVHBhKCkgfHwgdGhpcy5scy5oYXNSb2xlKCd0YXhhdWRpdGFnZW5jeXN0YWZmJykpey8vQWdlbmN5IEVtcGxveWVlIERlZmF1bHQgLSBjaGVjayByb2xlIHdpdGggY2lqdVxuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvbmV3LXJlZmVycmFsJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlblN1cGVydmlzb3JDb25maWcoKXtcbiAgICB0aGlzLm9wZW5QYWdlKCdhdWRpdCcsJy9jb25maWcnKTtcbiAgfVxuXG4gIG9wZW5TdXBlcnZpc29yQW5hbHl0aWNzKCl7XG4gICAgaWYodGhpcy5scy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IHRoaXMubHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYW5hbHl0aWNzJyk7XG4gICAgfVxuICAgIGlmKHRoaXMubHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSAmJiAhKHRoaXMubHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCB0aGlzLmxzLmlzVGF4QXVkaXREaXJlY3RvcigpKSl7IFxuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXVkaXRvci1hbmFseXRpY3MnKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU3VwZXJ2aXNvckFzc2lnbigpe1xuICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2Fzc2lnbicpO1xuICB9XG5cbiAgb3BlblN1cGVydmlzb3JUZWFtKCl7XG4gICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvdGVhbScpO1xuICB9XG5cbiAgb3BlblF1ZXN0aW9ubmFpcmUoKXtcbiAgICBpZih0aGlzLmxzLmlzVGF4QXVkaXRBdWRpdG9yKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvYXVkaXRvci1xdWVzdGlvbm5haXJlJyk7XG4gICAgfSBlbHNlIGlmKHRoaXMubHMuaXNFbXBsb3llcigpKXtcbiAgICAgIHRoaXMub3BlblBhZ2UoJ2F1ZGl0JywnL2F1ZGl0b3ItcXVlc3Rpb25uYWlyZS1mb3JtJyk7Ly9BZGQgdGhlIGFjdHVhbCB1cmwgZm9yIGVtcGxveWVyIHF1ZXN0aW9ubmFpcmVcbiAgICB9XG4gIH1cblxuICBvcGVuSG9tZSgpe1xuICAgIC8vdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkpe1xuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0Q2xhaW1hbnRBcHBDb250ZXh0Um9vdCgpLCBcIndlbGNvbWVcIiwgdGhpcy5uYXYpOyBcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc0NzcigpKXtcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGhpcy51dGlsLmdldFNlY3VyaXR5QXBwQ29udGV4dFJvb3QoKSxcIndlbGNvbWVcIiwgdGhpcy5uYXYpOyBcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc0VtcGxveWVyKCkpe1xuICAgICAgdGhpcy5vcGVuUGFnZSgnYXVkaXQnLCcvJyk7Ly9BZGQgdGhlIGFjdHVhbCB1cmwgZm9yIGVtcGxveWVyIHF1ZXN0aW9ubmFpcmVcbiAgICB9IFxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XG4gICAgfVxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gIH1cblxuICBzZWFyY2goZXZlbnQpIHtcbiAgICBsZXQgZG9TZWFyY2ggPSBmYWxzZTtcbiAgICBsZXQgY2xhaW1hbnRTZWFyY2ggPSBuZXcgQ2xhaW1hbnRNb2RlbCgpO1xuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5ICsgJyc7XG4gICAgaWYocXVlcnkuaW5jbHVkZXMoXCIgXCIpKXtcbiAgICAgIGxldCBmTmFtZSA9IHF1ZXJ5LnNwbGl0KFwiIFwiKVswXTtcbiAgICAgIGxldCBsTmFtZSA9IHF1ZXJ5LnNwbGl0KFwiIFwiKVsxXTtcbiAgICAgIGNsYWltYW50U2VhcmNoLmZpcnN0TmFtZSA9IGZOYW1lO1xuICAgICAgY2xhaW1hbnRTZWFyY2gubGFzdE5hbWUgPSBsTmFtZTtcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZihxdWVyeS5sZW5ndGggPT0gOSAmJiB0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xuICAgICAgY2xhaW1hbnRTZWFyY2guc3NuID0gcXVlcnk7XG4gICAgICBkb1NlYXJjaCA9IHRydWU7XG4gICAgfWVsc2UgaWYoIXRoaXMuaXNOdW1iZXIocXVlcnkpICYmICFkb1NlYXJjaCl7XG4gICAgICBjbGFpbWFudFNlYXJjaC51c2VySWQgPSBxdWVyeTtcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgaWYoZG9TZWFyY2gpe1xuICAgICAgdGhpcy5jcy5zZWFyY2goY2xhaW1hbnRTZWFyY2gpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLnJlc3VsdHMgPSBkYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc051bWJlcihudW0pe1xuICAgIHJldHVybiAhaXNOYU4obnVtKTtcbiAgfVxuXG4gIG9uU2VsZWN0QWN0aW9uKGV2ZW50IDogQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQpe1xuICAgIHRoaXMucmVzdWx0cyA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gbnVsbDtcbiAgICB0aGlzLmNzLmdldENsYWltYW50KCkubmV4dChldmVudC52YWx1ZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRoaXMudXRpbC5nZXRTZWN1cml0eUFwcENvbnRleHRSb290KCksXCJyZXNldC1wYXNzd29yZFwiLCB0aGlzLm5hdik7XG4gICAgICAvL3RoaXMubmF2Lm5hdmlnYXRlRm9yd2FyZCgnL3Jlc2V0LXBhc3N3b3JkJyk7XG4gICAgfSwgNTAwKVxuICAgIFxuICB9XG5cbiAgb3BlbkJlbmVmaXRzQXBwKCl7XG4gICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpXG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKTtcbiAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xuICB9XG5cbiAgb3BlblBhZ2UoY29udGV4dFJvb3QsIHVyaSl7XG4gICAgbGV0IGN1cnJlbnRDb250ZXh0Um9vdCA9IHRoaXMudXRpbC5nZXRDb250ZXh0Um9vdCgpO1xuICAgIGxldCB0YXJnZXQgPSBgLyR7Y29udGV4dFJvb3R9YDtcblxuICAgIGlmKGN1cnJlbnRDb250ZXh0Um9vdCA9PSB0YXJnZXQpe1xuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KGAvJHt1cml9YCk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRhcmdldCwgdXJpKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzcyhuYW1lKXtcbiAgICBsZXQgY3VycmVudFJvdXRlID0gdGhpcy5yLnVybC5yZXBsYWNlKCcvJywgJycpO1xuICAgIGNvbnNvbGUubG9nKGN1cnJlbnRSb3V0ZSwgbmFtZSwgY3VycmVudFJvdXRlID09IG5hbWUpO1xuICAgIHJldHVybiBjdXJyZW50Um91dGUgPT0gbmFtZSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnO1xuICB9XG5cbiAgb3BlbkNvbnRleHRIZWxwKCl7XG5cbiAgfVxuXG4gIGFzeW5jIGNoYW5nZUxhbmd1YWdlKGV2ZW50KSB7XG4gICAgXG4gIH1cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJ1dGlsLmxvYWRlci52YWx1ZSQgfCBhc3luY1wiICpuZ0lmPVwiKHV0aWwubG9hZGVyLnZhbHVlJCB8IGFzeW5jKSAhPSAwXCI+XHJcbjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGlvbi10b29sYmFyPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XHJcbiAgICAgICAgPGlvbi1tZW51LWJ1dHRvbiBhdXRvSGlkZT1cImZhbHNlXCIgcFRvb2x0aXA9XCJNZW51XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJscy5pc0xvZ2dlZEluKClcIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpID8gJ2hpZGUteGwgaGlkZS1sZycgOiAnJ1wiPjwvaW9uLW1lbnUtYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiBbbmdDbGFzc109XCJkaXNwbGF5TG9nbyA/ICdoZWFkZXJfYnV0dG9uX3doaXRlJyA6ICdoZWFkZXJfYnV0dG9uIGhpZGUteHMgaGlkZS1tZCdcIiAoY2xpY2spPVwib3BlbkF1ZGl0RGFzaGJvYXJkKClcIj5cclxuICAgICAgICA8aW1nIGFsdD1cImxvZ29cIiBwVG9vbHRpcD1cInt7J1JlRW1wbG95TVMgTG9nbycgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgIHNyYz1cImFzc2V0cy9pY29uL1JlRW1wbG95e3t1dGlsLmdldFN0YXRlKCl9fS5zdmdcIiBbbmdDbGFzc109XCJkaXNwbGF5TG9nbyA/ICdoZWFkZXJfbG9nbycgOiAnaGVhZGVyX2xvZ28gaGlkZS14cyBoaWRlLW1kJ1wiLz5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCIgKm5nSWY9XCJscy5pc0xvZ2dlZEluKClcIj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkhvbWUoKVwiIHBUb29sdGlwPVwiSG9tZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlbGNvbWUnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQhPSdhdWRpdCcgfHwgbHMuaXNFbXBsb3llcigpXCI+SG9tZTwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5GaWxlV2Vla2xpZXNcIiBwVG9vbHRpcD1cInt7J2hlYWRlci53ZWVrbHkudG9vbHRpcCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlZWtsaWVzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJ1wiIChjbGljayk9XCJvcGVuV2Vla2xpZXMoKVwiIGNsYXNzPVwiaGlkZS14cyBoaWRlLW1kXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHknIDogJ1dlZWtseSd9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkZpbGVXZWVrbGllc1wiIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgIXV0aWwuaXNTdGF0ZSgnTUUnKVwiIChjbGljayk9XCJvcGVuV2Vla2xpZXMoKVwiPnt7bGVnYWN5TWVudSA9PSAndHJ1ZScgPyAnV2Vla2x5JyA6ICdXZWVrbHknfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5GaWxlV2Vla2xpZXNcIiBwVG9vbHRpcD1cInt7J2hlYWRlci53ZWVrbHkudG9vbHRpcCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlZWtsaWVzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmIHV0aWwuaXNTdGF0ZSgnTUUnKVwiIChjbGljayk9XCJvcGVuV2Vla2xpZXMoKVwiPnt7bGVnYWN5TWVudSA9PSAndHJ1ZScgPyAnV2Vla2x5IENsYWltJyA6ICdXZWVrbHknfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICBcclxuICAgICAgICA8aW9uLWJ1dHRvbiBwVG9vbHRpcD1cIkhpc3RvcnlcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpID09ICdoaXN0b3J5JyA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGludGVyaW1Ib21lUGFnZSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdoaXN0b3J5JylcIiBjbGFzcz1cImhpZGUteHMgaGlkZS1tZFwiPkhpc3Rvcnk8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRFbXBsb3llckRhc2hib2FyZFwiIHBUb29sdGlwPVwiRW1wbG95ZXJEYXNoYm9hcmRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdlbXBsb3llci1kYXNoYm9hcmQnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0VtcGxveWVyKClcIj5BdWRpdCBEYXNoYm9hcmQ8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdE15UVwiIHBUb29sdGlwPVwiTXlRXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnbXlxJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpIHx8IGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkgfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yTXlRKClcIj5NeVE8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdERhc2hib2FyZFwiIHBUb29sdGlwPVwiRGFzaGJvYXJkXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnZGFzaGJvYXJkJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIChscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpfHwgbHMuaXNUYXhBdWRpdERpcmVjdG9yKCkpXCIgKGNsaWNrKT1cIm9wZW5BdWRpdERhc2hib2FyZCgpXCI+RGFzaGJvYXJkPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRXb3JrTGlzdFwiIHBUb29sdGlwPVwiV29ya0xpc3RcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhdWRpdG9yLXdvcmstbGlzdCcpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc1RheEF1ZGl0QXVkaXRvcigpXCIgKGNsaWNrKT1cIm9wZW5BdWRpdG9yV29ya0xpc3QoKVwiPldvcmsgTGlzdDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0SW5xdWlyeVwiIHBUb29sdGlwPVwiSW5xdWlyeVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2lucXVpcnknKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSkgfHwgIGxzLmhhc1JvbGUoJ3RheGF1ZGl0YWdlbmN5c3RhZmYnKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvcklucXVpcnkoKVwiPklucXVpcnk8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFVwbG9hZERvY3VtZW50c1wiIHBUb29sdGlwPVwiVXBsb2FkIERvY3VtZW50c1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3VwbG9hZC1kb2N1bWVudHMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgbHMuaXNFbXBsb3llcigpXCIgKGNsaWNrKT1cIm9wZW5VcGxvYWREb2N1bWVudHMoKVwiPlVwbG9hZCBEb2N1bWVudHM8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFF1ZXN0aW9ubmFpcmVcIiBwVG9vbHRpcD1cIlF1ZXN0aW9ubmFpcmVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhdWRpdG9yLXF1ZXN0aW9ubmFpcmUnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRBdWRpdG9yKCkgfHwgbHMuaXNFbXBsb3llcigpKVwiIChjbGljayk9XCJvcGVuUXVlc3Rpb25uYWlyZSgpXCI+UXVlc3Rpb25uYWlyZTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0UmVmZXJyYWxzXCIgcFRvb2x0aXA9XCJSZWZlcnJhbHNcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdyZWZlcnJhbHMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSkgfHwgIGxzLmhhc1JvbGUoJ3RheGF1ZGl0YWdlbmN5c3RhZmYnKVwiIChjbGljayk9XCJvcGVuU3VwZXJ2aXNvclJlZmVycmFscygpXCI+UmVmZXJyYWxzPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRBc3NpZ25cIiBwVG9vbHRpcD1cIkFzc2lnblwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2Fzc2lnbicpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiBscy5pc1RheEF1ZGl0U3VwZXJ2aXNvcigpXCIgKGNsaWNrKT1cIm9wZW5TdXBlcnZpc29yQXNzaWduKClcIj5Bc3NpZ248L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gaWQ9XCJidG5BdWRpdFRlYW1cIiBwVG9vbHRpcD1cIlRlYW1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd0ZWFtJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwidGhpcy5jb250ZXh0PT0nYXVkaXQnICYmIGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKClcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JUZWFtKClcIj5UZWFtPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIGlkPVwiYnRuQXVkaXRDb25maWdcIiBwVG9vbHRpcD1cIkNvbmZpZ1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ2NvbmZpZycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cInRoaXMuY29udGV4dD09J2F1ZGl0JyAmJiAobHMuaXNUYXhBdWRpdFN1cGVydmlzb3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JDb25maWcoKVwiPkNvbmZpZzwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBpZD1cImJ0bkF1ZGl0QW5hbHl0aWNzXCIgcFRvb2x0aXA9XCJBbmFseXRpY3NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCdhbmFseXRpY3MnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJ0aGlzLmNvbnRleHQ9PSdhdWRpdCcgJiYgKGxzLmlzVGF4QXVkaXRTdXBlcnZpc29yKCkgfHwgbHMuaXNUYXhBdWRpdEF1ZGl0b3IoKSB8fCBscy5pc1RheEF1ZGl0RGlyZWN0b3IoKSlcIiAoY2xpY2spPVwib3BlblN1cGVydmlzb3JBbmFseXRpY3MoKVwiPkFuYWx5dGljczwvaW9uLWJ1dHRvbj5cclxuXHJcblxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbiAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sYmFyLWNvbnRlbnQgaGlkZS14c1wiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpICYmIGxzLmlzQ3NyKCkgJiYgdGhpcy5jb250ZXh0ICE9J2F1ZGl0JyAmJiBjb250ZXh0Um9vdCA9PT0nc3MnXCI+XHJcbiAgICAgICAgPHAtYXV0b0NvbXBsZXRlIGFwcGVuZFRvPVwiYm9keVwiIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiIFtzdWdnZXN0aW9uc109XCJyZXN1bHRzXCJcclxuICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cInNlYXJjaCgkZXZlbnQpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggQ2xhaW1hbnRzXCIgKG9uU2VsZWN0KT1cIm9uU2VsZWN0QWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICBlbXB0eU1lc3NhZ2U9XCJObyBSZXN1bHRzIEZvdW5kLlwiIHNpemU9XCIyNVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXVzZXIgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCIuaW9uLXdyYXBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZS1hdXRvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1c2VyLmZpcnN0TmFtZSB8IHByb3BlckNhc2V9fSB7e3VzZXIubGFzdE5hbWUgfCBwcm9wZXJDYXNlfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplLWF1dG8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3VzZXIudXNlcklkfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplLWF1dG8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3V0aWwubWFza1Nzbih1c2VyLnNzbil9fTwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCJscy5pc0xvZ2dlZEluKClcIiA+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInByZXNlbnRNeVByb2ZpbGVQb3BvdmVyKCRldmVudClcIiBwVG9vbHRpcD1cIkFjY291bnRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJsZWdhY3lNZW51ID09ICdmYWxzZScgJiYgbHMuaXNDbGFpbWFudCgpICYmIHNob3dQcm9maWxlUG9wdXAgPyAnaGlkZS14cyBoaWRlLW1kIGhlYWRlci1idXR0b24nIDogKGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgPyAnaGlkZS14cyBoaWRlLW1kJyA6ICcnKVwiPlxyXG4gICAgICAgICAgICA8aW9uLXRpdGxlIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nOiAwcHg7XCIgY2xhc3M9XCJoaWRlLXhzXCI+e3tscy5nZXRGdWxsTmFtZSgpIHwgcHJvcGVyQ2FzZX19PC9pb24tdGl0bGU+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiZW5kXCIgbmFtZT1cInBlcnNvbi1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuUGFnZSgnY3AnLCAnZG9jdW1lbnRzJylcIiBwVG9vbHRpcD1cIk5vdGljZXNcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiAqbmdJZj1cIiFscy5pc0NzcigpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAhdXRpbC5pc1N0YXRlKCdNRScpXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKSA9PSAnZG9jdW1lbnRzJyA/ICdoZWFkZXItYnV0dG9uIGhpZGUteHMgaGlkZS1tZCcgOiAnaGlkZS14cyBoaWRlLW1kJ1wiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz0ncGkgcGktZmlsZSBmb250LWJvbGQnIHN0eWxlPVwiZm9udC1zaXplOiAxLjNyZW07ICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XCI+PC9pPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib3BlblBhZ2UoJ2NwJywgJ2RvY3VtZW50cycpXCIgcFRvb2x0aXA9XCJOb3RpY2VzXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgKm5nSWY9XCIhbHMuaXNDc3IoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImRvY3VtZW50LXRleHQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICBcclxuICAgICAgICA8IS0tIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50Sm9iU2VhcmNoUmVzdWx0UG9wdXAoKVwiIHBUb29sdGlwPVwiU2hvdyBqb2Igc2VhcmNoIHJlc3VsdFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgPyAnaGlkZS14cyBoaWRlLW1kJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIHV0aWwuaXNTdGF0ZSgnTVMnKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImJyaWVmY2FzZVwiIGZpbGw9XCJvdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+IC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlOb3RpZmljYXRpb25Qb3BvdmVyKCRldmVudClcIiBwVG9vbHRpcD1cIk5vdGlmaWNhdGlvblwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIW5zLnNob3dOb3RpZmljYXRpb25Mb2FkZXIgJiYgIXV0aWwuaXNTdGF0ZSgnTUUnKVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgPyAnaGlkZS14cyBoaWRlLW1kJyA6ICcnXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibm90aWZpY2F0aW9ucy1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgPGlvbi1iYWRnZSBjb2xvcj1cImRhcmtcIiAqbmdJZj1cIm5zLm5vdGlmaWNhdGlvbkNvdW50LmdldFZhbHVlKCkgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7bnMubm90aWZpY2F0aW9uQ291bnQuZ2V0VmFsdWUoKX19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgIDwvaW9uLWJhZGdlPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCIgKm5nSWY9XCJucy5zaG93Tm90aWZpY2F0aW9uTG9hZGVyXCI+PC9pb24tc3Bpbm5lcj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInRoaXMuaHMuc2hvdygpXCIgcFRvb2x0aXA9XCJIZWxwXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIChocy5zaG91bGREaXNwbGF5SGVscEJ1dHRvbigpIHwgYXN5bmMpXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInNlY29uZGFyeVwiICpuZ0lmPVwiIWxzLmlzTG9nZ2VkSW4oKSAmJiBscy5nZXRVc2VyKClcIj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiBwVG9vbHRpcD1cIkxvZ291dFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImxvZy1vdXQtc2hhcnBcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcblxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIiAqbmdJZj1cInNob3dMYW5ndWFnZU9wdGlvbiA9PT0gJ3RydWUnICYmICghbHMuZ2V0VXNlcigpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJylcIj5cclxuICAgICAgICA8cC1tZW51ICNtZW51IFtwb3B1cF09XCJ0cnVlXCIgW21vZGVsXT1cIml0ZW1zXCIgYXBwZW5kVG89XCJib2R5XCI+PC9wLW1lbnU+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIiBwVG9vbHRpcD1cIkxhbmd1YWdlXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImxhbmd1YWdlXCIgc2xvdD1cImVuZFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuPC9pb24tdG9vbGJhcj5cclxuPGlvbi10b29sYmFyIGNvbG9yPVwibGlnaHRcIiBpZD1cInNlY29uZFRvb2xiYXJcIiAqbmdJZj1cInNlY29uZFRvb2xiYXJcIj5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cclxuICAgICAgICA8aW9uLWJhY2stYnV0dG9uIHBUb29sdGlwPVwiQmFja1wiIGFsdD1cIkJhY2tcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbZGVmYXVsdEhyZWZdPVwiYmFja1BhZ2UgPyBiYWNrUGFnZSA6ICcvd2VsY29tZSdcIj48L2lvbi1iYWNrLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwidGl0bGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMThweFwiPnt7dGl0bGV9fTwvaW9uLXRpdGxlPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogeHgtc21hbGw7IGZsb2F0OiByaWdodDsgcGFkZGluZy1yaWdodDogOHB4O1wiICpuZ0lmPVwicGFnZUlkXCI+XHJcbiAgICAgICAgICAgIHt7cGFnZUlkfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxwLXRvYXN0PlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdlcnJvcidcIiBjbGFzcz1cInBpIHBpLXRpbWVzLWNpcmNsZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxNHB4OyBmb250LXNpemU6IDM4cHggXCI+PC9pPlxyXG4gICAgICAgIDxpICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ3N1Y2Nlc3MnXCIgY2xhc3M9XCJwaSBwaS1jaGVjay1jaXJjbGVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICd3YXJuJ1wiIGNsYXNzPVwicGkgcGktZXhjbGFtYXRpb24tY2lyY2xlXCJzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuICAgICAgICA8aSAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdpbmZvJ1wiIGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTRweDsgZm9udC1zaXplOiAzOHB4IFwiPjwvaT5cclxuXHJcbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIic8c3Ryb25nIHN0eWxlPVxcJ2ZvbnQtc2l6ZTogMjJweDtmb250LXdlaWdodDogYm9sZDtcXCc+JyArIG1lc3NhZ2Uuc3VtbWFyeSArICc8L3N0cm9uZz48YnI+PGJyPicgKyBcclxuICAgICAgICAgICAgJzxzcGFuIHN0eWxlPVxcJ2ZvbnQtc2l6ZTogMThweDtcXCc+JyArIG1lc3NhZ2UuZGV0YWlsICsgJzwvc3Bhbj4nXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLXRvYXN0PlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQcm9maWxlUG9wdXBcIj5cclxuICAgIDxhcHAtcHJvZmlsZSAqbmdJZj1cInNob3dQcm9maWxlUG9wdXBcIiAob25DYW5jZWwpPVwic2hvd1Byb2ZpbGVQb3B1cCA9ICFzaG93UHJvZmlsZVBvcHVwXCI+PC9hcHAtcHJvZmlsZT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48YXBwLWpvYi1zZWFyY2gtcmVzdWx0LXBhZ2UgKm5nSWY9XCJzaG93am9iU2VhcmNoUmVzdWx0UG9wdXBcIiAob25DYW5jZWwpPVwic2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwID0gIXNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cFwiPjwvYXBwLWpvYi1zZWFyY2gtcmVzdWx0LXBhZ2U+XHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -5998,7 +5998,7 @@ class HeaderComponent extends BasePage {
5998
5998
  if (this.ls.isTaxAuditSupervisor() || this.ls.isTaxAuditDirector()) {
5999
5999
  this.openPage('audit', '/referrals');
6000
6000
  }
6001
- else if (this.ls.isTaxAuditAuditor() || this.ls.isTpa()) { //Agency Employee Default - check role with ciju
6001
+ else if (this.ls.isTaxAuditAuditor() || this.ls.isTpa() || this.ls.hasRole('taxauditagencystaff')) { //Agency Employee Default - check role with ciju
6002
6002
  this.openPage('audit', '/new-referral');
6003
6003
  }
6004
6004
  }
@@ -11112,25 +11112,16 @@ class FileUploaderComponent {
11112
11112
  this.as.getCorrId().subscribe((res) => {
11113
11113
  corId = res;
11114
11114
  let req = {
11115
- "ean": "",
11116
- "year": "",
11117
- "additionalData": "",
11118
- "base64FileData": "",
11115
+ "ean": "12345678",
11116
+ "year": "2026",
11119
11117
  "correspodenceList": [
11120
- { "additionalData": "",
11118
+ {
11121
11119
  "base64FileData": base64,
11122
- "claimEffDate": "",
11123
11120
  "corrId": res,
11124
11121
  "direction": "INBOUND",
11125
- "docCode": "",
11126
- "ean": "",
11127
- "mailDate": "",
11122
+ "docCode": `signature_${corId}`,
11128
11123
  "mimeType": this.mimeType,
11129
- "quarter": "",
11130
- "receiptDate": "",
11131
- "ssn": "",
11132
11124
  "title": "signature",
11133
- "year": ""
11134
11125
  }
11135
11126
  ]
11136
11127
  };