ngx-histaff-alpha 0.2.9 → 0.3.0

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.
@@ -240,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
240
240
  type: ViewChild,
241
241
  args: ['sticker']
242
242
  }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2RlY2lzaW9uL2RlY2lzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9kZWNpc2lvbi9kZWNpc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU01RSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFB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QUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QseUJBQXlCLENBQUMsQ0FBUTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7OEdBek5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFkQzVDOUIsNjhDQWtDTSx5RERKRixZQUFZLDhCQUNaLFdBQVcsK1ZBQ1gscUJBQXFCLGluQ0FDckIsb0JBQW9CLHNPQU1wQiwwQkFBMEI7OzJGQUtqQixpQkFBaUI7a0JBbEI3QixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLGFBQWE7d0JBQ2IsMEJBQTBCO3FCQUMzQjs2SkFNUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0csT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQvYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bUZpbHRlck9wZXJhdG9yLCBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yLCBJU29ydEl0ZW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW1cIjtcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlXCI7XHJcbmltcG9ydCB7IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gXCIuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJhbmRvbUF2YXRhclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3JnYW5pemF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gXCIuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvcmVPcmdUcmVlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWVkaXQvY29yZS1wYWdlLWVkaXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvcmVQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb3JlQnV0dG9uR3JvdXBWbnNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHsgQ29yZVN0YXR1c1N0aWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjbXMtcHJvZmlsZS1kZWNpc2lvblwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlRWRpdENvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ29yZUJ1dHRvbkdyb3VwVm5zQ29tcG9uZW50LFxyXG4gICAgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RlY2lzaW9uLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RlY2lzaW9uLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVjaXNpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgaGlkZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvcmVCdXR0b25WTlM+KCk7XHJcbiAgQE91dHB1dCgpIG9uUm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RlZERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdhdmF0YXInKSBhdmF0YXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3N0aWNrZXInKSBzdGlja2VyITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcjogc3RyaW5nID0gJ2VmZmVjdERhdGUnO1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPSBFbnVtVHJhbnNsYXRlS2V5Lk5VTEw7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yOiBzdHJpbmcgPSAnZW1wV29ya1N0YXR1cyc7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1dFTEZBUkVfTU5HX0VNUExPWUVFX1NUQVRVUztcclxuICB3b3JrU3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuICBpZDogYW55O1xyXG4gIC8qIFNUQVJUOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgLyogRU5EOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcblxyXG4gIC8qXHJcbiAgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3RcclxuICAqL1xyXG5cclxuICB0aXRsZSA9IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX1RJVExFX0RFQ0lTSU9OXHJcbiAgb3V0ZXJQYXJhbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgb3BlcmF0b3I6IEVudW1GaWx0ZXJPcGVyYXRvci5FUVVBTFxyXG4gICAgfVxyXG4gIF1cclxuICBvdXRlckluT3BlcmF0b3JzOiBJSW5PcGVyYXRvcltdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgdmFsdWVzOiB0aGlzLm9yZ0lkcyB8fCBbXVxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgb3V0ZXJTb3J0OiBJU29ydEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6IFwiZWZmZWN0RGF0ZVwiLFxyXG4gICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5ERVNDXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgYXBpRGVmaW5pdGlvbjogSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24gPSB7XHJcbiAgICBxdWVyeUxpc3RSZWxhdGl2ZVBhdGg6IGFwaS5IVV9ERUNJU0lPTl9RVUVSWV9MSVNULFxyXG4gIH1cclxuXHJcbiAgY3J1ZDogSUNvcmVQYWdlTGlzdENSVUQgPSB7XHJcbiAgICBkZWxldGVJZHM6IGFwaS5IVV9ERUNJU0lPTl9ERUxFVEVfSURTLFxyXG4gICAgdG9nZ2xlQXBwcm92ZUlkczogYXBpLkhVX0RFQ0lTSU9OX0NIQU5HRVNUQVRVU0FQUFJPVkVcclxuICB9XHJcblxyXG4gIGF2YXRhclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBkZWZhdWx0U29ydDogSVNvcnRJdGVtW10gPSBbXTtcclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fU1RBVFVTLFxyXG4gICAgICBmaWVsZDogJ3N0YXR1c05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDEzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX0NPREUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVDb2RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiA4MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX05BTUUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9ERUNJU0lPTl9QT1NJVElPTl9OQU1FLFxyXG4gICAgICBmaWVsZDogJ3Bvc2l0aW9uTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMzAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fT1JHX05BTUUsXHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fREVDSVNJT05OTyxcclxuICAgICAgZmllbGQ6ICdkZWNpc2lvbk5vJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxODAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9ERUNJU0lPTl9UWVBFX05BTUUsXHJcbiAgICAgIGZpZWxkOiAndHlwZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VGRkVDVERBVEUsXHJcbiAgICAgIGZpZWxkOiAnZWZmZWN0RGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VYUElSRURBVEUsXHJcbiAgICAgIGZpZWxkOiAnZXhwaXJlRGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX1dPUktQTEFDRV9OQU1FLFxyXG4gICAgICBmaWVsZDogJ3dvcmtQbGFjZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX09CSl9OQU1FLFxyXG4gICAgICBmaWVsZDogJ2VtcGxveWVlT2JqTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuICBdXHJcblxyXG4gIGRlZmF1bHRBdmF0YXIhOiBzdHJpbmc7XHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3QhOiBJR2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3Q7XHJcblxyXG4gIGVkaXRSb3V0ZTogSUNvcmVQYWdlTGlzdEVkaXRSb3V0aW5nID0ge1xyXG4gICAgYXV4aWxpYXJ5OiAncG9wdXBBdXgnXHJcbiAgfVxyXG4gIHNlbGVjdGVkRGF0YSE6IGFueVtdO1xyXG4gIGNvcmVQYWdlTGlzdEluc3RhbmNlTnVtYmVyITogbnVtYmVyO1xyXG4gIC8qIEVuZCBQcm9wZXJ0aWVzIGJlaW5nIHBhc3NlZCB0byBjb3JlLXBhZ2UtdHlwZS1hICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJhczogUmFuZG9tQXZhdGFyU2VydmljZSxcclxuICAgIHByaXZhdGUgb3JnYW5pemF0aW9uU2VydmljZTogT3JnYW5pemF0aW9uU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSByYXMuZ2V0KCk7XHJcbiAgICB0aGlzLmNvcmVQYWdlTGlzdEluc3RhbmNlTnVtYmVyID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLmRlZmF1bHRTb3J0LnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogJ2lkJyxcclxuICAgICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5ERVNDXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICAvKiBHZXQgb3JnSWRzIHN0YXJ0dXAgdmFsdWUgKi9cclxuICAgIGNvbnN0IG5ld09yZ0lkczogbnVtYmVyW10gPSBbXTtcclxuICAgIHRoaXMub3JnYW5pemF0aW9uU2VydmljZS5zdGF0dXMkLnZhbHVlLmFjdGl2ZUtleXMubWFwKHggPT4gbmV3T3JnSWRzLnB1c2goTnVtYmVyKHgpKSlcclxuICAgIHRoaXMub25PcmdJZHNDaGFuZ2UobmV3T3JnSWRzKTtcclxuXHJcbiAgfVxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICB0aGlzLmxhbmcgPSB4O1xyXG4gICAgICB0aGlzLmdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0ID0ge1xyXG4gICAgICAgIGV4Q29kZTogJ0hVX1dPUktJTkcnLFxyXG4gICAgICAgIGxhbmc6IHhcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZpZWxkID09PSAnYXZhdGFyJyk7XHJcbiAgICBpZiAoISFmaWx0ZXIubGVuZ3RoKSBmaWx0ZXJbMF0udGVtcGxhdGVSZWYgPSB0aGlzLmF2YXRhcjtcclxuICAgIGNvbnN0IHN0aWNrZXJGaWx0ZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gYy5maWVsZCA9PT0gJ3N0YXR1c05hbWUnKTtcclxuICAgIGlmICghIXN0aWNrZXJGaWx0ZXIubGVuZ3RoKSBzdGlja2VyRmlsdGVyWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5zdGlja2VyO1xyXG4gIH1cclxuXHJcbiAgb25PcmdJZHNDaGFuZ2Uob3JnSWRzOiBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5vcmdJZHMgPSBvcmdJZHNcclxuICAgIHRoaXMub3V0ZXJJbk9wZXJhdG9ycyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICAgIHZhbHVlczogb3JnSWRzXHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2tMb2NhbChlOiBhbnkpIHtcclxuICAgIHRoaXMuaWQgPSBlLmlkO1xyXG4gICAgdGhpcy5vblJvd0NsaWNrLmVtaXQoZS5pZCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrTG9jYWwoZTogSUNvcmVCdXR0b25WTlMpIHtcclxuICAgIHRoaXMub25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25TZWxlY3RlZERhdGFDaGFuZ2VMb2NhbChlOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBlO1xyXG4gICAgdGhpcy5vblNlbGVjdGVkRGF0YUNoYW5nZS5lbWl0KGUpXHJcbiAgfVxyXG5cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwic3RhZmYtcHJvZmlsZS1jb250YWluZXJcIj5cclxuICA8Y29yZS1wYWdlLWxpc3QgW2FwaURlZmluaXRpb25dPVwiYXBpRGVmaW5pdGlvblwiIFtjb2x1bW5zXT1cImNvbHVtbnNcIiBbZWRpdFJvdXRlXT1cImVkaXRSb3V0ZVwiIFtjcnVkXT1cImNydWRcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCIgW2xlZnRdPVwib3JnVHJlZVwiXHJcbiAgICBbbm9ybWFsTW9kZV09XCJ0cnVlXCJcclxuICAgIFtvdXRlclBhcmFtJF09XCJvdXRlclBhcmFtJFwiXHJcbiAgICBbb3V0ZXJJbk9wZXJhdG9yc109XCJvdXRlckluT3BlcmF0b3JzXCJcclxuICAgIFthdXRvUmVzaXplV2l0aFdpbmRvd109XCJ0cnVlXCJcclxuICAgIFtvdXRlclNvcnRdPVwiZGVmYXVsdFNvcnRcIlxyXG4gICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2tMb2NhbCgkZXZlbnQpXCJcclxuICAgIFtzaG93UGFyYW1LaXRdPVwidHJ1ZVwiXHJcbiAgICBbZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JdPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXldPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleVwiXHJcbiAgICBbaGlkZVN0YXR1c0luY2x1c2lvbl09XCJmYWxzZVwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yXT1cInN0YXR1c0luY2x1c2lvbkZvclwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXldPVwic3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXlcIlxyXG4gICAgW3N0YXR1c09wdGlvbnNBcGldPVwid29ya1N0YXR1c09wdGlvbnNBcGlcIlxyXG4gICAgKGNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2spPVwib25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrTG9jYWwoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0ZWREYXRhQ2hhbmdlKT1cIm9uU2VsZWN0ZWREYXRhQ2hhbmdlTG9jYWwoJGV2ZW50KVwiXHJcbiAgICBbZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RdPVwiZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RcIlxyXG4gICAgW2ltcG9ydFByZXZpZXdQYXRoXT1cIidkZWNpc2lvbi1pbXBvcnQnXCJcclxuICAgIFtmcm96ZW5dPVwiM1wiXHJcblxyXG4gICAgW291dGVyU29ydF09XCJvdXRlclNvcnRcIlxyXG4gICAgPjwvY29yZS1wYWdlLWxpc3Q+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjb3JnVHJlZT5cclxuICAgIDxjb3JlLW9yZy10cmVlIFsobmdNb2RlbCldPVwib3JnSWRzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25PcmdJZHNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9jb3JlLW9yZy10cmVlPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjc3RpY2tlciBsZXQtY29kZT1cImNvbnRleHQuc3RhdHVzTmFtZVwiPlxyXG4gICAgPGNvcmUtc3RhdHVzLXN0aWNrZXIgW2NvZGVdPVwiY29kZVwiPjwvY29yZS1zdGF0dXMtc3RpY2tlcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuPC9kaXY+Il19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2RlY2lzaW9uL2RlY2lzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9kZWNpc2lvbi9kZWNpc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU01RSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFB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QUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QseUJBQXlCLENBQUMsQ0FBUTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7OEdBek5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFkQzVDOUIsNjhDQWtDTSx5RERKRixZQUFZLDhCQUNaLFdBQVcsK1ZBQ1gscUJBQXFCLGluQ0FDckIsb0JBQW9CLHNPQU1wQiwwQkFBMEI7OzJGQUtqQixpQkFBaUI7a0JBbEI3QixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLGFBQWE7d0JBQ2IsMEJBQTBCO3FCQUMzQjs2SkFNUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0csT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQvYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bUZpbHRlck9wZXJhdG9yLCBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yLCBJU29ydEl0ZW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW1cIjtcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlXCI7XHJcbmltcG9ydCB7IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gXCIuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJhbmRvbUF2YXRhclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3JnYW5pemF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gXCIuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvcmVPcmdUcmVlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWVkaXQvY29yZS1wYWdlLWVkaXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvcmVQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb3JlQnV0dG9uR3JvdXBWbnNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHsgQ29yZVN0YXR1c1N0aWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjbXMtcHJvZmlsZS1kZWNpc2lvblwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlRWRpdENvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ29yZUJ1dHRvbkdyb3VwVm5zQ29tcG9uZW50LFxyXG4gICAgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RlY2lzaW9uLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RlY2lzaW9uLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVjaXNpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgaGlkZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvcmVCdXR0b25WTlM+KCk7XHJcbiAgQE91dHB1dCgpIG9uUm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RlZERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdhdmF0YXInKSBhdmF0YXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3N0aWNrZXInKSBzdGlja2VyITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcjogc3RyaW5nID0gJ2VmZmVjdERhdGUnO1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPSBFbnVtVHJhbnNsYXRlS2V5Lk5VTEw7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yOiBzdHJpbmcgPSAnZW1wV29ya1N0YXR1cyc7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1dFTEZBUkVfTU5HX0VNUExPWUVFX1NUQVRVUztcclxuICB3b3JrU3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuICBpZDogYW55O1xyXG4gIC8qIFNUQVJUOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgLyogRU5EOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcblxyXG4gIC8qXHJcbiAgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3RcclxuICAqL1xyXG5cclxuICB0aXRsZSA9IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX1RJVExFX0RFQ0lTSU9OXHJcbiAgb3V0ZXJQYXJhbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgb3BlcmF0b3I6IEVudW1GaWx0ZXJPcGVyYXRvci5FUVVBTFxyXG4gICAgfVxyXG4gIF1cclxuICBvdXRlckluT3BlcmF0b3JzOiBJSW5PcGVyYXRvcltdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgdmFsdWVzOiB0aGlzLm9yZ0lkcyB8fCBbXVxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgb3V0ZXJTb3J0OiBJU29ydEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6IFwiZWZmZWN0RGF0ZVwiLFxyXG4gICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5ERVNDXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgYXBpRGVmaW5pdGlvbjogSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24gPSB7XHJcbiAgICBxdWVyeUxpc3RSZWxhdGl2ZVBhdGg6IGFwaS5IVV9ERUNJU0lPTl9RVUVSWV9MSVNULFxyXG4gIH1cclxuXHJcbiAgY3J1ZDogSUNvcmVQYWdlTGlzdENSVUQgPSB7XHJcbiAgICBkZWxldGVJZHM6IGFwaS5IVV9ERUNJU0lPTl9ERUxFVEVfSURTLFxyXG4gICAgdG9nZ2xlQXBwcm92ZUlkczogYXBpLkhVX0RFQ0lTSU9OX0NIQU5HRVNUQVRVU0FQUFJPVkVcclxuICB9XHJcblxyXG4gIGF2YXRhclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBkZWZhdWx0U29ydDogSVNvcnRJdGVtW10gPSBbXTtcclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fU1RBVFVTLFxyXG4gICAgICBmaWVsZDogJ3N0YXR1c05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDEzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX0NPREUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVDb2RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiA4MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX05BTUUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9ERUNJU0lPTl9QT1NJVElPTl9OQU1FLFxyXG4gICAgICBmaWVsZDogJ3Bvc2l0aW9uTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMzAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fT1JHX05BTUUsXHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfREVDSVNJT05fREVDSVNJT05OTyxcclxuICAgICAgZmllbGQ6ICdkZWNpc2lvbk5vJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxODAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9ERUNJU0lPTl9UWVBFX05BTUUsXHJcbiAgICAgIGZpZWxkOiAndHlwZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VGRkVDVERBVEUsXHJcbiAgICAgIGZpZWxkOiAnZWZmZWN0RGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VYUElSRURBVEUsXHJcbiAgICAgIGZpZWxkOiAnZXhwaXJlRGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX1dPUktQTEFDRV9OQU1FLFxyXG4gICAgICBmaWVsZDogJ3dvcmtQbGFjZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0RFQ0lTSU9OX0VNUExPWUVFX09CSl9OQU1FLFxyXG4gICAgICBmaWVsZDogJ2VtcGxveWVlT2JqTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuICBdXHJcblxyXG4gIGRlZmF1bHRBdmF0YXIhOiBzdHJpbmc7XHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3QhOiBJR2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3Q7XHJcblxyXG4gIGVkaXRSb3V0ZTogSUNvcmVQYWdlTGlzdEVkaXRSb3V0aW5nID0ge1xyXG4gICAgYXV4aWxpYXJ5OiAncG9wdXBBdXgnXHJcbiAgfVxyXG4gIHNlbGVjdGVkRGF0YSE6IGFueVtdO1xyXG4gIGNvcmVQYWdlTGlzdEluc3RhbmNlTnVtYmVyITogbnVtYmVyO1xyXG4gIC8qIEVuZCBQcm9wZXJ0aWVzIGJlaW5nIHBhc3NlZCB0byBjb3JlLXBhZ2UtdHlwZS1hICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmFzOiBSYW5kb21BdmF0YXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIG9yZ2FuaXphdGlvblNlcnZpY2U6IE9yZ2FuaXphdGlvblNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG4gICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gcmFzLmdldCgpO1xyXG4gICAgdGhpcy5jb3JlUGFnZUxpc3RJbnN0YW5jZU51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgdGhpcy5kZWZhdWx0U29ydC5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgICAgc29ydERpcmVjdGlvbjogRW51bVNvcnREaXJlY3Rpb24uREVTQ1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgLyogR2V0IG9yZ0lkcyBzdGFydHVwIHZhbHVlICovXHJcbiAgICBjb25zdCBuZXdPcmdJZHM6IG51bWJlcltdID0gW107XHJcbiAgICB0aGlzLm9yZ2FuaXphdGlvblNlcnZpY2Uuc3RhdHVzJC52YWx1ZS5hY3RpdmVLZXlzLm1hcCh4ID0+IG5ld09yZ0lkcy5wdXNoKE51bWJlcih4KSkpXHJcbiAgICB0aGlzLm9uT3JnSWRzQ2hhbmdlKG5ld09yZ0lkcyk7XHJcblxyXG4gIH1cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0geDtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCA9IHtcclxuICAgICAgICBleENvZGU6ICdIVV9XT1JLSU5HJyxcclxuICAgICAgICBsYW5nOiB4XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gYy5maWVsZCA9PT0gJ2F2YXRhcicpO1xyXG4gICAgaWYgKCEhZmlsdGVyLmxlbmd0aCkgZmlsdGVyWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5hdmF0YXI7XHJcbiAgICBjb25zdCBzdGlja2VyRmlsdGVyID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+IGMuZmllbGQgPT09ICdzdGF0dXNOYW1lJyk7XHJcbiAgICBpZiAoISFzdGlja2VyRmlsdGVyLmxlbmd0aCkgc3RpY2tlckZpbHRlclswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuc3RpY2tlcjtcclxuICB9XHJcblxyXG4gIG9uT3JnSWRzQ2hhbmdlKG9yZ0lkczogbnVtYmVyW10pIHtcclxuICAgIHRoaXMub3JnSWRzID0gb3JnSWRzXHJcbiAgICB0aGlzLm91dGVySW5PcGVyYXRvcnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgICB2YWx1ZXM6IG9yZ0lkc1xyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfVxyXG5cclxuICBvblJvd0NsaWNrTG9jYWwoZTogYW55KSB7XHJcbiAgICB0aGlzLmlkID0gZS5pZDtcclxuICAgIHRoaXMub25Sb3dDbGljay5lbWl0KGUuaWQpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGlja0xvY2FsKGU6IElDb3JlQnV0dG9uVk5TKSB7XHJcbiAgICB0aGlzLm9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljay5lbWl0KGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uU2VsZWN0ZWREYXRhQ2hhbmdlTG9jYWwoZTogYW55W10pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZTtcclxuICAgIHRoaXMub25TZWxlY3RlZERhdGFDaGFuZ2UuZW1pdChlKVxyXG4gIH1cclxuXHJcblxyXG59IiwiPGRpdiBjbGFzcz1cInN0YWZmLXByb2ZpbGUtY29udGFpbmVyXCI+XHJcbiAgPGNvcmUtcGFnZS1saXN0IFthcGlEZWZpbml0aW9uXT1cImFwaURlZmluaXRpb25cIiBbY29sdW1uc109XCJjb2x1bW5zXCIgW2VkaXRSb3V0ZV09XCJlZGl0Um91dGVcIiBbY3J1ZF09XCJjcnVkXCJcclxuICAgIFt0aXRsZV09XCJ0aXRsZVwiIFtsZWZ0XT1cIm9yZ1RyZWVcIlxyXG4gICAgW25vcm1hbE1vZGVdPVwidHJ1ZVwiXHJcbiAgICBbb3V0ZXJQYXJhbSRdPVwib3V0ZXJQYXJhbSRcIlxyXG4gICAgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiXHJcbiAgICBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICBbb3V0ZXJTb3J0XT1cImRlZmF1bHRTb3J0XCJcclxuICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrTG9jYWwoJGV2ZW50KVwiXHJcbiAgICBbc2hvd1BhcmFtS2l0XT1cInRydWVcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yXT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yXCJcclxuICAgIFtkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5XT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXlcIlxyXG4gICAgW2hpZGVTdGF0dXNJbmNsdXNpb25dPVwiZmFsc2VcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvcl09XCJzdGF0dXNJbmNsdXNpb25Gb3JcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XT1cInN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XCJcclxuICAgIFtzdGF0dXNPcHRpb25zQXBpXT1cIndvcmtTdGF0dXNPcHRpb25zQXBpXCJcclxuICAgIChjb3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKT1cIm9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGlja0xvY2FsKCRldmVudClcIlxyXG4gICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZUxvY2FsKCRldmVudClcIlxyXG4gICAgW2dlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XT1cImdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XCJcclxuICAgIFtpbXBvcnRQcmV2aWV3UGF0aF09XCInZGVjaXNpb24taW1wb3J0J1wiXHJcbiAgICBbZnJvemVuXT1cIjNcIlxyXG5cclxuICAgIFtvdXRlclNvcnRdPVwib3V0ZXJTb3J0XCJcclxuICAgID48L2NvcmUtcGFnZS1saXN0PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICA8Y29yZS1vcmctdHJlZSBbKG5nTW9kZWwpXT1cIm9yZ0lkc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uT3JnSWRzQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDwvY29yZS1vcmctdHJlZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3N0aWNrZXIgbGV0LWNvZGU9XCJjb250ZXh0LnN0YXR1c05hbWVcIj5cclxuICAgIDxjb3JlLXN0YXR1cy1zdGlja2VyIFtjb2RlXT1cImNvZGVcIj48L2NvcmUtc3RhdHVzLXN0aWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvZGl2PiJdfQ==
@@ -1,5 +1,3 @@
1
- import { Component, ViewEncapsulation, ViewChild, Input, Output, EventEmitter, } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
1
  import { BaseComponent } from '../base-component/base/base.component';
4
2
  import { CorePageListComponent } from '../core-page-list/core-page-list.component';
5
3
  import { api } from "alpha-global-constants";
@@ -14,6 +12,8 @@ import { CorePageEditComponent } from '../core-page-edit/core-page-edit.componen
14
12
  import { CorePageHeaderComponent } from '../core-page-header/core-page-header/core-page-header.component';
15
13
  import { CoreCheckboxComponent } from '../core-checkbox/core-checkbox/core-checkbox.component';
16
14
  import { CoreStatusStickerComponent } from '../core-status-sticker/core-status-sticker/core-status-sticker.component';
15
+ import { Component, ViewEncapsulation, Input, Output, EventEmitter, ViewChild } from '@angular/core';
16
+ import { BehaviorSubject } from 'rxjs';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "./positon.edit.service";
19
19
  import * as i2 from "../../services/multi-language.service";
@@ -28,11 +28,10 @@ import * as i10 from "../../services/position-transfer.service";
28
28
  import * as i11 from "@angular/forms";
29
29
  export class PositionComponent extends BaseComponent {
30
30
  /* End Properties being passed to core-page-type-a */
31
- constructor(positionEditService, mls, router, route, organizationService, alertService, dialogService, appService, layoutService, corePageListService, positionTransferService) {
31
+ constructor(positionEditService, mls, route, organizationService, alertService, dialogService, appService, layoutService, corePageListService, positionTransferService) {
32
32
  super(mls);
33
33
  this.positionEditService = positionEditService;
34
34
  this.mls = mls;
35
- this.router = router;
36
35
  this.route = route;
37
36
  this.organizationService = organizationService;
38
37
  this.alertService = alertService;
@@ -117,7 +116,7 @@ export class PositionComponent extends BaseComponent {
117
116
  },
118
117
  {
119
118
  caption: EnumTranslateKey.UI_ENTITY_FIELD_CAPTION_POSITION_IS_MAIN_TITLE,
120
- field: 'concurrentStatus',
119
+ field: 'isMaster',
121
120
  type: 'bool',
122
121
  pipe: EnumCoreTablePipeType.BOOLEAN_TO_TRUE_FALSE,
123
122
  align: 'left',
@@ -285,8 +284,8 @@ export class PositionComponent extends BaseComponent {
285
284
  default:
286
285
  }
287
286
  }
288
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PositionComponent, deps: [{ token: i1.PositionEditService }, { token: i2.MultiLanguageService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.OrganizationService }, { token: i5.AlertService }, { token: i6.DialogService }, { token: i7.AppService }, { token: i8.LayoutService }, { token: i9.CorePageListService }, { token: i10.PositionTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
289
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: PositionComponent, isStandalone: true, selector: "cms-app-position", inputs: { hideHeader: "hideHeader" }, outputs: { onInstanceCreated: "onInstanceCreated" }, viewQueries: [{ propertyName: "isTDV", first: true, predicate: ["isTDV"], descendants: true }, { propertyName: "isNotot", first: true, predicate: ["isNotot"], descendants: true }, { propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }, { propertyName: "concurrentStatus", first: true, predicate: ["concurrentStatus"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"position-profile-container\">\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" [normalMode]=\"true\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\" [autoResizeWithWindow]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChangeeee($event)\"\r\n (onInstanceCreated)=\"onInstanceCreatedLocal($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #isTDV let-isTDV=\"context.isTDV\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isTDV\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #isNotot let-isNotot=\"context.isNotot\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isNotot\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.active\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n <ng-template #concurrentStatus let-concurrentStatus=\"context.concurrentStatus\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"concurrentStatus\"></core-checkbox>\r\n </ng-template>\r\n <!-- <ng-template #isplan let-isplan=\"context.isplan\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isplan\"></core-checkbox> \r\n </ng-template>\r\n \r\n <ng-template #isnonphysical let-isnonphysical=\"context.isnonphysical\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isnonphysical\"></core-checkbox> \r\n </ng-template> -->\r\n</div>", styles: [".position-profile-container .b-r{border-right:1px solid #ccc;padding-top:.5rem!important}.position-profile-container .p-l{padding-left:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code"] }], encapsulation: i0.ViewEncapsulation.None }); }
287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PositionComponent, deps: [{ token: i1.PositionEditService }, { token: i2.MultiLanguageService }, { token: i3.ActivatedRoute }, { token: i4.OrganizationService }, { token: i5.AlertService }, { token: i6.DialogService }, { token: i7.AppService }, { token: i8.LayoutService }, { token: i9.CorePageListService }, { token: i10.PositionTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: PositionComponent, isStandalone: true, selector: "cms-app-position", inputs: { hideHeader: "hideHeader" }, outputs: { onInstanceCreated: "onInstanceCreated" }, viewQueries: [{ propertyName: "isTDV", first: true, predicate: ["isTDV"], descendants: true }, { propertyName: "isNotot", first: true, predicate: ["isNotot"], descendants: true }, { propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }, { propertyName: "concurrentStatus", first: true, predicate: ["concurrentStatus"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"position-profile-container\">\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" [normalMode]=\"true\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\" [autoResizeWithWindow]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChangeeee($event)\"\r\n (onInstanceCreated)=\"onInstanceCreatedLocal($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #isTDV let-isTDV=\"context.isTDV\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isTDV\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #isNotot let-isNotot=\"context.isNotot\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isNotot\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.active\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n <ng-template #concurrentStatus let-concurrentStatus=\"context.isMaster\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"concurrentStatus\"></core-checkbox>\r\n </ng-template>\r\n</div>", styles: [".position-profile-container .b-r{border-right:1px solid #ccc;padding-top:.5rem!important}.position-profile-container .p-l{padding-left:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreCheckboxComponent, selector: "core-checkbox", inputs: ["text", "tooltipPosition", "tooltip", "inputValue", "disabled"], outputs: ["onClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code"] }], encapsulation: i0.ViewEncapsulation.None }); }
290
289
  }
291
290
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PositionComponent, decorators: [{
292
291
  type: Component,
@@ -299,8 +298,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
299
298
  CorePageHeaderComponent,
300
299
  CoreCheckboxComponent,
301
300
  CoreStatusStickerComponent
302
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"position-profile-container\">\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" [normalMode]=\"true\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\" [autoResizeWithWindow]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChangeeee($event)\"\r\n (onInstanceCreated)=\"onInstanceCreatedLocal($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #isTDV let-isTDV=\"context.isTDV\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isTDV\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #isNotot let-isNotot=\"context.isNotot\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isNotot\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.active\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n <ng-template #concurrentStatus let-concurrentStatus=\"context.concurrentStatus\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"concurrentStatus\"></core-checkbox>\r\n </ng-template>\r\n <!-- <ng-template #isplan let-isplan=\"context.isplan\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isplan\"></core-checkbox> \r\n </ng-template>\r\n \r\n <ng-template #isnonphysical let-isnonphysical=\"context.isnonphysical\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isnonphysical\"></core-checkbox> \r\n </ng-template> -->\r\n</div>", styles: [".position-profile-container .b-r{border-right:1px solid #ccc;padding-top:.5rem!important}.position-profile-container .p-l{padding-left:0!important}\n"] }]
303
- }], ctorParameters: () => [{ type: i1.PositionEditService }, { type: i2.MultiLanguageService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.OrganizationService }, { type: i5.AlertService }, { type: i6.DialogService }, { type: i7.AppService }, { type: i8.LayoutService }, { type: i9.CorePageListService }, { type: i10.PositionTransferService }], propDecorators: { hideHeader: [{
301
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"position-profile-container\">\r\n <core-page-list [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" [normalMode]=\"true\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\" [autoResizeWithWindow]=\"true\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChangeeee($event)\"\r\n (onInstanceCreated)=\"onInstanceCreatedLocal($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #isTDV let-isTDV=\"context.isTDV\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isTDV\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #isNotot let-isNotot=\"context.isNotot\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"isNotot\"></core-checkbox>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.active\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n <ng-template #concurrentStatus let-concurrentStatus=\"context.isMaster\">\r\n <core-checkbox [disabled]=\"true\" [inputValue]=\"concurrentStatus\"></core-checkbox>\r\n </ng-template>\r\n</div>", styles: [".position-profile-container .b-r{border-right:1px solid #ccc;padding-top:.5rem!important}.position-profile-container .p-l{padding-left:0!important}\n"] }]
302
+ }], ctorParameters: () => [{ type: i1.PositionEditService }, { type: i2.MultiLanguageService }, { type: i3.ActivatedRoute }, { type: i4.OrganizationService }, { type: i5.AlertService }, { type: i6.DialogService }, { type: i7.AppService }, { type: i8.LayoutService }, { type: i9.CorePageListService }, { type: i10.PositionTransferService }], propDecorators: { hideHeader: [{
304
303
  type: Input
305
304
  }], onInstanceCreated: [{
306
305
  type: Output
@@ -317,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
317
316
  type: ViewChild,
318
317
  args: ['concurrentStatus']
319
318
  }] } });
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL3Bvc2l0aW9uL3Bvc2l0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9wb3NpdGlvbi9wb3NpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUVqQixTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUEyRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVKLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFFN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJB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Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVhLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0UsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNXLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUxpc3RDb21wb25lbnQsIElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uLCBJQ29yZVBhZ2VMaXN0Q1JVRCwgSUNvcmVQYWdlTGlzdEVkaXRSb3V0aW5nIH0gZnJvbSAnLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bVRyYW5zbGF0ZUtleSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEVudW1GaWx0ZXJPcGVyYXRvciwgSUZpbHRlck9wZXJhdG9yLCBJSW5PcGVyYXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVF1ZXJ5TGlzdFJlcXVlc3QnO1xyXG5pbXBvcnQgeyBJQWxlcnRPcHRpb25zIH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQvYWxlcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBJQ29yZVRhYmxlQ29sdW1uSXRlbSB9IGZyb20gJy4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW0nO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVRhYmxlUGlwZVR5cGUgfSBmcm9tICcuLi9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFBvc2l0aW9uVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG9zaXRpb24tdHJhbnNmZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IElGb3JtYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JRm9ybWF0ZWRSZXNwb25zZSc7XHJcbmltcG9ydCB7IEVudW1Db3JlQnV0dG9uVk5TQ29kZSB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlJztcclxuaW1wb3J0IHsgSUNvcmVCdXR0b25WTlMgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVPcmdUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVBhZ2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS1wYWdlLWVkaXQvY29yZS1wYWdlLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVBhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLXBhZ2UtaGVhZGVyL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLWNoZWNrYm94L2NvcmUtY2hlY2tib3gvY29yZS1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlU3RhdHVzU3RpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvc2l0aW9uRWRpdFNlcnZpY2UgfSBmcm9tICcuL3Bvc2l0b24uZWRpdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY21zLWFwcC1wb3NpdGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvcmVQYWdlTGlzdENvbXBvbmVudCxcclxuICAgIENvcmVPcmdUcmVlQ29tcG9uZW50LFxyXG4gICAgQ29yZVBhZ2VFZGl0Q29tcG9uZW50LFxyXG4gICAgQ29yZVBhZ2VIZWFkZXJDb21wb25lbnQsXHJcbiAgICBDb3JlQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBDb3JlU3RhdHVzU3RpY2tlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bvc2l0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wb3NpdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3NpdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBoaWRlSGVhZGVyITogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uSW5zdGFuY2VDcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lzVERWJykgaXNURFYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2lzTm90b3QnKSBpc05vdG90ITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdzdGlja2VyJykgc3RpY2tlciE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnY29uY3VycmVudFN0YXR1cycpIGNvbmN1cnJlbnRTdGF0dXMhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvLyBAVmlld0NoaWxkKCdpc3BsYW4nKSBpc3BsYW4hOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vIEBWaWV3Q2hpbGQoJ2lzbm9ucGh5c2ljYWwnKSBpc25vbnBoeXNpY2FsITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBjaGVja2JveFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBvcmdJZHMhOiBudW1iZXJbXTtcclxuICBvcmdJZCE6IG51bWJlcjtcclxuICBsaXN0SW5zdGFuY2UhOiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRJZHM6IG51bWJlcltdID0gW107XHJcbiAgb3V0ZXJQYXJhbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcblxyXG4gIGFwaURlZmluaXRpb246IElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uID0ge1xyXG4gICAgcXVlcnlMaXN0UmVsYXRpdmVQYXRoOiBhcGkuSFVfUE9TSVRJT05fUVVFUllfTElTVCxcclxuICB9O1xyXG4gIHRpdGxlID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfVElUTEVfUE9TSVRJT047XHJcbiAgY3J1ZDogSUNvcmVQYWdlTGlzdENSVUQgPSB7XHJcbiAgICBkZWxldGVJZHM6IGFwaS5IVV9QT1NJVElPTl9ERUxFVEVfSURTLFxyXG4gICAgdG9nZ2xlQWN0aXZlSWRzOiBhcGkuSFVfUE9TSVRJT05fQ0hBTkdFU1RBVFVTXHJcbiAgfTtcclxuXHJcbiAgYWxlcnRPcHRpb25zOiBJQWxlcnRPcHRpb25zID0ge1xyXG4gICAgYXV0b0Nsb3NlOiB0cnVlLFxyXG4gICAga2VlcEFmdGVyUm91dGVDaGFuZ2U6IHRydWUsXHJcbiAgICB0aW1lQ2xvc2U6IDEwMDAwXHJcbiAgfTtcclxuICBvdXRlckZpbHRlck9wZXJhdG9yczogSUZpbHRlck9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICBvcGVyYXRvcjogRW51bUZpbHRlck9wZXJhdG9yLkVRVUFMLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIG91dGVySW5PcGVyYXRvcnM6IElJbk9wZXJhdG9yW10gfCBudWxsID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgdmFsdWVzOiB0aGlzLm9yZ0lkcyB8fCBbXSxcclxuICAgIH0sXHJcbiAgXTtcclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0lTX0FDVElWRSxcclxuICAgICAgZmllbGQ6ICdhY3RpdmUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuQk9PTEVBTl9UT19BQ1RJVkVfSU5BQ1RJVkUsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIHdpZHRoOiAxMTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0NPREUsXHJcbiAgICAgIGZpZWxkOiAnY29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTEwLFxyXG4gICAgICBoaWRkZW46dHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9OQU1FLFxyXG4gICAgICBmaWVsZDogJ25hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fTUFTVEVSLFxyXG4gICAgICBmaWVsZDogJ21hc3Rlck5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fSU5URVJJTSxcclxuICAgICAgZmllbGQ6ICdpbnRlcmltTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9JU19NQUlOX1RJVExFLFxyXG4gICAgICBmaWVsZDogJ2NvbmN1cnJlbnRTdGF0dXMnLFxyXG4gICAgICB0eXBlOiAnYm9vbCcsXHJcbiAgICAgIHBpcGU6IEVudW1Db3JlVGFibGVQaXBlVHlwZS5CT09MRUFOX1RPX1RSVUVfRkFMU0UsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5jaGVja2JveFRlbXBsYXRlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9PUkdOQU1FLFxyXG4gICAgICBmaWVsZDogJ29yZ05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDQwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fTE1fSk9CLFxyXG4gICAgICBmaWVsZDogJ2xtSm9iTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogNDAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9MTSxcclxuICAgICAgZmllbGQ6ICdsbU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fQ1NNX0pPQixcclxuICAgICAgZmllbGQ6ICdjc21Kb2JOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0NTTSxcclxuICAgICAgZmllbGQ6ICdjc21OYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0lTX1REVixcclxuICAgICAgZmllbGQ6ICdpc1REVicsXHJcbiAgICAgIHR5cGU6ICdib29sJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkJPT0xFQU5fVE9fVFJVRV9GQUxTRSxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgICAgcmVhZG9ubHk6IHRydWUsXHJcbiAgICAgIHRlbXBsYXRlUmVmOiB0aGlzLmNoZWNrYm94VGVtcGxhdGUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0lTX05PVF9PVCxcclxuICAgICAgZmllbGQ6ICdpc05vdG90JyxcclxuICAgICAgdHlwZTogJ2Jvb2wnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuQk9PTEVBTl9UT19UUlVFX0ZBTFNFLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgdGVtcGxhdGVSZWY6IHRoaXMuY2hlY2tib3hUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICBcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9FRkZFQ1RJVkVfREFURSxcclxuICAgICAgZmllbGQ6ICdlZmZlY3RpdmVEYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9KT0JfREVTQyxcclxuICAgICAgZmllbGQ6ICdqb2JEZXNjJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX05PVEUsXHJcbiAgICAgIGZpZWxkOiAnbm90ZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIFxyXG4gIF07XHJcblxyXG4gIGVkaXRSb3V0ZTogSUNvcmVQYWdlTGlzdEVkaXRSb3V0aW5nID0ge1xyXG4gICAgYXV4aWxpYXJ5OiAncG9wdXBBdXgnLFxyXG4gIH07XHJcbiAgLyogRW5kIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS10eXBlLWEgKi9cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcG9zaXRpb25FZGl0U2VydmljZSA6IFBvc2l0aW9uRWRpdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbWxzOiBNdWx0aUxhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgb3JnYW5pemF0aW9uU2VydmljZTogT3JnYW5pemF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlLFxyXG4gICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY29yZVBhZ2VMaXN0U2VydmljZTogQ29yZVBhZ2VMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBwb3NpdGlvblRyYW5zZmVyU2VydmljZTogUG9zaXRpb25UcmFuc2ZlclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG5cclxuICAgIC8qIEdldCBvcmdJZHMgc3RhcnR1cCB2YWx1ZSAqL1xyXG4gICAgY29uc3QgbmV3T3JnSWRzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgdGhpcy5vcmdhbml6YXRpb25TZXJ2aWNlLnN0YXR1cyQudmFsdWUuYWN0aXZlS2V5cy5tYXAoKHgpID0+XHJcbiAgICAgIG5ld09yZ0lkcy5wdXNoKE51bWJlcih4KSlcclxuICAgICk7XHJcbiAgICB0aGlzLm9uT3JnSWRzQ2hhbmdlKG5ld09yZ0lkcyk7XHJcbiAgICB0aGlzLmxpc3RJbnN0YW5jZSA9IE51bWJlcihcclxuICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2xpc3RJbnN0YW5jZScpIVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRJZHNDaGFuZ2VlZWUoZTogbnVtYmVyW10pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBlO1xyXG4gIH1cclxuICBvblJvd0NsaWNrKGV2ZW50IDogYW55KXtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0cm9uZyBuZ0FmdGVyVmlld0luaXQgbuG6v3UgbXXhu5FuIHRoYXkgxJHhu5VpIHRodeG7mWMgdMOtbmggY+G7p2EgdHMgY+G6p24gZ8OzaSB2w6BvIHNldFRpbWVvdXRcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jb2x1bW5zLmZpbHRlcigoYykgPT4gYy5maWVsZCA9PT0gJ2lzVERWJylbMF0udGVtcGxhdGVSZWYgPSB0aGlzLmlzVERWO1xyXG4gICAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpZWxkID09PSAnaXNOb3RvdCcpWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5pc05vdG90O1xyXG4gICAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpZWxkID09PSAnY29uY3VycmVudFN0YXR1cycpWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5jb25jdXJyZW50U3RhdHVzO1xyXG4gICAgICAgIGNvbnN0IHN0aWNrZXJGaWx0ZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gYy5maWVsZCA9PT0gJ2FjdGl2ZScpO1xyXG4gICAgICAgIGlmICghIXN0aWNrZXJGaWx0ZXIubGVuZ3RoKSBzdGlja2VyRmlsdGVyWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5zdGlja2VyO1xyXG5cclxuICAgICAgICBcclxuICAgICAgLy8gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+IGMuZmllbGQgPT09ICdpc3BsYW4nKVswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuaXNwbGFuO1xyXG4gICAgICAvLyB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gYy5maWVsZCA9PT0gJ2lzbm9ucGh5c2ljYWwnKVswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuaXNub25waHlzaWNhbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25PcmdJZHNDaGFuZ2Uob3JnSWRzOiBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5vcmdJZHMgPSBvcmdJZHM7XHJcbiAgICB0aGlzLm91dGVySW5PcGVyYXRvcnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgICB2YWx1ZXM6IG9yZ0lkcyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBvbkluc3RhbmNlQ3JlYXRlZExvY2FsKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMubGlzdEluc3RhbmNlID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uSW5zdGFuY2VDcmVhdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBzd2FwTWFzdGVySW50ZXJpbSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzID09IG51bGwgfHwgdGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPT0gMHx8IHRoaXMuc2VsZWN0ZWRJZHMgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFsZXJ0U2VydmljZS53YXJuKFxyXG4gICAgICAgIHRoaXMubWxzLnRyYW5zKCdVSV9DT01QT05FTlRfVElUTEVfUE9TSVRJT05fSURTX05VTEwnKSxcclxuICAgICAgICB0aGlzLmFsZXJ0T3B0aW9uc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29uZmlybSA9IHdpbmRvdy5jb25maXJtKFxyXG4gICAgICB0aGlzLm1scy50cmFucygnY29tbW9uLmNvbmZpcm0uam9iLnN3YXAubWFzdGVyaW50ZXJpbScpICsgJz8nXHJcbiAgICApO1xyXG4gICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIC8vIDw9PSBJbm5lciBwdXNoXHJcbiAgICAgICAgdGhpcy5hcHBTZXJ2aWNlXHJcbiAgICAgICAgICAucG9zdChhcGkuSFVfUE9TSVRJT05fU1dBUCwgeyBpZHM6IHRoaXMuc2VsZWN0ZWRJZHMgfSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghIXJlcy5vayAmJiByZXMuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHJlcy5ib2R5O1xyXG4gICAgICAgICAgICAgIC8vIHJlbG9hZCBtw6BuIGjDrG5oXHJcbiAgICAgICAgICAgICAgY29uc3QgbGlzdEluc3RhbmNlcyA9IHRoaXMuY29yZVBhZ2VMaXN0U2VydmljZS5pbnN0YW5jZXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKHkpID0+IHkuaW5zdGFuY2VOdW1iZXIgPT09IHRoaXMubGlzdEluc3RhbmNlXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBpZiAoISFsaXN0SW5zdGFuY2VzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgbGlzdEluc3RhbmNlc1swXS5yZWxvYWRGbGFnJC5uZXh0KFxyXG4gICAgICAgICAgICAgICAgICAhISFsaXN0SW5zdGFuY2VzWzBdLnJlbG9hZEZsYWckLnZhbHVlXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAvLyBlbmQgcmVsb2FkIG3DoG4gaMOsbmhcclxuICAgICAgICAgICAgICAvLyB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5tbHMudHJhbnMoYm9keS5tZXNzYWdlQ29kZSksXHJcbiAgICAgICAgICAgICAgLy8gICAvL3RoaXMuYWxlcnRPcHRpb25zXHJcbiAgICAgICAgICAgICAgLy8gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKGU6IElDb3JlQnV0dG9uVk5TKSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiU3RhZmZQcm9maWxlQ29tcG9uZW50IG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGlja1wiLCBlKVxyXG4gICAgc3dpdGNoIChlLmNvZGUpIHtcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0NSRUFURTpcclxuICAgICAgICAvL3RoaXMucm91dGVyLm5hdmlnYXRlKFtidG9hKCcwJyldLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSlcclxuICAgICAgICB0aGlzLnBvc2l0aW9uRWRpdFNlcnZpY2UuaXNDcmVhdGluZyQubmV4dCh0cnVlKSBcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0VESVQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9TV0FQOlxyXG4gICAgICAgIHRoaXMuc3dhcE1hc3RlckludGVyaW0oKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLXByb2ZpbGUtY29udGFpbmVyXCI+XHJcbiAgPGNvcmUtcGFnZS1saXN0IFthcGlEZWZpbml0aW9uXT1cImFwaURlZmluaXRpb25cIiBbY29sdW1uc109XCJjb2x1bW5zXCIgW2VkaXRSb3V0ZV09XCJlZGl0Um91dGVcIiBbY3J1ZF09XCJjcnVkXCJcclxuICAgIFt0aXRsZV09XCJ0aXRsZVwiIFtsZWZ0XT1cIm9yZ1RyZWVcIiBbbm9ybWFsTW9kZV09XCJ0cnVlXCIgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCJcclxuICAgIFtvdXRlckluT3BlcmF0b3JzXT1cIm91dGVySW5PcGVyYXRvcnNcIiBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICAoY29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayk9XCJvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0ZWRJZHNDaGFuZ2UpPVwib25TZWxlY3RlZElkc0NoYW5nZWVlZSgkZXZlbnQpXCJcclxuICAgIChvbkluc3RhbmNlQ3JlYXRlZCk9XCJvbkluc3RhbmNlQ3JlYXRlZExvY2FsKCRldmVudClcIj48L2NvcmUtcGFnZS1saXN0PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICA8Y29yZS1vcmctdHJlZSBbKG5nTW9kZWwpXT1cIm9yZ0lkc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uT3JnSWRzQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDwvY29yZS1vcmctdHJlZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2lzVERWIGxldC1pc1REVj1cImNvbnRleHQuaXNURFZcIj5cclxuICAgIDxjb3JlLWNoZWNrYm94IFtkaXNhYmxlZF09XCJ0cnVlXCIgW2lucHV0VmFsdWVdPVwiaXNURFZcIj48L2NvcmUtY2hlY2tib3g+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNpc05vdG90IGxldC1pc05vdG90PVwiY29udGV4dC5pc05vdG90XCI+XHJcbiAgICA8Y29yZS1jaGVja2JveCBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtpbnB1dFZhbHVlXT1cImlzTm90b3RcIj48L2NvcmUtY2hlY2tib3g+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzdGlja2VyIGxldC1jb2RlPVwiY29udGV4dC5hY3RpdmVcIj5cclxuICAgIDxjb3JlLXN0YXR1cy1zdGlja2VyIFtjb2RlXT1cImNvZGVcIj48L2NvcmUtc3RhdHVzLXN0aWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2NvbmN1cnJlbnRTdGF0dXMgbGV0LWNvbmN1cnJlbnRTdGF0dXM9XCJjb250ZXh0LmNvbmN1cnJlbnRTdGF0dXNcIj5cclxuICAgIDxjb3JlLWNoZWNrYm94IFtkaXNhYmxlZF09XCJ0cnVlXCIgW2lucHV0VmFsdWVdPVwiY29uY3VycmVudFN0YXR1c1wiPjwvY29yZS1jaGVja2JveD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDwhLS0gPG5nLXRlbXBsYXRlICNpc3BsYW4gbGV0LWlzcGxhbj1cImNvbnRleHQuaXNwbGFuXCI+XHJcbiAgICAgIDxjb3JlLWNoZWNrYm94IFtkaXNhYmxlZF09XCJ0cnVlXCIgW2lucHV0VmFsdWVdPVwiaXNwbGFuXCI+PC9jb3JlLWNoZWNrYm94PiBcclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSAjaXNub25waHlzaWNhbCBsZXQtaXNub25waHlzaWNhbD1cImNvbnRleHQuaXNub25waHlzaWNhbFwiPlxyXG4gICAgICA8Y29yZS1jaGVja2JveCBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtpbnB1dFZhbHVlXT1cImlzbm9ucGh5c2ljYWxcIj48L2NvcmUtY2hlY2tib3g+IFxyXG4gICAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcbjwvZGl2PiJdfQ==
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL3Bvc2l0aW9uL3Bvc2l0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9wb3NpdGlvbi9wb3NpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUEyRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVKLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFFN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMEJB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QkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNJLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDRSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1csZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1jb21wb25lbnQvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bUZpbHRlck9wZXJhdG9yLCBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IElBbGVydE9wdGlvbnMgfSBmcm9tICcuLi9hbGVydC9hbGVydC9hbGVydC5tb2RlbCc7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSAnLi4vY29yZS10YWJsZS9JQ29yZVRhYmxlQ29sdW1uSXRlbSc7XHJcbmltcG9ydCB7IEVudW1Db3JlVGFibGVQaXBlVHlwZSB9IGZyb20gJy4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlJztcclxuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZ2FuaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9zaXRpb25UcmFuc2ZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wb3NpdGlvbi10cmFuc2Zlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgRW51bUNvcmVCdXR0b25WTlNDb2RlIH0gZnJvbSAnLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9FbnVtQ29yZUJ1dHRvblZOU0NvZGUnO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvSUNvcmVCdXR0b25WTlMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29yZU9yZ1RyZWVDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUVkaXRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLXBhZ2UtZWRpdC9jb3JlLXBhZ2UtZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtY2hlY2tib3gvY29yZS1jaGVja2JveC9jb3JlLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9zaXRpb25FZGl0U2VydmljZSB9IGZyb20gJy4vcG9zaXRvbi5lZGl0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Ntcy1hcHAtcG9zaXRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlRWRpdENvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ29yZUNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgQ29yZVN0YXR1c1N0aWNrZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3NpdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcG9zaXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9zaXRpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaGlkZUhlYWRlciE6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKSBvbkluc3RhbmNlQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdpc1REVicpIGlzVERWITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdpc05vdG90JykgaXNOb3RvdCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnc3RpY2tlcicpIHN0aWNrZXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmN1cnJlbnRTdGF0dXMnKSBjb25jdXJyZW50U3RhdHVzITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gQFZpZXdDaGlsZCgnaXNwbGFuJykgaXNwbGFuITogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvLyBAVmlld0NoaWxkKCdpc25vbnBoeXNpY2FsJykgaXNub25waHlzaWNhbCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY2hlY2tib3hUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgb3JnSWQhOiBudW1iZXI7XHJcbiAgbGlzdEluc3RhbmNlITogbnVtYmVyO1xyXG4gIHNlbGVjdGVkSWRzOiBudW1iZXJbXSA9IFtdO1xyXG4gIG91dGVyUGFyYW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cclxuICBhcGlEZWZpbml0aW9uOiBJQ29yZVBhZ2VMaXN0QXBpRGVmaW5pdGlvbiA9IHtcclxuICAgIHF1ZXJ5TGlzdFJlbGF0aXZlUGF0aDogYXBpLkhVX1BPU0lUSU9OX1FVRVJZX0xJU1QsXHJcbiAgfTtcclxuICB0aXRsZSA9IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX1RJVExFX1BPU0lUSU9OO1xyXG4gIGNydWQ6IElDb3JlUGFnZUxpc3RDUlVEID0ge1xyXG4gICAgZGVsZXRlSWRzOiBhcGkuSFVfUE9TSVRJT05fREVMRVRFX0lEUyxcclxuICAgIHRvZ2dsZUFjdGl2ZUlkczogYXBpLkhVX1BPU0lUSU9OX0NIQU5HRVNUQVRVU1xyXG4gIH07XHJcblxyXG4gIGFsZXJ0T3B0aW9uczogSUFsZXJ0T3B0aW9ucyA9IHtcclxuICAgIGF1dG9DbG9zZTogdHJ1ZSxcclxuICAgIGtlZXBBZnRlclJvdXRlQ2hhbmdlOiB0cnVlLFxyXG4gICAgdGltZUNsb3NlOiAxMDAwMFxyXG4gIH07XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgb3BlcmF0b3I6IEVudW1GaWx0ZXJPcGVyYXRvci5FUVVBTCxcclxuICAgIH0sXHJcbiAgXTtcclxuICBvdXRlckluT3BlcmF0b3JzOiBJSW5PcGVyYXRvcltdIHwgbnVsbCA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgIHZhbHVlczogdGhpcy5vcmdJZHMgfHwgW10sXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgY29sdW1uczogSUNvcmVUYWJsZUNvbHVtbkl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9DT01NT05fSUQsXHJcbiAgICAgIGZpZWxkOiAnaWQnLFxyXG4gICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9JU19BQ1RJVkUsXHJcbiAgICAgIGZpZWxkOiAnYWN0aXZlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkJPT0xFQU5fVE9fQUNUSVZFX0lOQUNUSVZFLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdjZW50ZXInLFxyXG4gICAgICB3aWR0aDogMTEwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9DT0RFLFxyXG4gICAgICBmaWVsZDogJ2NvZGUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDExMCxcclxuICAgICAgaGlkZGVuOnRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fTkFNRSxcclxuICAgICAgZmllbGQ6ICduYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX01BU1RFUixcclxuICAgICAgZmllbGQ6ICdtYXN0ZXJOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0lOVEVSSU0sXHJcbiAgICAgIGZpZWxkOiAnaW50ZXJpbU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fSVNfTUFJTl9USVRMRSxcclxuICAgICAgZmllbGQ6ICdpc01hc3RlcicsXHJcbiAgICAgIHR5cGU6ICdib29sJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkJPT0xFQU5fVE9fVFJVRV9GQUxTRSxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgICAgcmVhZG9ubHk6IHRydWUsXHJcbiAgICAgIHRlbXBsYXRlUmVmOiB0aGlzLmNoZWNrYm94VGVtcGxhdGUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX09SR05BTUUsXHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogNDAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9MTV9KT0IsXHJcbiAgICAgIGZpZWxkOiAnbG1Kb2JOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiA0MDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0xNLFxyXG4gICAgICBmaWVsZDogJ2xtTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9QT1NJVElPTl9DU01fSk9CLFxyXG4gICAgICBmaWVsZDogJ2NzbUpvYk5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fQ1NNLFxyXG4gICAgICBmaWVsZDogJ2NzbU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fSVNfVERWLFxyXG4gICAgICBmaWVsZDogJ2lzVERWJyxcclxuICAgICAgdHlwZTogJ2Jvb2wnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuQk9PTEVBTl9UT19UUlVFX0ZBTFNFLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgdGVtcGxhdGVSZWY6IHRoaXMuY2hlY2tib3hUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fSVNfTk9UX09ULFxyXG4gICAgICBmaWVsZDogJ2lzTm90b3QnLFxyXG4gICAgICB0eXBlOiAnYm9vbCcsXHJcbiAgICAgIHBpcGU6IEVudW1Db3JlVGFibGVQaXBlVHlwZS5CT09MRUFOX1RPX1RSVUVfRkFMU0UsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5jaGVja2JveFRlbXBsYXRlLFxyXG4gICAgfSxcclxuICAgIFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0VGRkVDVElWRV9EQVRFLFxyXG4gICAgICBmaWVsZDogJ2VmZmVjdGl2ZURhdGUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuREFURSxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1BPU0lUSU9OX0pPQl9ERVNDLFxyXG4gICAgICBmaWVsZDogJ2pvYkRlc2MnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fUE9TSVRJT05fTk9URSxcclxuICAgICAgZmllbGQ6ICdub3RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAgXHJcbiAgXTtcclxuXHJcbiAgZWRpdFJvdXRlOiBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgPSB7XHJcbiAgICBhdXhpbGlhcnk6ICdwb3B1cEF1eCcsXHJcbiAgfTtcclxuICAvKiBFbmQgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLXR5cGUtYSAqL1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBwb3NpdGlvbkVkaXRTZXJ2aWNlIDogUG9zaXRpb25FZGl0U2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBvcmdhbml6YXRpb25TZXJ2aWNlOiBPcmdhbml6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgYXBwU2VydmljZTogQXBwU2VydmljZSxcclxuICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGNvcmVQYWdlTGlzdFNlcnZpY2U6IENvcmVQYWdlTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcG9zaXRpb25UcmFuc2ZlclNlcnZpY2U6IFBvc2l0aW9uVHJhbnNmZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIobWxzKTtcclxuXHJcbiAgICAvKiBHZXQgb3JnSWRzIHN0YXJ0dXAgdmFsdWUgKi9cclxuICAgIGNvbnN0IG5ld09yZ0lkczogbnVtYmVyW10gPSBbXTtcclxuICAgIHRoaXMub3JnYW5pemF0aW9uU2VydmljZS5zdGF0dXMkLnZhbHVlLmFjdGl2ZUtleXMubWFwKCh4KSA9PlxyXG4gICAgICBuZXdPcmdJZHMucHVzaChOdW1iZXIoeCkpXHJcbiAgICApO1xyXG4gICAgdGhpcy5vbk9yZ0lkc0NoYW5nZShuZXdPcmdJZHMpO1xyXG4gICAgdGhpcy5saXN0SW5zdGFuY2UgPSBOdW1iZXIoXHJcbiAgICAgIHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdsaXN0SW5zdGFuY2UnKSFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGVkSWRzQ2hhbmdlZWVlKGU6IG51bWJlcltdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZTtcclxuICB9XHJcbiAgb25Sb3dDbGljayhldmVudCA6IGFueSl7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gdHJvbmcgbmdBZnRlclZpZXdJbml0IG7hur91IG114buRbiB0aGF5IMSR4buVaSB0aHXhu5ljIHTDrW5oIGPhu6dhIHRzIGPhuqduIGfDs2kgdsOgbyBzZXRUaW1lb3V0XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29sdW1ucy5maWx0ZXIoKGMpID0+IGMuZmllbGQgPT09ICdpc1REVicpWzBdLnRlbXBsYXRlUmVmID0gdGhpcy5pc1REVjtcclxuICAgICAgdGhpcy5jb2x1bW5zLmZpbHRlcigoYykgPT4gYy5maWVsZCA9PT0gJ2lzTm90b3QnKVswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuaXNOb3RvdDtcclxuICAgICAgdGhpcy5jb2x1bW5zLmZpbHRlcigoYykgPT4gYy5maWVsZCA9PT0gJ2NvbmN1cnJlbnRTdGF0dXMnKVswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuY29uY3VycmVudFN0YXR1cztcclxuICAgICAgICBjb25zdCBzdGlja2VyRmlsdGVyID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+IGMuZmllbGQgPT09ICdhY3RpdmUnKTtcclxuICAgICAgICBpZiAoISFzdGlja2VyRmlsdGVyLmxlbmd0aCkgc3RpY2tlckZpbHRlclswXS50ZW1wbGF0ZVJlZiA9IHRoaXMuc3RpY2tlcjtcclxuXHJcbiAgICAgICAgXHJcbiAgICAgIC8vIHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZpZWxkID09PSAnaXNwbGFuJylbMF0udGVtcGxhdGVSZWYgPSB0aGlzLmlzcGxhbjtcclxuICAgICAgLy8gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+IGMuZmllbGQgPT09ICdpc25vbnBoeXNpY2FsJylbMF0udGVtcGxhdGVSZWYgPSB0aGlzLmlzbm9ucGh5c2ljYWw7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uT3JnSWRzQ2hhbmdlKG9yZ0lkczogbnVtYmVyW10pIHtcclxuICAgIHRoaXMub3JnSWRzID0gb3JnSWRzO1xyXG4gICAgdGhpcy5vdXRlckluT3BlcmF0b3JzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgICAgdmFsdWVzOiBvcmdJZHMsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgb25JbnN0YW5jZUNyZWF0ZWRMb2NhbChldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxpc3RJbnN0YW5jZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5vbkluc3RhbmNlQ3JlYXRlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgc3dhcE1hc3RlckludGVyaW0oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZElkcyA9PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoID09IDB8fCB0aGlzLnNlbGVjdGVkSWRzID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hbGVydFNlcnZpY2Uud2FybihcclxuICAgICAgICB0aGlzLm1scy50cmFucygnVUlfQ09NUE9ORU5UX1RJVExFX1BPU0lUSU9OX0lEU19OVUxMJyksXHJcbiAgICAgICAgdGhpcy5hbGVydE9wdGlvbnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpcm0gPSB3aW5kb3cuY29uZmlybShcclxuICAgICAgdGhpcy5tbHMudHJhbnMoJ2NvbW1vbi5jb25maXJtLmpvYi5zd2FwLm1hc3RlcmludGVyaW0nKSArICc/J1xyXG4gICAgKTtcclxuICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAvLyA8PT0gSW5uZXIgcHVzaFxyXG4gICAgICAgIHRoaXMuYXBwU2VydmljZVxyXG4gICAgICAgICAgLnBvc3QoYXBpLkhVX1BPU0lUSU9OX1NXQVAsIHsgaWRzOiB0aGlzLnNlbGVjdGVkSWRzIH0pXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoISFyZXMub2sgJiYgcmVzLnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSByZXMuYm9keTtcclxuICAgICAgICAgICAgICAvLyByZWxvYWQgbcOgbiBow6xuaFxyXG4gICAgICAgICAgICAgIGNvbnN0IGxpc3RJbnN0YW5jZXMgPSB0aGlzLmNvcmVQYWdlTGlzdFNlcnZpY2UuaW5zdGFuY2VzLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICh5KSA9PiB5Lmluc3RhbmNlTnVtYmVyID09PSB0aGlzLmxpc3RJbnN0YW5jZVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgaWYgKCEhbGlzdEluc3RhbmNlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGxpc3RJbnN0YW5jZXNbMF0ucmVsb2FkRmxhZyQubmV4dChcclxuICAgICAgICAgICAgICAgICAgISEhbGlzdEluc3RhbmNlc1swXS5yZWxvYWRGbGFnJC52YWx1ZVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy8gZW5kIHJlbG9hZCBtw6BuIGjDrG5oXHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMubWxzLnRyYW5zKGJvZHkubWVzc2FnZUNvZGUpLFxyXG4gICAgICAgICAgICAgIC8vICAgLy90aGlzLmFsZXJ0T3B0aW9uc1xyXG4gICAgICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayhlOiBJQ29yZUJ1dHRvblZOUykge1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIlN0YWZmUHJvZmlsZUNvbXBvbmVudCBvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2tcIiwgZSlcclxuICAgIHN3aXRjaCAoZS5jb2RlKSB7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9DUkVBVEU6XHJcbiAgICAgICAgLy90aGlzLnJvdXRlci5uYXZpZ2F0ZShbYnRvYSgnMCcpXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pXHJcbiAgICAgICAgdGhpcy5wb3NpdGlvbkVkaXRTZXJ2aWNlLmlzQ3JlYXRpbmckLm5leHQodHJ1ZSkgXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9FRElUOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfU1dBUDpcclxuICAgICAgICB0aGlzLnN3YXBNYXN0ZXJJbnRlcmltKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1wcm9maWxlLWNvbnRhaW5lclwiPlxyXG4gIDxjb3JlLXBhZ2UtbGlzdCBbYXBpRGVmaW5pdGlvbl09XCJhcGlEZWZpbml0aW9uXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiIFtlZGl0Um91dGVdPVwiZWRpdFJvdXRlXCIgW2NydWRdPVwiY3J1ZFwiXHJcbiAgICBbdGl0bGVdPVwidGl0bGVcIiBbbGVmdF09XCJvcmdUcmVlXCIgW25vcm1hbE1vZGVdPVwidHJ1ZVwiIFtvdXRlclBhcmFtJF09XCJvdXRlclBhcmFtJFwiXHJcbiAgICBbb3V0ZXJJbk9wZXJhdG9yc109XCJvdXRlckluT3BlcmF0b3JzXCIgW2F1dG9SZXNpemVXaXRoV2luZG93XT1cInRydWVcIlxyXG4gICAgKGNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2spPVwib25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cIm9uU2VsZWN0ZWRJZHNDaGFuZ2VlZWUoJGV2ZW50KVwiXHJcbiAgICAob25JbnN0YW5jZUNyZWF0ZWQpPVwib25JbnN0YW5jZUNyZWF0ZWRMb2NhbCgkZXZlbnQpXCI+PC9jb3JlLXBhZ2UtbGlzdD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNvcmdUcmVlPlxyXG4gICAgPGNvcmUtb3JnLXRyZWUgWyhuZ01vZGVsKV09XCJvcmdJZHNcIiAobmdNb2RlbENoYW5nZSk9XCJvbk9yZ0lkc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8L2NvcmUtb3JnLXRyZWU+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNpc1REViBsZXQtaXNURFY9XCJjb250ZXh0LmlzVERWXCI+XHJcbiAgICA8Y29yZS1jaGVja2JveCBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtpbnB1dFZhbHVlXT1cImlzVERWXCI+PC9jb3JlLWNoZWNrYm94PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjaXNOb3RvdCBsZXQtaXNOb3RvdD1cImNvbnRleHQuaXNOb3RvdFwiPlxyXG4gICAgPGNvcmUtY2hlY2tib3ggW2Rpc2FibGVkXT1cInRydWVcIiBbaW5wdXRWYWx1ZV09XCJpc05vdG90XCI+PC9jb3JlLWNoZWNrYm94PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjc3RpY2tlciBsZXQtY29kZT1cImNvbnRleHQuYWN0aXZlXCI+XHJcbiAgICA8Y29yZS1zdGF0dXMtc3RpY2tlciBbY29kZV09XCJjb2RlXCI+PC9jb3JlLXN0YXR1cy1zdGlja2VyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNjb25jdXJyZW50U3RhdHVzIGxldC1jb25jdXJyZW50U3RhdHVzPVwiY29udGV4dC5pc01hc3RlclwiPlxyXG4gICAgPGNvcmUtY2hlY2tib3ggW2Rpc2FibGVkXT1cInRydWVcIiBbaW5wdXRWYWx1ZV09XCJjb25jdXJyZW50U3RhdHVzXCI+PC9jb3JlLWNoZWNrYm94PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PiJdfQ==
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
309
309
  type: ViewChild,
310
310
  args: ['avatar']
311
311
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZmZwcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE4QixLQUFLLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQU01SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3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O3NCQUFkLEtBQUs7Z0JBRWUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bVNvcnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yLCBJSW5PcGVyYXRvciwgSVNvcnRJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNdWx0aUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZ2FuaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudW1Db3JlQnV0dG9uVk5TQ29kZSB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlJztcclxuaW1wb3J0IHsgSUNvcmVCdXR0b25WTlMgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TJztcclxuaW1wb3J0IHsgYWxlcnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FsZXJ0T3B0aW9ucyc7XHJcbmltcG9ydCB7IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQ29yZVRhYmxlQ29sdW1uSXRlbSB9IGZyb20gJy4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW0nO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVRhYmxlUGlwZVR5cGUgfSBmcm9tICcuLi9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb3JlT3JnVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Ntcy1wcm9maWxlLXN0YWZmcHJvZmlsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsIFxyXG4gICAgQ29yZU9yZ1RyZWVDb21wb25lbnQsIFxyXG4gICAgRm9ybXNNb2R1bGUsIFxyXG4gICAgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIE1hcEF2YXRhclRvU2VydmVyUGlwZSxcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YWZmcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3RhZmZwcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGFmZlByb2ZpbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaGlkZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICBAVmlld0NoaWxkKCdhdmF0YXInKSBhdmF0YXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiBTVEFSVDogTG9jYWwgZmlsdGVyIHBhcmFtcyAqL1xyXG4gIG9yZ0lkcyE6IG51bWJlcltdO1xyXG4gIC8qIEVORDogTG9jYWwgZmlsdGVyIHBhcmFtcyAqL1xyXG5cclxuICAvKlxyXG4gIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS1saXN0XHJcbiAgKi9cclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcjogc3RyaW5nID0gJ2pvaW5EYXRlJztcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID1cclxuICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9KT0lOX0RBVEU7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yOiBzdHJpbmcgPSAnd29ya1N0YXR1c0lkJztcclxuICBzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleTogRW51bVRyYW5zbGF0ZUtleSA9XHJcbiAgICBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0RFTU9fQVRUQUNITUVOVF9TVEFUVVNfSUQ7XHJcbiAgc3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuICBsb2FkaW5nITogYm9vbGVhbjtcclxuICB0aXRsZSA9IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX1RJVExFX1NUQUZGX1BST0ZJTEU7XHJcblxyXG4gIG91dGVyU29ydDogSVNvcnRJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiBcImpvYk9yZGVyTnVtXCIsXHJcbiAgICAgIHNvcnREaXJlY3Rpb246IEVudW1Tb3J0RGlyZWN0aW9uLkFTQ1xyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgb3V0ZXJQYXJhbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW107XHJcbiAgb3V0ZXJJbk9wZXJhdG9yczogSUluT3BlcmF0b3JbXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgIHZhbHVlczogdGhpcy5vcmdJZHMgfHwgW10sXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIGFwaURlZmluaXRpb246IElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uID0ge1xyXG4gICAgcXVlcnlMaXN0UmVsYXRpdmVQYXRoOiBhcGkuSFVfRU1QTE9ZRUVfUVVFUllfTElTVCxcclxuICB9O1xyXG5cclxuICBjcnVkOiBJQ29yZVBhZ2VMaXN0Q1JVRCA9IHtcclxuICAgIGRlbGV0ZUlkczogYXBpLkhVX0VNUExPWUVFX0RFTEVURV9JRFMsXHJcbiAgfTtcclxuXHJcbiAgYXZhdGFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0FWQVRBUiwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnYXZhdGFyJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgaGlkZVNlYXJjaEJveDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5hdmF0YXJUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246XHJcbiAgICAgICAgRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0VNUExPWUVFX0NPREUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2NvZGUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0ZVTExOQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdmdWxsbmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTUwLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuTk9STUFMSVpFX0hVTUFOX05BTUUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1lTX1VTRVJfRU1QTE9ZRUVfUFJPRklMRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdwcm9maWxlQ29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogODAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9QT1NJVElPTl9OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICduYW1lT25Qcm9maWxlRW1wbG95ZWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDMwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9PUkdfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9XT1JLX1NUQVRVU19OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICd3b3JrU3RhdHVzTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG5cclxuICBlZGl0Um91dGU6IElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyA9IHtcclxuICAgIGF1eGlsaWFyeTogJ3BvcHVwQXV4JyxcclxuICB9O1xyXG5cclxuICBnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCE6IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdDtcclxuXHJcbiAgaWQ6IGFueTtcclxuXHJcbiAgLyogRW5kIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS1saXN0ICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJhczogUmFuZG9tQXZhdGFyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgb3JnYW5pemF0aW9uU2VydmljZTogT3JnYW5pemF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG4gICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gcmFzLmdldCgpO1xyXG5cclxuICAgIC8qIEdldCBvcmdJZHMgc3RhcnR1cCB2YWx1ZSAqL1xyXG4gICAgY29uc3QgbmV3T3JnSWRzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgdGhpcy5vcmdhbml6YXRpb25TZXJ2aWNlLnN0YXR1cyQudmFsdWUuYWN0aXZlS2V5cy5tYXAoKHgpID0+XHJcbiAgICAgIG5ld09yZ0lkcy5wdXNoKE51bWJlcih4KSlcclxuICAgICk7XHJcbiAgICB0aGlzLm9uT3JnSWRzQ2hhbmdlKG5ld09yZ0lkcyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0geDtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCA9IHtcclxuICAgICAgICBleENvZGU6ICdTVEFGRl9QUk9GSUxFJyxcclxuICAgICAgICBsYW5nOiB4XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8gTuG6v3UgY2hp4buBdSBjYW8gaGVpZ2h0IGPhu6dhIFN0YWZmUHJvZmlsZUNvbXBvbmVudCBraMO0bmcgxJHGsOG7o2MgdHJ1eeG7gW4gdsOgb1xyXG4gICAgLy8gVGjDrCBjaGnhu4F1IGNhbyBj4bunYSBuw7Mgc+G6vSBi4bqxbmcgZ2nDoSB0cuG7iyBiaeG6v24gdGhpw6puIGPhu6dhIGNvbnRlbnRDb250YWluZXJIZWlnaHQkXHJcbiAgICAvLyB0cuG7qyDEkWkga2hv4bqjbmcgcGFkZGluZ0JvdHRvbSAoYmFzaWNTcGFjaW5nKSBcclxuICAgIGlmICghdGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbnRlbnRDb250YWluZXJIZWlnaHQkLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0geCAtIHRoaXMubGF5b3V0U2VydmljZS5iYXNpY1NwYWNpbmc7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpZWxkID09PSAnYXZhdGFyJylbMF0udGVtcGxhdGVSZWYgPVxyXG4gICAgICB0aGlzLmF2YXRhcjtcclxuICB9XHJcblxyXG4gIG9uT3JnSWRzQ2hhbmdlKG9yZ0lkczogbnVtYmVyW10pIHtcclxuICAgIHRoaXMub3JnSWRzID0gb3JnSWRzO1xyXG4gICAgdGhpcy5vdXRlckluT3BlcmF0b3JzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgICAgdmFsdWVzOiBvcmdJZHMsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dEb3VibGVDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtidG9hKGUuaWQudG9TdHJpbmcoKSldLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuXHJcbiAgb25TZWxlY3RlZElkc0NoYW5nZTEoZTogc3RyaW5nW10gfCBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IGU7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkSWRzKTtcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KSB7XHJcbiAgICB0aGlzLmlkID0gZS5pZDtcclxuICB9XHJcblxyXG4gIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayhlOiBJQ29yZUJ1dHRvblZOUykge1xyXG4gICAgY29uc29sZS5sb2coJ1N0YWZmUHJvZmlsZUNvbXBvbmVudCBvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2snLCBlKTtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG4gICAgc3dpdGNoIChlLmNvZGUpIHtcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0NSRUFURTpcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2FwcC1zdGFmZi1wcm9maWxlLWVkaXQnXSwge1xyXG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0VESVQ6XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2J0b2EodGhpcy5pZC50b1N0cmluZygpKV0sIHtcclxuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9ERUxFVEU6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVDpcclxuICAgICAgICBjb25zb2xlLmxvZygnY2FsbCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfUFJJTlRfMkNfMjAwODpcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2Fybih0aGlzLm1scy50cmFucygnUFJJTlRfT05FX1JFQ09SRCcpLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9GSUxFX05BTUUgKyB0aGlzLnNlbGVjdGVkSWRzWzBdLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBmaWxlbmFtZSA9IHJlc3BvbnNlLmlubmVyQm9keTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF8yQzIwMDgsIHtcclxuICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcclxuICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQ6IHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmhyZWYgPSBkb3dubG9hZFVybDtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICcyQ19CTlZfMjAwOF8nICsgZmlsZW5hbWUgKyAnLmRvYycpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QganNvbkJvZHkgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZGF0YS5tZXNzYWdlQ29kZSwgYWxlcnRPcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVF8yQ185ODpcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2Fybih0aGlzLm1scy50cmFucygnUFJJTlRfT05FX1JFQ09SRCcpLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0KGFwaS5IVV9FTVBMT1lFRV9DVl9HRVRfRklMRV9OQU1FICsgdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgZmlsZW5hbWUgPSByZXNwb25zZS5pbm5lckJvZHk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUXzJDOTgsIHtcclxuICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcclxuICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQ6IHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmhyZWYgPSBkb3dubG9hZFVybDtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICcyQ19CTlZfOThfJyArIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChkb3dubG9hZFVybCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb25Cb2R5ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb25Cb2R5KTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2FybihkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1VQREFURTpcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkSWRzWzBdKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0YWZmLXByb2ZpbGUtY29udGFpbmVyXCI+XHJcbiAgPGNvcmUtcGFnZS1saXN0IFxyXG4gICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgW2FwaURlZmluaXRpb25dPVwiYXBpRGVmaW5pdGlvblwiIFtjb2x1bW5zXT1cImNvbHVtbnNcIiBbZWRpdFJvdXRlXT1cImVkaXRSb3V0ZVwiIFtjcnVkXT1cImNydWRcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCIgW2xlZnRdPVwib3JnVHJlZVwiICpuZ0lmPVwiISFhdmF0YXJcIlxyXG4gICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCJcclxuICAgIFtvdXRlckluT3BlcmF0b3JzXT1cIm91dGVySW5PcGVyYXRvcnNcIlxyXG4gICAgW2F1dG9SZXNpemVXaXRoV2luZG93XT1cInRydWVcIlxyXG4gICAgW3NlbGZSZXNvbHZlQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGlja109XCJ0cnVlXCJcclxuICAgIChyb3dEb3VibGVDbGljayk9XCJvblJvd0RvdWJsZUNsaWNrKCRldmVudClcIlxyXG4gICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAoY29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayk9XCJvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0ZWRJZHNDaGFuZ2UpPVwib25TZWxlY3RlZElkc0NoYW5nZTEoJGV2ZW50KVwiXHJcbiAgICBbZnJvemVuXT1cIjNcIlxyXG4gICAgW291dGVyU29ydF09XCJvdXRlclNvcnRcIlxyXG4gICAgW3Nob3dQYXJhbUtpdF09XCJ0cnVlXCJcclxuICAgIFtkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcl09XCJkYXRlUGVyaW9kQ29tcGFyaXNvbkZvclwiXHJcbiAgICBbZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleV09XCJkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5XCJcclxuICAgIFtoaWRlU3RhdHVzSW5jbHVzaW9uXT1cImZhbHNlXCJcclxuICAgIFtzdGF0dXNJbmNsdXNpb25Gb3JdPVwic3RhdHVzSW5jbHVzaW9uRm9yXCJcclxuICAgIFtzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleV09XCJzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleVwiXHJcbiAgICBbc3RhdHVzT3B0aW9uc0FwaV09XCJzdGF0dXNPcHRpb25zQXBpXCJcclxuICAgIFtnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdF09XCJnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdFwiXHJcbiAgICBbaW1wb3J0UHJldmlld1BhdGhdPVwiJ3N0YWZmcHJvZmlsZS1pbXBvcnQnXCIgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgPjwvY29yZS1wYWdlLWxpc3Q+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjb3JnVHJlZT5cclxuICAgIDxjb3JlLW9yZy10cmVlIFsobmdNb2RlbCldPVwib3JnSWRzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25PcmdJZHNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9jb3JlLW9yZy10cmVlPlxyXG5cclxuICAgIFxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYXZhdGFyIGxldC1hdmF0YXI9XCJjb250ZXh0LmF2YXRhclwiPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciAhPSBudWxsXCIgW3NyY109XCJhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciA9PSBudWxsXCIgW3NyY109XCJkZWZhdWx0QXZhdGFyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcblxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L2Rpdj5cclxuPGFwcC1mdWxsc2NyZWVuLW1vZGFsLWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1mdWxsc2NyZWVuLW1vZGFsLWxvYWRlcj4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZmZwcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE4QixLQUFLLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQU01SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3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O3NCQUFkLEtBQUs7Z0JBRWUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRW51bVNvcnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yLCBJSW5PcGVyYXRvciwgSVNvcnRJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNdWx0aUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZ2FuaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudW1Db3JlQnV0dG9uVk5TQ29kZSB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlJztcclxuaW1wb3J0IHsgSUNvcmVCdXR0b25WTlMgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TJztcclxuaW1wb3J0IHsgYWxlcnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FsZXJ0T3B0aW9ucyc7XHJcbmltcG9ydCB7IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQ29yZVRhYmxlQ29sdW1uSXRlbSB9IGZyb20gJy4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW0nO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVRhYmxlUGlwZVR5cGUgfSBmcm9tICcuLi9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb3JlT3JnVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyL2Z1bGxzY3JlZW4tbW9kYWwtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Ntcy1wcm9maWxlLXN0YWZmcHJvZmlsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsIFxyXG4gICAgQ29yZU9yZ1RyZWVDb21wb25lbnQsIFxyXG4gICAgRm9ybXNNb2R1bGUsIFxyXG4gICAgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIE1hcEF2YXRhclRvU2VydmVyUGlwZSxcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YWZmcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3RhZmZwcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGFmZlByb2ZpbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaGlkZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICBAVmlld0NoaWxkKCdhdmF0YXInKSBhdmF0YXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiBTVEFSVDogTG9jYWwgZmlsdGVyIHBhcmFtcyAqL1xyXG4gIG9yZ0lkcyE6IG51bWJlcltdO1xyXG4gIC8qIEVORDogTG9jYWwgZmlsdGVyIHBhcmFtcyAqL1xyXG5cclxuICAvKlxyXG4gIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS1saXN0XHJcbiAgKi9cclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcjogc3RyaW5nID0gJ2pvaW5EYXRlJztcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID1cclxuICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9KT0lOX0RBVEU7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yOiBzdHJpbmcgPSAnd29ya1N0YXR1c0lkJztcclxuICBzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleTogRW51bVRyYW5zbGF0ZUtleSA9XHJcbiAgICBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0RFTU9fQVRUQUNITUVOVF9TVEFUVVNfSUQ7XHJcbiAgc3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuICBsb2FkaW5nITogYm9vbGVhbjtcclxuICB0aXRsZSA9IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX1RJVExFX1NUQUZGX1BST0ZJTEU7XHJcblxyXG4gIG91dGVyU29ydDogSVNvcnRJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiBcImpvYk9yZGVyTnVtXCIsXHJcbiAgICAgIHNvcnREaXJlY3Rpb246IEVudW1Tb3J0RGlyZWN0aW9uLkFTQ1xyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgb3V0ZXJQYXJhbSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW107XHJcbiAgb3V0ZXJJbk9wZXJhdG9yczogSUluT3BlcmF0b3JbXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgIHZhbHVlczogdGhpcy5vcmdJZHMgfHwgW10sXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIGFwaURlZmluaXRpb246IElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uID0ge1xyXG4gICAgcXVlcnlMaXN0UmVsYXRpdmVQYXRoOiBhcGkuSFVfRU1QTE9ZRUVfUVVFUllfTElTVCxcclxuICB9O1xyXG5cclxuICBjcnVkOiBJQ29yZVBhZ2VMaXN0Q1JVRCA9IHtcclxuICAgIGRlbGV0ZUlkczogYXBpLkhVX0VNUExPWUVFX0RFTEVURV9JRFMsXHJcbiAgfTtcclxuXHJcbiAgYXZhdGFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0FWQVRBUiwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnYXZhdGFyJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgaGlkZVNlYXJjaEJveDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5hdmF0YXJUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246XHJcbiAgICAgICAgRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0VNUExPWUVFX0NPREUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2NvZGUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0ZVTExOQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdmdWxsbmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTUwLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuTk9STUFMSVpFX0hVTUFOX05BTUUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1lTX1VTRVJfRU1QTE9ZRUVfUFJPRklMRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdwcm9maWxlQ29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogODAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9QT1NJVElPTl9OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICduYW1lT25Qcm9maWxlRW1wbG95ZWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDMwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9PUkdfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9XT1JLX1NUQVRVU19OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICd3b3JrU3RhdHVzTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG5cclxuICBlZGl0Um91dGU6IElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyA9IHtcclxuICAgIGF1eGlsaWFyeTogJ3BvcHVwQXV4JyxcclxuICB9O1xyXG5cclxuICBnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCE6IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdDtcclxuXHJcbiAgaWQ6IGFueTtcclxuXHJcbiAgLyogRW5kIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS1saXN0ICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmFzOiBSYW5kb21BdmF0YXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBvcmdhbml6YXRpb25TZXJ2aWNlOiBPcmdhbml6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSByYXMuZ2V0KCk7XHJcblxyXG4gICAgLyogR2V0IG9yZ0lkcyBzdGFydHVwIHZhbHVlICovXHJcbiAgICBjb25zdCBuZXdPcmdJZHM6IG51bWJlcltdID0gW107XHJcbiAgICB0aGlzLm9yZ2FuaXphdGlvblNlcnZpY2Uuc3RhdHVzJC52YWx1ZS5hY3RpdmVLZXlzLm1hcCgoeCkgPT5cclxuICAgICAgbmV3T3JnSWRzLnB1c2goTnVtYmVyKHgpKVxyXG4gICAgKTtcclxuICAgIHRoaXMub25PcmdJZHNDaGFuZ2UobmV3T3JnSWRzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICB0aGlzLmxhbmcgPSB4O1xyXG4gICAgICB0aGlzLmdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0ID0ge1xyXG4gICAgICAgIGV4Q29kZTogJ1NUQUZGX1BST0ZJTEUnLFxyXG4gICAgICAgIGxhbmc6IHhcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICAvLyBO4bq/dSBjaGnhu4F1IGNhbyBoZWlnaHQgY+G7p2EgU3RhZmZQcm9maWxlQ29tcG9uZW50IGtow7RuZyDEkcaw4bujYyB0cnV54buBbiB2w6BvXHJcbiAgICAvLyBUaMOsIGNoaeG7gXUgY2FvIGPhu6dhIG7DsyBz4bq9IGLhurFuZyBnacOhIHRy4buLIGJp4bq/biB0aGnDqm4gY+G7p2EgY29udGVudENvbnRhaW5lckhlaWdodCRcclxuICAgIC8vIHRy4burIMSRaSBraG/huqNuZyBwYWRkaW5nQm90dG9tIChiYXNpY1NwYWNpbmcpIFxyXG4gICAgaWYgKCF0aGlzLmhlaWdodCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuY29udGVudENvbnRhaW5lckhlaWdodCQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICAgICAgdGhpcy5oZWlnaHQgPSB4IC0gdGhpcy5sYXlvdXRTZXJ2aWNlLmJhc2ljU3BhY2luZztcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29sdW1ucy5maWx0ZXIoKGMpID0+IGMuZmllbGQgPT09ICdhdmF0YXInKVswXS50ZW1wbGF0ZVJlZiA9XHJcbiAgICAgIHRoaXMuYXZhdGFyO1xyXG4gIH1cclxuXHJcbiAgb25PcmdJZHNDaGFuZ2Uob3JnSWRzOiBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5vcmdJZHMgPSBvcmdJZHM7XHJcbiAgICB0aGlzLm91dGVySW5PcGVyYXRvcnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgICB2YWx1ZXM6IG9yZ0lkcyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBvblJvd0RvdWJsZUNsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2J0b2EoZS5pZC50b1N0cmluZygpKV0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBvblNlbGVjdGVkSWRzQ2hhbmdlMShlOiBzdHJpbmdbXSB8IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMuaWQgPSBlLmlkO1xyXG4gIH1cclxuXHJcbiAgb25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKGU6IElDb3JlQnV0dG9uVk5TKSB7XHJcbiAgICBjb25zb2xlLmxvZygnU3RhZmZQcm9maWxlQ29tcG9uZW50IG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljaycsIGUpO1xyXG4gICAgbGV0IGZpbGVuYW1lID0gJyc7XHJcbiAgICBzd2l0Y2ggKGUuY29kZSkge1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQ1JFQVRFOlxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnYXBwLXN0YWZmLXByb2ZpbGUtZWRpdCddLCB7XHJcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfRURJVDpcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYnRvYSh0aGlzLmlkLnRvU3RyaW5nKCkpXSwge1xyXG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0RFTEVURTpcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1BSSU5UOlxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVF8yQ18yMDA4OlxyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5odHRwLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUX0ZJTEVfTkFNRSArIHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGZpbGVuYW1lID0gcmVzcG9uc2UuaW5uZXJCb2R5O1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUXzJDMjAwOCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb3dubG9hZFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJzJDX0JOVl8yMDA4XycgKyBmaWxlbmFtZSArICcuZG9jJyk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZG93bmxvYWRVcmwpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBqc29uQm9keSA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShqc29uQm9keSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1BSSU5UXzJDXzk4OlxyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9GSUxFX05BTUUgKyB0aGlzLnNlbGVjdGVkSWRzWzBdLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBmaWxlbmFtZSA9IHJlc3BvbnNlLmlubmVyQm9keTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0KGFwaS5IVV9FTVBMT1lFRV9DVl9HRVRfMkM5OCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb3dubG9hZFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJzJDX0JOVl85OF8nICsgZmlsZW5hbWUgKyAnLmRvYycpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QganNvbkJvZHkgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfVVBEQVRFOlxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJZHNbMF0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3RhZmYtcHJvZmlsZS1jb250YWluZXJcIj5cclxuICA8Y29yZS1wYWdlLWxpc3QgXHJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICBbYXBpRGVmaW5pdGlvbl09XCJhcGlEZWZpbml0aW9uXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiIFtlZGl0Um91dGVdPVwiZWRpdFJvdXRlXCIgW2NydWRdPVwiY3J1ZFwiXHJcbiAgICBbdGl0bGVdPVwidGl0bGVcIiBbbGVmdF09XCJvcmdUcmVlXCIgKm5nSWY9XCIhIWF2YXRhclwiXHJcbiAgICBbb3V0ZXJQYXJhbSRdPVwib3V0ZXJQYXJhbSRcIlxyXG4gICAgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiXHJcbiAgICBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICBbc2VsZlJlc29sdmVDb3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrXT1cInRydWVcIlxyXG4gICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgIChjb3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKT1cIm9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgIChzZWxlY3RlZElkc0NoYW5nZSk9XCJvblNlbGVjdGVkSWRzQ2hhbmdlMSgkZXZlbnQpXCJcclxuICAgIFtmcm96ZW5dPVwiM1wiXHJcbiAgICBbb3V0ZXJTb3J0XT1cIm91dGVyU29ydFwiXHJcbiAgICBbc2hvd1BhcmFtS2l0XT1cInRydWVcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yXT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yXCJcclxuICAgIFtkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5XT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXlcIlxyXG4gICAgW2hpZGVTdGF0dXNJbmNsdXNpb25dPVwiZmFsc2VcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvcl09XCJzdGF0dXNJbmNsdXNpb25Gb3JcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XT1cInN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XCJcclxuICAgIFtzdGF0dXNPcHRpb25zQXBpXT1cInN0YXR1c09wdGlvbnNBcGlcIlxyXG4gICAgW2dlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XT1cImdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XCJcclxuICAgIFtpbXBvcnRQcmV2aWV3UGF0aF09XCInc3RhZmZwcm9maWxlLWltcG9ydCdcIiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICA+PC9jb3JlLXBhZ2UtbGlzdD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNvcmdUcmVlPlxyXG4gICAgPGNvcmUtb3JnLXRyZWUgWyhuZ01vZGVsKV09XCJvcmdJZHNcIiAobmdNb2RlbENoYW5nZSk9XCJvbk9yZ0lkc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8L2NvcmUtb3JnLXRyZWU+XHJcblxyXG4gICAgXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhdmF0YXIgbGV0LWF2YXRhcj1cImNvbnRleHQuYXZhdGFyXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwiYXZhdGFyICE9IG51bGxcIiBbc3JjXT1cImF2YXRhciB8IG1hcEF2YXRhclRvU2VydmVyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcbiAgICA8aW1nICpuZ0lmPVwiYXZhdGFyID09IG51bGxcIiBbc3JjXT1cImRlZmF1bHRBdmF0YXJcIiBjbGFzcz1cImluLXRhYmxlLWF2YXRhclwiIGFwcEltYWdlRXJyb3JSZXNvbHZlcj5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvZGl2PlxyXG48YXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiPjwvYXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPiJdfQ==