vcomply-workflow-engine 6.1.71 → 6.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +3 -3
- package/esm2022/lib/ui-kit/avatar-v2/avatar-v2.component.mjs +5 -3
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +2 -3
- package/fesm2022/vcomply-workflow-engine.mjs +5 -7
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -65,7 +65,6 @@ export class FormatAndEvidenceComponent {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
initializeData(settings, type) {
|
|
68
|
-
console.log('initializeData', settings);
|
|
69
68
|
this.formate.hasUploadFormate = settings?.formatRequired ?? false;
|
|
70
69
|
this.formate.formateType =
|
|
71
70
|
settings?.formatLinks?.length > 0 ? 'LINK' : 'FILE';
|
|
@@ -331,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
331
330
|
}], formatEvidanceData: [{
|
|
332
331
|
type: Input
|
|
333
332
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxJQUFhLGtCQUFrQixDQUFDLEtBQVU7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUdELFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWdDO1FBSGhDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEIxQyxXQUFNLEdBQUcsTUFBTSxD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LEVBQUU7Z0JBQ3pDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDNUIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0ExVFUsMEJBQTBCO21HQUExQiwwQkFBMEIsME9DckJ2Qyx5OVVBNE1NOzs0RkR2TE8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtnTUFNekIsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGtCQUFrQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IEZJTEVfVVJMIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZpbGUtdXBsb2FkLmNvbnN0YW50JztcbmltcG9ydCB7IEZJTEVfU0laRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wb2xpY3kuY29uc3RhbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtYXQtYW5kLWV2aWRlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQubGVzcycsICcuLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBAT3V0cHV0KCkgdXBkYXRlRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1vZGUgPSAnJztcbiAgQElucHV0KCkgY2F0ZWdvcmllczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgc2V0IGZvcm1hdEV2aWRhbmNlRGF0YSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKHZhbHVlLCAnbm90IG5nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cbiAgaXNOZXdMaW5rRGlzYWJsZWQgPSBmYWxzZTtcbiAgaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZVxuICApIHsgfVxuXG4gIGZvcm1hdGU6IGFueSA9IHtcbiAgICBoYXNVcGxvYWRGb3JtYXRlOiBmYWxzZSxcbiAgICBmb3JtYXRlVHlwZTogJ0ZJTEUnLCAvLyBMSU5LXG4gICAgaXNFdmlkZW5jZVJlcXVpcmVkOiBmYWxzZSxcbiAgICBsaW5rczogW10sXG4gICAgZmlsZXM6IFtdLFxuICAgIHVwbG9hZEluUHJvZ3Jlc3M6IHt9LFxuICB9O1xuXG4gIG5ld0xpbmsgPSB7XG4gICAgbGluazogJycsXG4gICAgY29udGFpbnNFcnJvcjogZmFsc2UsXG4gIH07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSwgJ25nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplRGF0YShzZXR0aW5nczogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZygnaW5pdGlhbGl6ZURhdGEnLHNldHRpbmdzKTtcbiAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IHNldHRpbmdzPy5mb3JtYXRSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPVxuICAgICAgc2V0dGluZ3M/LmZvcm1hdExpbmtzPy5sZW5ndGggPiAwID8gJ0xJTksnIDogJ0ZJTEUnO1xuICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBzZXR0aW5ncz8uZXZpZGVuY2VSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUubGlua3MgPSB0aGlzLmFycmF5dG9MaW5rT2JqZWN0KHNldHRpbmdzPy5mb3JtYXRMaW5rcykgPz8gW107XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmVwb3J0QUNhc2UnKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXMgPSBzZXR0aW5ncztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzID0gc2V0dGluZ3M/LmZvcm1hdEZpbGVzID8/IFtdO1xuICAgIH1cbiAgfVxuICB0b2dnbGVJc0Zvcm1hdGVVcGxvYWQoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlSXNGb3JtYXRSZXF1aXJlZChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdHVzID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlQXR0YWNobWVudFR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID0gdHlwZTtcbiAgICBpZiAodHlwZSA9PT0gJ0xJTksnICYmIHRoaXMuZm9ybWF0ZS5saW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFRPRE9cbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGluc2VydExpbmsobW9kZTogYW55LCBpbmRleDogbnVtYmVyID0gLTEpIHtcbiAgICAvLyBjb25zdCB1cmxSZWdleCA9IG5ldyBSZWdFeHAoJyhodHRwcz86Ly8pPyhbXFxcXGRhLXouLV0rKVxcXFwuKFthLXouXXsyLDZ9KVsvXFxcXHcgLi1dKi8/Jyk7XG4gICAgY29uc3QgdXJsUmVnZXggPVxuICAgICAgLyhodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXxodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XStcXC5bXlxcc117Mix9KS9naTtcbiAgICBpZiAobW9kZSA9PT0gJ0NSRUFURScpIHtcbiAgICAgIGlmICh0aGlzLm5ld0xpbmsubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaXNWYWxpZCA9IHVybFJlZ2V4LnRlc3QodGhpcy5uZXdMaW5rLmxpbmspO1xuICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy5uZXdMaW5rLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnB1c2godGhpcy5uZXdMaW5rKTtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV3TGluay5jb250YWluc0Vycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICdFRElUJykge1xuICAgICAgaWYgKHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICAgICAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluayk7XG4gICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uY29udGFpbnNFcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBlZGl0TGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNOZXdMaW5rRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICB9XG5cbiAgZGVsZXRlTGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHJlc2V0TmV3TGluaygpIHtcbiAgICB0aGlzLm5ld0xpbmsgPSB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZVByb2Nlc3NpbmcoZmlsZTogRmlsZSwgdWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wb2xpY3lTZXJ2aWNlLmZpbGVTaXplTGltaXQoZmlsZSkpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlLCB1aWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5zaG93KEZJTEVfU0laRS5NRVNTQUdFLCBGSUxFX1NJWkUuRVJST1IpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsZURyb3BwZWQoZmlsZXM6IGFueSkge1xuICAgIEFycmF5LmZyb20oZmlsZXMpLmZvckVhY2goKGZpbGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdWlkOiBzdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTQpO1xuICAgICAgdGhpcy5maWxlUHJvY2Vzc2luZyhmaWxlLCB1aWQpO1xuICAgIH0pO1xuICB9XG5cbiAgdXBsb2FkRmlsZShmaWxlOiBhbnksIHVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXSA9IGZpbGUubmFtZTtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScgfHwgdGhpcy5tb2RlID09ICdwb2xpY3lSZXZpZXdlcicpIHtcbiAgICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAgIC5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVwYXRoOiBwYXRoLFxuICAgICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgbGlua1NldDogJycsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBmaWQ6IGRhdGE/LmZpZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkZWxldGUgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXTtcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXJsID0gYG9yZy0ke3RoaXMub3JnYW5pemF0aW9uX2lkfSR7RklMRV9VUkwuZm9ybWF0fWA7XG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZVxuICAgICAgICAudXBsb2FkVG9Ob2RlKGZvcm1EYXRhLCB1cmwpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVwYXRoOmRhdGE/LmZpbGVfdXJsX3BhdGgsXG4gICAgICAgICAgICBmaWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgICBmaWxlbmFtZTogZGF0YS5uYW1lLFxuICAgICAgICAgICAgb3JpZ2luYWxfZmlsZW5hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlQXR0YWNobWVudChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGVtaXRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlID09ICdyZXBvcnRBQ2FzZScpIHtcbiAgICAgIHRoaXMudXBkYXRlRmlsZXMuZW1pdCh0aGlzLmZvcm1hdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09ICdwb2xpY3knIHx8IHRoaXMubW9kZSA9PSAncG9saWN5UmV2aWV3ZXInKSB7XG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICBpc0Zvcm1hdGVVcGxvYWRlZDogdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUsXG4gICAgICAgIGxpbmtzOlxuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnXG4gICAgICAgICAgICA/IHRoaXMuZ2V0TGlua3NBcnJheShcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdGUubGlua3M/Lmxlbmd0aCA/IFsuLi50aGlzLmZvcm1hdGUubGlua3NdIDogW11cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgZmlsZXM6IHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnID8gdGhpcy5mb3JtYXRlLmZpbGVzIDogW10sXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCxcbiAgICAgIH07XG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgIHRoaXMudXBkYXRlRmlsZXMuZW1pdChwYXlsb2FkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgaXNGb3JtYXRlVXBsb2FkZWQ6IHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlLFxuICAgICAgICBsaW5rczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1xuICAgICAgICAgICAgPyB0aGlzLmdldExpbmtzQXJyYXkoWy4uLnRoaXMuZm9ybWF0ZS5saW5rc10pXG4gICAgICAgICAgICA6IFtdLFxuICAgICAgICBmaWxlczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJ1xuICAgICAgICAgICAgPyB0aGlzLmZvcm1hdGUuZmlsZXNcbiAgICAgICAgICAgIDogW10sXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCxcbiAgICAgIH07XG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XG4gICAgfVxuICB9XG4gIGdldExpbmtzQXJyYXkobGlua3M6IGFueSkge1xuICAgIGNvbnN0IGxpbmsgPSBsaW5rcy5tYXAoKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGUubGluayAmJiAhZT8uY29udGFpbnNFcnJvciAmJiAhZT8uaXNFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiBlLmxpbms7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGxpbms/Lmxlbmd0aCA8PSAxICYmIGxpbmtbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbGluaztcbiAgICB9XG4gIH1cblxuICBhcnJheXRvTGlua09iamVjdChsaW5rc0FycmF5OiBhbnkpIHtcbiAgICBpZiAobGlua3NBcnJheSkge1xuICAgICAgY29uc3QgbGlua3MgPSBsaW5rc0FycmF5Lm1hcCgoZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiB7IGxpbms6IGUsIGNvbnRhaW5zRXJyb3I6IGZhbHNlLCBpc0VkaXRpbmc6IGZhbHNlIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGxpbmtzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgaXNFZGl0RW5hYmxlZCgpIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5mb3JtYXRlLmxpbmtzKSB7XG4gICAgICBpZiAoaXRlbS5pc0VkaXRpbmcgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5pc0VkaXREaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcG9saWN5TGlua1NldExpc3QgPSBbXG4gICAgLy8gJ1BvbGljeSBDaGFydGVyJyxcbiAgICAvLyAnUmVsYXRlZCBQb2xpY3kgRG9jdW1lbnRzL090aGVyIFJlZmVyZW5jZXMnLFxuICAgIC8vICdQcm9jZWR1cmVzIExpbmtlZCB0byB0aGlzIFBvbGljeScsXG4gICAgLy8gJ0ltcGxlbWVudGF0aW9uIEd1aWRlbGluZXMgZm9yIHRoaXMgUG9saWN5JyxcbiAgICAvLyAnVHJhaW5pbmcgTWF0ZXJpYWxzIGZvciB0aGlzIFBvbGljeSdcbiAgICAnQ2hhcnRlcicsXG4gICAgJ1JlbGF0ZWQgRG9jdW1lbnRzJyxcbiAgICAnUmVmZXJlbmNlIE1hdGVyaWFscycsXG4gICAgJ1JlbGF0ZWQgcHJvY2VkdXJlcycsXG4gICAgJ0ltcGxlbWVudGF0aW9uIGd1aWRlbGluZXMnLFxuICAgICdUcmFpbmluZyBNYXRlcmlhbHMnLFxuICAgICdSZWd1bGF0b3J5IERvY3VtZW50cycsXG4gICAgJ090aGVyJyxcbiAgXTtcbiAgc2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLmxpbmtTZXQgPSBldmVudDtcbiAgICBpZiAoZXZlbnQgPT09ICdPdGhlcicgJiYgIXRoaXMuZm9ybWF0ZT8uZmlsZXNbaW5kZXhdPy5vdGhlcnMpIHtcbiAgICAgIHRoaXMuZm9ybWF0ZS5maWxlc1tpbmRleF0ub3RoZXJzID0gWycnXTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGFkZE1vcmVEb2N1bWVudHNEZXRhaWxzKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLm90aGVycy5wdXNoKCcnKTtcbiAgfVxuXG4gIHVwbG9hZFBvbGljeUF0dGFjaG1lbnRzKGZvcm1EYXRhOiBhbnkpIHtcbiAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcbiAgICAgIC5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICBmaWxlX25hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICBvcmlnaW5hbF9maWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKSxcbiAgICAgICAgICBtZW1iZXJfaWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKSxcbiAgICAgICAgICBjYXRlZ29yeV9pZDogdGhpcy5jYXRlZ29yaWVzLFxuICAgICAgICAgIGNsYXBfaWQ6IDAsXG4gICAgICAgICAgY29udHJhY3RfdHlwZTogNCxcbiAgICAgICAgICBmb2xkZXJfaWQ6IDAsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIiBbY2xhc3MucG9saWN5LXVwbG9hZC1maWxlXT1cIlsncG9saWN5JywgJ3JlcG9ydEFDYXNlJ10/LmluY2x1ZGVzKG1vZGUpXCI+XG4gIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jlc3BvbnNpYmlsaXR5J1wiPlxuICAgIEZvcm1hdCAmIEV2aWRlbmNlXG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWQtZm9ybWF0XCIgKm5nSWY9XCJcbiAgICAgIG1vZGUgIT0gJ3BvbGljeScgJiYgbW9kZSAhPSAncG9saWN5UmV2aWV3ZXInICYmIG1vZGUgIT0gJ3JlcG9ydEFDYXNlJ1xuICAgIFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkRvIHlvdSB3YW50IHRvIHVwbG9hZCBhIGZvcm1hdCBmb3IgdGhpcyByZXNwb25zaWJpbGl0eT88L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCI+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidmb3JtYXRfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlID09PSB0cnVlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdGVVcGxvYWQodHJ1ZSlcIj5ZZXM8L2FwcC1jcy1yYWRpbz5cbiAgICAgIDxhcHAtY3MtcmFkaW8gW25hbWVdPVwiJ2Zvcm1hdF9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPT09IGZhbHNlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdGVVcGxvYWQoZmFsc2UpXCI+Tm9cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tdGFiXCIgKm5nSWY9XCJmb3JtYXRlPy5oYXNVcGxvYWRGb3JtYXRlIHx8IG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJ1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwiZm9ybWF0ZT8uZm9ybWF0ZVR5cGUgPT09ICdGSUxFJ1wiIChjbGljayk9XCJ0b2dnbGVBdHRhY2htZW50VHlwZSgnRklMRScpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtYXRlLmxpbmtzPy5sZW5ndGggPiAwXCI+XG4gICAgICBJbnNlcnQgRmlsZVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwiZm9ybWF0ZT8uZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1wiIChjbGljayk9XCJ0b2dnbGVBdHRhY2htZW50VHlwZSgnTElOSycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtYXRlLmZpbGVzPy5sZW5ndGggPiAwXCI+XG4gICAgICBJbnNlcnQgTGlua1xuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAoZm9ybWF0ZT8uaGFzVXBsb2FkRm9ybWF0ZSAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncG9saWN5JyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncG9saWN5UmV2aWV3ZXInICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJykgfHxcbiAgICAgIChtb2RlID09ICdyZXBvcnRBQ2FzZScgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKVxuICAgIFwiPlxuICAgIDwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1maWxlIHVwbG9hZCBpbiBwcm9ncmVzcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGZvcm1hdGU/LnVwbG9hZEluUHJvZ3Jlc3MgfCBrZXl2YWx1ZSkubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdFwiICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBlYWNoRmlsZSBvZiBmb3JtYXRlPy51cGxvYWRJblByb2dyZXNzIHwga2V5dmFsdWU7XG4gICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCIyXCI+PC9hcHAtbGluZS1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZmlsZSB1cGxvYWQgZW5kcyBoZXJlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT0gJ3BvbGljeSdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdFwiICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBmb3JtYXRlLmZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGVhY2hGaWxlPy5maWxlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZSA9PSAncG9saWN5J1wiIGNsYXNzPVwicG9saWN5LXJlbGF0ZWQtZG9jdW1lbnQtZmllbGQgdngtcC0zIHZ4LXB0LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0yXCI+XG4gICAgICAgICAgTElOSyBUSEUgRE9DVU1FTlQgQU5EIFNQRUNJRlkgVEhFIFJFTEFUSU9OU0hJUCBXSVRIIFRISVMgUE9MSUNZXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0IHBvbGljeVwiICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBmb3JtYXRlLmZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUgdGFibGUge3tcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJylbXG4gICAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJyk/Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH19XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJlOzwvaT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtYXQge3tcbiAgICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoJy4nKVtcbiAgICAgICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfX1cIj57e1xuICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoXCIuXCIpW1xuICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoXCIuXCIpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGU/LmZpbGVfbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Y3Mtc2VsZWN0IFsobmdNb2RlbCldPVwiZWFjaEZpbGUubGlua1NldFwiIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkTGlua1NldENoYW5nZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRGVmaW5lIHRoZSBkb2N1bWVudFxcJ3MgcmVsYXRpb25zaGlwIHRvIHRoaXMgcG9saWN5J1wiIG5hbWU9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lMaW5rU2V0TGlzdFwiIFt2YWx1ZV09XCJkYXRhXCI+XG4gICAgICAgICAgICAgIHt7IGRhdGEgfX1cbiAgICAgICAgICAgIDwvY3Mtb3B0aW9uPlxuICAgICAgICAgIDwvY3Mtc2VsZWN0PlxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3RoZXIgb2YgZWFjaEZpbGU/Lm90aGVyczsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiZWFjaEZpbGU/LmxpbmtTZXQgPT09ICdPdGhlciAoc3BlY2lmeSBvd24pJ1wiIFtuZ01vZGVsXT1cImVhY2hGaWxlLm90aGVyc1tqXVwiIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkTGlua1NldENoYW5nZSgnT3RoZXIgKHNwZWNpZnkgb3duKScsaSwgJGV2ZW50LCBqKVwiIGNsYXNzPVwibGlua2FnZS1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJUeXBlIHRoZSBsaW5rYWdlIGRldGFpbHNcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVhY2hGaWxlPy5saW5rU2V0ID09PSAnT3RoZXIgKHNwZWNpZnkgb3duKSdcIiBjbGFzcz1cImxpbmthZ2UtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW10LTJcIiAoY2xpY2spPVwiYWRkTW9yZURvY3VtZW50c0RldGFpbHMoaSlcIj4rIEFERCBNT1JFPC9idXR0b24+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgTElOSyBUSEUgRE9DVU1FTlQgQU5EIFNQRUNJRlkgVEhFIFJFTEFUSU9OU0hJUCBXSVRIIFRISVMgUE9MSUNZXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdJZj1cIm1vZGUhPSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZT8uZmlsZV9uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUF0dGFjaG1lbnQoaSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdCBwb2xpY3lcIiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57e2VhY2hGaWxlPy5maWxlX25hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0gLSA8YnV0dG9uIGNsYXNzPVwiZWRpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0gLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGNzLXNlbGVjdCBbKG5nTW9kZWwpXT1cImVhY2hGaWxlLmxpbmtTZXRcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJGV2ZW50LGkpXCIgW3BsYWNlaG9sZGVyXT1cIidEZWZpbmUgdGhlIGRvY3VtZW50XFwncyByZWxhdGlvbnNoaXAgdG8gdGhpcyBwb2xpY3knXCIgbmFtZT1cInNlbGVjdGVkXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lMaW5rU2V0TGlzdFwiIFt2YWx1ZV09XCJkYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3Mtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2NzLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZHJhZyBhbmQgZHJvcCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWItZ3JvdXBcIiBbY2xhc3MudXBsb2FkZWRdPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiIGFwcERyYWdEcm9wXG4gICAgICAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJ1cGxvYWQtZmlsZVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiQVNTRVRTLnVwbG9hZFwiIGFsdD1cIlwiIGNsYXNzPVwiaW1hZ2VcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnJvd3NlXCI+XG4gICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPSAncG9saWN5JyAmJiBtb2RlICE9ICdyZXBvcnRBQ2FzZSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09ICdwb2xpY3knIHx8IG1vZGUgPT0gJ3JlcG9ydEFDYXNlJ1wiPkRyb3AgeW91ciBmaWxlcyBoZXJlIC9cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkJyb3dzZVxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZSAoY2hhbmdlKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50LnRhcmdldC5maWxlcylcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwibW9kZSE9J3BvbGljeSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+RHJhZyAmIGRyb3AgdG8gdXBsb2FkIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBvbGljeSAvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+QnJvd3NlXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZSAoY2hhbmdlKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50LnRhcmdldC5maWxlcylcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZHJhZyBkcm9wIGVuZHMgaGVyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlxuICAgICAgKGZvcm1hdGU/Lmhhc1VwbG9hZEZvcm1hdGUgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnTElOSycpXG4gICAgXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdGUubGlua3MubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBmb3JtYXRlLmxpbmtzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdJZj1cIiFsaW5rLmlzRWRpdGluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBsaW5rLmxpbmsgfX0gPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNFZGl0RGlzYWJsZWRcIiBjbGFzcz1cImVkaXRcIiAoY2xpY2spPVwiZWRpdExpbmsoaSlcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVMaW5rKGkpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaW5rLmlzRWRpdGluZ1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZWRpdC1saW5rXCIgYXBwQXV0b2ZvY3VzIHBsYWNlaG9sZGVyPVwiRW50ZXIgdGhlIGxpbmsgaGVyZVwiIFsobmdNb2RlbCldPVwibGluay5saW5rXCJcbiAgICAgICAgICAgIChmb2N1c291dCk9XCJpbnNlcnRMaW5rKCdFRElUJywgaSlcIiAoa2V5ZG93bi5lbnRlcik9XCJpbnNlcnRMaW5rKCdFRElUJywgaSlcIiAvPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwibGluay5jb250YWluc0Vycm9yXCI+XG4gICAgICAgICAgICBQbGVhc2UgaW5zZXJ0IGEgdmFsaWQgbGlua1xuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImlzTmV3TGlua0Rpc2FibGVkXCIgY2xhc3M9XCJlZGl0LWxpbmtcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwibmV3TGluay5saW5rXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgdGhlIGxpbmsgaGVyZVwiIChmb2N1c291dCk9XCJpbnNlcnRMaW5rKCdDUkVBVEUnKVwiIChrZXlkb3duLmVudGVyKT1cImluc2VydExpbmsoJ0NSRUFURScpXCIgLz5cbiAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5ld0xpbmsuY29udGFpbnNFcnJvclwiPlxuICAgICAgUGxlYXNlIGluc2VydCBhIHZhbGlkIGxpbmtcbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwidXBsb2FkLWZvcm1hdFwiICpuZ0lmPVwibW9kZSA9PSAncmVzcG9uc2liaWxpdHknXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+RG8geW91IHdhbnQgZXZpZGVuY2Ugb2YgY29tcGxldGlvbiBvZiB0aGUgcmVzcG9uc2liaWxpdHkgdG8gYmVcbiAgICAgIHVwbG9hZGVkPzwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cbiAgICAgIDxhcHAtY3MtcmFkaW8gW25hbWVdPVwiJ2V2aWRlbmNlX3JlcXVpcmVkJ1wiIFtjaGVja2VkXT1cImZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID09PSB0cnVlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdFJlcXVpcmVkKHRydWUpXCI+WWVzPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidldmlkZW5jZV9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9PT0gZmFsc2VcIlxuICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInRvZ2dsZUlzRm9ybWF0UmVxdWlyZWQoZmFsc2UpXCI+Tm9cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxJQUFhLGtCQUFrQixDQUFDLEtBQVU7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUdELFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWdDO1FBSGhDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEIxQyxXQUFNLEdBQUcsTUFBTSxD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RSxDQUFDO2dCQUNWLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixTQUFTLEVBQUUsQ0FBQzthQUNiLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBelRVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDBPQ3JCdkMseTlVQTRNTTs7NEZEdkxPLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7Z01BTXpCLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDTyxrQkFBa0I7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGSUxFX1VSTCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9maWxlLXVwbG9hZC5jb25zdGFudCc7XG5pbXBvcnQgeyBGSUxFX1NJWkUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcG9saWN5LmNvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm1hdC1hbmQtZXZpZGVuY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm1hdC1hbmQtZXZpZGVuY2UuY29tcG9uZW50Lmxlc3MnLCAnLi4vLi4vZm9ybXMubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRBbmRFdmlkZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgQE91dHB1dCgpIHVwZGF0ZUZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBtb2RlID0gJyc7XG4gIEBJbnB1dCgpIGNhdGVnb3JpZXM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG9yZ2FuaXphdGlvbl9pZDogYW55ID0gJyc7XG4gIEBJbnB1dCgpIHNldCBmb3JtYXRFdmlkYW5jZURhdGEodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSh2YWx1ZSwgJ25vdCBuZyBvbiBpbml0Jyk7XG4gICAgfVxuICB9XG4gIGlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XG4gIGlzRWRpdERpc2FibGVkID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzcG9uc2liaWxpdHlTZXJ2aWNlOiBSZXNwb25zaWJpbGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tiYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2VcbiAgKSB7IH1cblxuICBmb3JtYXRlOiBhbnkgPSB7XG4gICAgaGFzVXBsb2FkRm9ybWF0ZTogZmFsc2UsXG4gICAgZm9ybWF0ZVR5cGU6ICdGSUxFJywgLy8gTElOS1xuICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogZmFsc2UsXG4gICAgbGlua3M6IFtdLFxuICAgIGZpbGVzOiBbXSxcbiAgICB1cGxvYWRJblByb2dyZXNzOiB7fSxcbiAgfTtcblxuICBuZXdMaW5rID0ge1xuICAgIGxpbms6ICcnLFxuICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlLFxuICB9O1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtYXRFdmlkYW5jZURhdGEpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEodGhpcy5mb3JtYXRFdmlkYW5jZURhdGEsICduZyBvbiBpbml0Jyk7XG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZURhdGEoc2V0dGluZ3M6IGFueSwgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSBzZXR0aW5ncz8uZm9ybWF0UmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID1cbiAgICAgIHNldHRpbmdzPy5mb3JtYXRMaW5rcz8ubGVuZ3RoID4gMCA/ICdMSU5LJyA6ICdGSUxFJztcbiAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gc2V0dGluZ3M/LmV2aWRlbmNlUmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzID0gdGhpcy5hcnJheXRvTGlua09iamVjdChzZXR0aW5ncz8uZm9ybWF0TGlua3MpID8/IFtdO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3JlcG9ydEFDYXNlJykge1xuICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzID0gc2V0dGluZ3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcyA9IHNldHRpbmdzPy5mb3JtYXRGaWxlcyA/PyBbXTtcbiAgICB9XG4gIH1cbiAgdG9nZ2xlSXNGb3JtYXRlVXBsb2FkKHN0YXR1czogYm9vbGVhbikge1xuICAgIGlmIChzdGF0dXMgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHRvZ2dsZUlzRm9ybWF0UmVxdWlyZWQoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHRvZ2dsZUF0dGFjaG1lbnRUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9IHR5cGU7XG4gICAgaWYgKHR5cGUgPT09ICdMSU5LJyAmJiB0aGlzLmZvcm1hdGUubGlua3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBUT0RPXG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBpbnNlcnRMaW5rKG1vZGU6IGFueSwgaW5kZXg6IG51bWJlciA9IC0xKSB7XG4gICAgLy8gY29uc3QgdXJsUmVnZXggPSBuZXcgUmVnRXhwKCcoaHR0cHM/Oi8vKT8oW1xcXFxkYS16Li1dKylcXFxcLihbYS16Ll17Miw2fSlbL1xcXFx3IC4tXSovPycpO1xuICAgIGNvbnN0IHVybFJlZ2V4ID1cbiAgICAgIC8oaHR0cHM/OlxcL1xcLyg/Ond3d1xcLnwoPyF3d3cpKVthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XVthLXpBLVowLTktXStbYS16QS1aMC05XVxcLlteXFxzXXsyLH18aHR0cHM/OlxcL1xcLyg/Ond3d1xcLnwoPyF3d3cpKVthLXpBLVowLTldK1xcLlteXFxzXXsyLH18d3d3XFwuW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfSkvZ2k7XG4gICAgaWYgKG1vZGUgPT09ICdDUkVBVEUnKSB7XG4gICAgICBpZiAodGhpcy5uZXdMaW5rLmxpbmsubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzZXROZXdMaW5rKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMubmV3TGluay5saW5rKTtcbiAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgIHRoaXMubmV3TGluay5jb250YWluc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rcy5wdXNoKHRoaXMubmV3TGluayk7XG4gICAgICAgIHRoaXMucmVzZXROZXdMaW5rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5ld0xpbmsuY29udGFpbnNFcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChtb2RlID09PSAnRURJVCcpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmxpbmsubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBpc1ZhbGlkID0gdXJsUmVnZXgudGVzdCh0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmxpbmspO1xuICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5jb250YWluc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uaXNFZGl0aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNOZXdMaW5rRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmNvbnRhaW5zRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgZWRpdExpbmsoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uaXNFZGl0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcbiAgfVxuXG4gIGRlbGV0ZUxpbmsoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybWF0ZS5saW5rcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICByZXNldE5ld0xpbmsoKSB7XG4gICAgdGhpcy5uZXdMaW5rID0ge1xuICAgICAgbGluazogJycsXG4gICAgICBjb250YWluc0Vycm9yOiBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIGZpbGVQcm9jZXNzaW5nKGZpbGU6IEZpbGUsIHVpZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucG9saWN5U2VydmljZS5maWxlU2l6ZUxpbWl0KGZpbGUpKSB7XG4gICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZSwgdWlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFja2JhclNlcnZpY2Uuc2hvdyhGSUxFX1NJWkUuTUVTU0FHRSwgRklMRV9TSVpFLkVSUk9SKTtcbiAgICB9XG4gIH1cblxuICBvbkZpbGVEcm9wcGVkKGZpbGVzOiBhbnkpIHtcbiAgICBBcnJheS5mcm9tKGZpbGVzKS5mb3JFYWNoKChmaWxlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHVpZDogc3RyaW5nID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE0KTtcbiAgICAgIHRoaXMuZmlsZVByb2Nlc3NpbmcoZmlsZSwgdWlkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHVwbG9hZEZpbGUoZmlsZTogYW55LCB1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF0gPSBmaWxlLm5hbWU7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBpZiAodGhpcy5tb2RlID09ICdwb2xpY3knIHx8IHRoaXMubW9kZSA9PSAncG9saWN5UmV2aWV3ZXInKSB7XG4gICAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICAgIHRoaXMucG9saWN5U2VydmljZVxuICAgICAgICAuZmlsZVVwbG9hZFdvcmtyb29tKGZvcm1EYXRhLCBwYXRoKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuZmlsZXMucHVzaCh7XG4gICAgICAgICAgICBmaWxlcGF0aDogcGF0aCxcbiAgICAgICAgICAgIGZpbGVfbmFtZTogZGF0YS5vcmdfZmlsZSxcbiAgICAgICAgICAgIGZpbGVuYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgICBvcmlnaW5hbF9maWxlbmFtZTogZGF0YS5vcmdfZmlsZSxcbiAgICAgICAgICAgIGxpbmtTZXQ6ICcnLFxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgZmlkOiBkYXRhPy5maWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IGBvcmctJHt0aGlzLm9yZ2FuaXphdGlvbl9pZH0ke0ZJTEVfVVJMLmZvcm1hdH1gO1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2VcbiAgICAgICAgLnVwbG9hZFRvTm9kZShmb3JtRGF0YSwgdXJsKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuZmlsZXMucHVzaCh7XG4gICAgICAgICAgICBmaWxlcGF0aDpkYXRhPy5maWxlX3VybF9wYXRoLFxuICAgICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmZvcm1hdGUudXBsb2FkSW5Qcm9ncmVzc1t1aWRdO1xuICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUF0dGFjaG1lbnQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBlbWl0VmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmVwb3J0QUNhc2UnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQodGhpcy5mb3JtYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5JyB8fCB0aGlzLm1vZGUgPT0gJ3BvbGljeVJldmlld2VyJykge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgaXNGb3JtYXRlVXBsb2FkZWQ6IHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlLFxuICAgICAgICBsaW5rczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1xuICAgICAgICAgICAgPyB0aGlzLmdldExpbmtzQXJyYXkoXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzPy5sZW5ndGggPyBbLi4udGhpcy5mb3JtYXRlLmxpbmtzXSA6IFtdXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogW10sXG4gICAgICAgIGZpbGVzOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJyA/IHRoaXMuZm9ybWF0ZS5maWxlcyA6IFtdLFxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxuICAgICAgICBpc0V2aWRlbmNlUmVxdWlyZWQ6IHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZC5saW5rcyA9IHBheWxvYWQubGlua3MuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgIGlzRm9ybWF0ZVVwbG9hZGVkOiB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSxcbiAgICAgICAgbGlua3M6XG4gICAgICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgJiYgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnTElOSydcbiAgICAgICAgICAgID8gdGhpcy5nZXRMaW5rc0FycmF5KFsuLi50aGlzLmZvcm1hdGUubGlua3NdKVxuICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgZmlsZXM6XG4gICAgICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgJiYgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRSdcbiAgICAgICAgICAgID8gdGhpcy5mb3JtYXRlLmZpbGVzXG4gICAgICAgICAgICA6IFtdLFxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxuICAgICAgICBpc0V2aWRlbmNlUmVxdWlyZWQ6IHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZC5saW5rcyA9IHBheWxvYWQubGlua3MuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSB1bmRlZmluZWQpO1xuICAgICAgdGhpcy51cGRhdGVGaWxlcy5lbWl0KHBheWxvYWQpO1xuICAgIH1cbiAgfVxuICBnZXRMaW5rc0FycmF5KGxpbmtzOiBhbnkpIHtcbiAgICBjb25zdCBsaW5rID0gbGlua3MubWFwKChlOiBhbnkpID0+IHtcbiAgICAgIGlmIChlLmxpbmsgJiYgIWU/LmNvbnRhaW5zRXJyb3IgJiYgIWU/LmlzRWRpdGluZykge1xuICAgICAgICByZXR1cm4gZS5saW5rO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChsaW5rPy5sZW5ndGggPD0gMSAmJiBsaW5rWzBdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICB9XG5cbiAgYXJyYXl0b0xpbmtPYmplY3QobGlua3NBcnJheTogYW55KSB7XG4gICAgaWYgKGxpbmtzQXJyYXkpIHtcbiAgICAgIGNvbnN0IGxpbmtzID0gbGlua3NBcnJheS5tYXAoKGU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4geyBsaW5rOiBlLCBjb250YWluc0Vycm9yOiBmYWxzZSwgaXNFZGl0aW5nOiBmYWxzZSB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBsaW5rcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIGlzRWRpdEVuYWJsZWQoKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZm9ybWF0ZS5saW5rcykge1xuICAgICAgaWYgKGl0ZW0uaXNFZGl0aW5nID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRWRpdERpc2FibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBvbGljeUxpbmtTZXRMaXN0ID0gW1xuICAgIC8vICdQb2xpY3kgQ2hhcnRlcicsXG4gICAgLy8gJ1JlbGF0ZWQgUG9saWN5IERvY3VtZW50cy9PdGhlciBSZWZlcmVuY2VzJyxcbiAgICAvLyAnUHJvY2VkdXJlcyBMaW5rZWQgdG8gdGhpcyBQb2xpY3knLFxuICAgIC8vICdJbXBsZW1lbnRhdGlvbiBHdWlkZWxpbmVzIGZvciB0aGlzIFBvbGljeScsXG4gICAgLy8gJ1RyYWluaW5nIE1hdGVyaWFscyBmb3IgdGhpcyBQb2xpY3knXG4gICAgJ0NoYXJ0ZXInLFxuICAgICdSZWxhdGVkIERvY3VtZW50cycsXG4gICAgJ1JlZmVyZW5jZSBNYXRlcmlhbHMnLFxuICAgICdSZWxhdGVkIHByb2NlZHVyZXMnLFxuICAgICdJbXBsZW1lbnRhdGlvbiBndWlkZWxpbmVzJyxcbiAgICAnVHJhaW5pbmcgTWF0ZXJpYWxzJyxcbiAgICAnUmVndWxhdG9yeSBEb2N1bWVudHMnLFxuICAgICdPdGhlcicsXG4gIF07XG4gIHNlbGVjdGVkTGlua1NldENoYW5nZShldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5saW5rU2V0ID0gZXZlbnQ7XG4gICAgaWYgKGV2ZW50ID09PSAnT3RoZXInICYmICF0aGlzLmZvcm1hdGU/LmZpbGVzW2luZGV4XT8ub3RoZXJzKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLm90aGVycyA9IFsnJ107XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBhZGRNb3JlRG9jdW1lbnRzRGV0YWlscyhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5vdGhlcnMucHVzaCgnJyk7XG4gIH1cblxuICB1cGxvYWRQb2xpY3lBdHRhY2htZW50cyhmb3JtRGF0YTogYW55KSB7XG4gICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5Lyc7XG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAuZmlsZVVwbG9hZFdvcmtyb29tKGZvcm1EYXRhLCBwYXRoKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgb3JpZ2luYWxfZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgb3JnYW5pc2F0aW9uX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCksXG4gICAgICAgICAgbWVtYmVyX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCksXG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMuY2F0ZWdvcmllcyxcbiAgICAgICAgICBjbGFwX2lkOiAwLFxuICAgICAgICAgIGNvbnRyYWN0X3R5cGU6IDQsXG4gICAgICAgICAgZm9sZGVyX2lkOiAwLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCIgW2NsYXNzLnBvbGljeS11cGxvYWQtZmlsZV09XCJbJ3BvbGljeScsICdyZXBvcnRBQ2FzZSddPy5pbmNsdWRlcyhtb2RlKVwiPlxuICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCIgKm5nSWY9XCJtb2RlID09ICdyZXNwb25zaWJpbGl0eSdcIj5cbiAgICBGb3JtYXQgJiBFdmlkZW5jZVxuICA8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwidXBsb2FkLWZvcm1hdFwiICpuZ0lmPVwiXG4gICAgICBtb2RlICE9ICdwb2xpY3knICYmIG1vZGUgIT0gJ3BvbGljeVJldmlld2VyJyAmJiBtb2RlICE9ICdyZXBvcnRBQ2FzZSdcbiAgICBcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5EbyB5b3Ugd2FudCB0byB1cGxvYWQgYSBmb3JtYXQgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHk/PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJyYWRpby1ncm91cFwiPlxuICAgICAgPGFwcC1jcy1yYWRpbyBbbmFtZV09XCInZm9ybWF0X3JlcXVpcmVkJ1wiIFtjaGVja2VkXT1cImZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9PT0gdHJ1ZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRlVXBsb2FkKHRydWUpXCI+WWVzPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidmb3JtYXRfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlID09PSBmYWxzZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRlVXBsb2FkKGZhbHNlKVwiPk5vXG4gICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLXRhYlwiICpuZ0lmPVwiZm9ybWF0ZT8uaGFzVXBsb2FkRm9ybWF0ZSB8fCBtb2RlID09ICdwb2xpY3lSZXZpZXdlcidcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cImZvcm1hdGU/LmZvcm1hdGVUeXBlID09PSAnRklMRSdcIiAoY2xpY2spPVwidG9nZ2xlQXR0YWNobWVudFR5cGUoJ0ZJTEUnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybWF0ZS5saW5rcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgSW5zZXJ0IEZpbGVcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cImZvcm1hdGU/LmZvcm1hdGVUeXBlID09PSAnTElOSydcIiAoY2xpY2spPVwidG9nZ2xlQXR0YWNobWVudFR5cGUoJ0xJTksnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgSW5zZXJ0IExpbmtcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlxuICAgICAgKGZvcm1hdGU/Lmhhc1VwbG9hZEZvcm1hdGUgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeScgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncmVwb3J0QUNhc2UnICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJylcbiAgICBcIj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZmlsZSB1cGxvYWQgaW4gcHJvZ3Jlc3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmb3JtYXRlPy51cGxvYWRJblByb2dyZXNzIHwga2V5dmFsdWUpLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZT8udXBsb2FkSW5Qcm9ncmVzcyB8IGtleXZhbHVlO1xuICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGUudmFsdWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiMlwiPjwvYXBwLWxpbmUtbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWZpbGUgdXBsb2FkIGVuZHMgaGVyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdGUuZmlsZXM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlICE9ICdwb2xpY3knXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZT8uZmlsZV9uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGUgPT0gJ3BvbGljeSdcIiBjbGFzcz1cInBvbGljeS1yZWxhdGVkLWRvY3VtZW50LWZpZWxkIHZ4LXAtMyB2eC1wdC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMlwiPlxuICAgICAgICAgIExJTksgVEhFIERPQ1VNRU5UIEFORCBTUEVDSUZZIFRIRSBSRUxBVElPTlNISVAgV0lUSCBUSElTIFBPTElDWVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdCBwb2xpY3lcIiAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlIHRhYmxlIHt7XG4gICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpW1xuICAgICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9fVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZTs8L2k+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybWF0IHt7XG4gICAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJylbXG4gICAgICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoJy4nKT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH19XCI+e3tcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KFwiLlwiKVtcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KFwiLlwiKT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGVhY2hGaWxlPy5maWxlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUF0dGFjaG1lbnQoaSlcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGNzLXNlbGVjdCBbKG5nTW9kZWwpXT1cImVhY2hGaWxlLmxpbmtTZXRcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RlZmluZSB0aGUgZG9jdW1lbnRcXCdzIHJlbGF0aW9uc2hpcCB0byB0aGlzIHBvbGljeSdcIiBuYW1lPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxjcy1vcHRpb24gKm5nRm9yPVwibGV0IGRhdGEgb2YgcG9saWN5TGlua1NldExpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxuICAgICAgICAgICAgICB7eyBkYXRhIH19XG4gICAgICAgICAgICA8L2NzLW9wdGlvbj5cbiAgICAgICAgICA8L2NzLXNlbGVjdD5cbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG90aGVyIG9mIGVhY2hGaWxlPy5vdGhlcnM7IGxldCBqID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cImVhY2hGaWxlPy5saW5rU2V0ID09PSAnT3RoZXIgKHNwZWNpZnkgb3duKSdcIiBbbmdNb2RlbF09XCJlYWNoRmlsZS5vdGhlcnNbal1cIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJ090aGVyIChzcGVjaWZ5IG93biknLGksICRldmVudCwgailcIiBjbGFzcz1cImxpbmthZ2UtaW5wdXRcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiVHlwZSB0aGUgbGlua2FnZSBkZXRhaWxzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlYWNoRmlsZT8ubGlua1NldCA9PT0gJ090aGVyIChzcGVjaWZ5IG93biknXCIgY2xhc3M9XCJsaW5rYWdlLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tdC0yXCIgKGNsaWNrKT1cImFkZE1vcmVEb2N1bWVudHNEZXRhaWxzKGkpXCI+KyBBREQgTU9SRTwvYnV0dG9uPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCIgKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgIExJTksgVEhFIERPQ1VNRU5UIEFORCBTUEVDSUZZIFRIRSBSRUxBVElPTlNISVAgV0lUSCBUSElTIFBPTElDWVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVhY2hGaWxlIG9mIGZvcm1hdGUuZmlsZXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0XCIgKm5nSWY9XCJtb2RlIT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGU/LmZpbGVfbmFtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3QgcG9saWN5XCIgKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3tlYWNoRmlsZT8uZmlsZV9uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtIC0gPGJ1dHRvbiBjbGFzcz1cImVkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtIC0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxjcy1zZWxlY3QgWyhuZ01vZGVsKV09XCJlYWNoRmlsZS5saW5rU2V0XCIgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKCRldmVudCxpKVwiIFtwbGFjZWhvbGRlcl09XCInRGVmaW5lIHRoZSBkb2N1bWVudFxcJ3MgcmVsYXRpb25zaGlwIHRvIHRoaXMgcG9saWN5J1wiIG5hbWU9XCJzZWxlY3RlZFwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjcy1vcHRpb24gKm5nRm9yPVwibGV0IGRhdGEgb2YgcG9saWN5TGlua1NldExpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NzLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9jcy1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWRyYWcgYW5kIGRyb3AgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwidGFiLWdyb3VwXCIgW2NsYXNzLnVwbG9hZGVkXT1cImZvcm1hdGUuZmlsZXM/Lmxlbmd0aCA+IDBcIiBhcHBEcmFnRHJvcFxuICAgICAgKGZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwidXBsb2FkLWZpbGVcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cIkFTU0VUUy51cGxvYWRcIiBhbHQ9XCJcIiBjbGFzcz1cImltYWdlXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJyb3dzZVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT0gJ3BvbGljeScgJiYgbW9kZSAhPSAncmVwb3J0QUNhc2UnXCI+RHJvcCB5b3VyIGZpbGVzIGhlcmUgL1xuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PSAncG9saWN5JyB8fCBtb2RlID09ICdyZXBvcnRBQ2FzZSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5Ccm93c2VcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVEcm9wcGVkKCRldmVudC50YXJnZXQuZmlsZXMpXCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cIm1vZGUhPSdwb2xpY3knXCI+RHJvcCB5b3VyIGZpbGVzIGhlcmUgLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPkRyYWcgJiBkcm9wIHRvIHVwbG9hZCBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwb2xpY3kgLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkJyb3dzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVEcm9wcGVkKCRldmVudC50YXJnZXQuZmlsZXMpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWRyYWcgZHJvcCBlbmRzIGhlcmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgIChmb3JtYXRlPy5oYXNVcGxvYWRGb3JtYXRlICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJykgfHxcbiAgICAgIChtb2RlID09ICdwb2xpY3lSZXZpZXdlcicgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKVxuICAgIFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtYXRlLmxpbmtzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgZm9ybWF0ZS5saW5rczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0XCIgKm5nSWY9XCIhbGluay5pc0VkaXRpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgbGluay5saW5rIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmRpc2FibGVkXT1cImlzRWRpdERpc2FibGVkXCIgY2xhc3M9XCJlZGl0XCIgKGNsaWNrKT1cImVkaXRMaW5rKGkpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlTGluayhpKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGluay5pc0VkaXRpbmdcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImVkaXQtbGlua1wiIGFwcEF1dG9mb2N1cyBwbGFjZWhvbGRlcj1cIkVudGVyIHRoZSBsaW5rIGhlcmVcIiBbKG5nTW9kZWwpXT1cImxpbmsubGlua1wiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwiaW5zZXJ0TGluaygnRURJVCcsIGkpXCIgKGtleWRvd24uZW50ZXIpPVwiaW5zZXJ0TGluaygnRURJVCcsIGkpXCIgLz5cbiAgICAgICAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImxpbmsuY29udGFpbnNFcnJvclwiPlxuICAgICAgICAgICAgUGxlYXNlIGluc2VydCBhIHZhbGlkIGxpbmtcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGlucHV0IFtkaXNhYmxlZF09XCJpc05ld0xpbmtEaXNhYmxlZFwiIGNsYXNzPVwiZWRpdC1saW5rXCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIm5ld0xpbmsubGlua1wiXG4gICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHRoZSBsaW5rIGhlcmVcIiAoZm9jdXNvdXQpPVwiaW5zZXJ0TGluaygnQ1JFQVRFJylcIiAoa2V5ZG93bi5lbnRlcik9XCJpbnNlcnRMaW5rKCdDUkVBVEUnKVwiIC8+XG4gICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJuZXdMaW5rLmNvbnRhaW5zRXJyb3JcIj5cbiAgICAgIFBsZWFzZSBpbnNlcnQgYSB2YWxpZCBsaW5rXG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1mb3JtYXRcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jlc3BvbnNpYmlsaXR5J1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkRvIHlvdSB3YW50IGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgdGhlIHJlc3BvbnNpYmlsaXR5IHRvIGJlXG4gICAgICB1cGxvYWRlZD88L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCI+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidldmlkZW5jZV9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9PT0gdHJ1ZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRSZXF1aXJlZCh0cnVlKVwiPlllczwvYXBwLWNzLXJhZGlvPlxuICAgICAgPGFwcC1jcy1yYWRpbyBbbmFtZV09XCInZXZpZGVuY2VfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPT09IGZhbHNlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdFJlcXVpcmVkKGZhbHNlKVwiPk5vXG4gICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|