@stiunb/unb-lib-components 18.0.25 → 18.0.26

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.
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
155
155
  }], emailsEmitted: [{
156
156
  type: Output
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS1lbWFpbC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDJCQUEyQjtJQVN0QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0lBTS9ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsd0VBQXdFO0lBQ3JHLENBQUM7SUFFRCw4REFBOEQ7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UUFDckQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLEtBQUssQ0FBQyxLQUFLLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztZQUN0QyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILGdDQUFnQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7SUFDM0UsQ0FBQzs4R0F6SlEsMkJBQTJCO2tHQUEzQiwyQkFBMkIscU5DaEJ4Qyw4akVBaURNOzsyRkRqQ08sMkJBQTJCO2tCQU52QyxTQUFTO2lDQUNJLEtBQUssWUFDUCwyQkFBMkI7dUlBTTVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWwsIFVuYlBlc3NvYUVtYWlsVGlwbyB9IGZyb20gJy4uL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtZW1haWwubW9kZWwnO1xyXG5pbXBvcnQgeyBVbkJQZXNzb2FTZXJ2aWNlIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0nO1xyXG5pbXBvcnQgeyBUaXBvUGVzc29hRW51bSB9IGZyb20gJy4uL3VuYi10aXBvLXBlc3NvYS5lbnVtJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgc2VsZWN0b3I6ICdsaWItdW5iLXBlc3NvYS1lbWFpbC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXBlc3NvYS1lbWFpbC1saXN0Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91bmItcGVzc29hLWVtYWlsLWxpc3QuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hRW1haWxMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBwb2RlRWRpdGFyID0gdHJ1ZTtcclxuICBASW5wdXQoKSBlbWFpbHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGJhY2tlbmRVUkw6IHN0cmluZyA9ICcnO1xyXG4gIEBPdXRwdXQoKSBlbWFpbHNFbWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVbmJQZXNzb2FFbWFpbFtdPigpO1xyXG5cclxuICB0aXBvRW1haWwhOiBPYnNlcnZhYmxlPFVuYlBlc3NvYUVtYWlsVGlwb1tdPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgc2VydmljZTogVW5CUGVzc29hU2VydmljZSwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpcG9FbWFpbCA9IHRoaXMuc2VydmljZS5nZXRUaXBvRW1haWwoKTtcclxuXHJcbiAgICB0aGlzLnNvcnRBbmRBc3NpZ25PcmRlcigpOyAvLyBvcmdhbml6YSBhIGxpc3RhIGRlIGVtYWlscy4gQXMgdmV6ZXMgdGVtIG9yZGVtIGR1cGxpY2FkYSBvdSBmYWx0YW5kby5cclxuICB9XHJcblxyXG4gIC8vIHRlbSBxdWUgZmF6ZXIgaXNzbyBwcSBubyBvbiBpbml0IGV1IGFpbmRhIG5hbyB0ZW5obyBhIGxpc3RhXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBwcm9wcmllZGFkZSAnZW1haWxzJyBtdWRvdVxyXG4gICAgaWYgKGNoYW5nZXNbJ2VtYWlscyddICYmIHRoaXMuZW1haWxzKSB7XHJcbiAgICAgIC8vIGNoYW1hZGEgcXVhbmRvIG9zIGRhZG9zIHJlYWxtZW50ZSBjaGVnYXJlbVxyXG4gICAgICB0aGlzLnNvcnRBbmRBc3NpZ25PcmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcihlbWFpbFBhcmFFeGNsdWlyOiBVbmJQZXNzb2FFbWFpbCkgeyAvLyA8LS0gVElQTyBDT1JSSUdJRE9cclxuXHJcbiAgICBpZiAoZW1haWxQYXJhRXhjbHVpci5jb2RpZ28pIHtcclxuICAgICAgLy8gU2UgdGVtIGPDs2RpZ28sIHJlbW92ZSBwb3IgZWxlXHJcbiAgICAgIHRoaXMuZW1haWxzID0gdGhpcy5lbWFpbHMuZmlsdGVyKGUgPT4gZS5jb2RpZ28gIT09IGVtYWlsUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMuZW1haWxzID0gdGhpcy5lbWFpbHMuZmlsdGVyKGUgPT4gZS5vcmRlbSAhPT0gZW1haWxQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgc3VhIGZ1bsOnw6NvIGV4aXN0ZW50ZSBxdWUgcmUtY2FsY3VsYSBhcyBvcmRlbnMgZSBlbWl0ZSBhIGxpc3RhXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0YXIoZW1haWw6IFVuYlBlc3NvYUVtYWlsVGlwbykge1xyXG4gICAgdGhpcy5vcGVuRm9ybURpYWxvZyhlbWFpbCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLmVtYWlscy5mb3JFYWNoKChlbWFpbCwgaWR4KSA9PiB7XHJcbiAgICAgIGVtYWlsLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZW1haWxzRW1pdHRlZC5lbWl0KFsuLi50aGlzLmVtYWlsc10pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2coZW1haWxUb0VkaXQ6IGFueSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVbmJQZXNzb2FFbWFpbEZvcm1Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc5MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBlbWFpbDogZW1haWxUb0VkaXQsIC8vIEUtbWFpbCBhIHNlciBlZGl0YWRvIG91IHZhemlvIHBhcmEgbm92b1xyXG4gICAgICAgIGVtYWlsc0xpc3Q6IHRoaXMuZW1haWxzIC8vIEEgc3VhIGxpc3RhIENPTVBMRVRBIGRlIGUtbWFpbHNcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICAgIHJldHVybjsgLy8gVXN1w6FyaW8gY2xpY291IGVtICdGZWNoYXInIG91ICdDYW5jZWxhcidcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gJ3Jlc3VsdCcgw6kgbyBvYmpldG8gcmV0b3JuYWRvIHBlbG8gZGlhbG9nIChlZGl0YWRvIG91IG5vdm8pXHJcbiAgICAgIGxldCBpbmRleCA9IC0xO1xyXG5cclxuICAgICAgLy8gMS4gVGVudGEgZW5jb250cmFyIHBlbG8gJ2NvZGlnbycgKHBhcmEgaXRlbnMgcXVlIGrDoSB2aWVyYW0gZG8gYmFuY28pXHJcbiAgICAgIGlmIChyZXN1bHQuY29kaWdvKSB7XHJcbiAgICAgICAgaW5kZXggPSB0aGlzLmVtYWlscy5maW5kSW5kZXgoZSA9PiBlLmNvZGlnbyA9PT0gcmVzdWx0LmNvZGlnbyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIDIuIFNlIG7Do28gYWNob3UgcGVsbyAnY29kaWdvJywgdGVudGEgcGVsYSAnb3JkZW0nLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgIGluZGV4ID0gdGhpcy5lbWFpbHMuZmluZEluZGV4KGUgPT4gZS5vcmRlbSA9PT0gcmVzdWx0Lm9yZGVtKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAvLyBFTkNPTlRST1UgKHBlbG8gJ2NvZGlnbycgb3UgcGVsYSAnb3JkZW0nKTogQXR1YWxpemEgbyBpdGVtIGV4aXN0ZW50ZVxyXG4gICAgICAgIHRoaXMuZW1haWxzW2luZGV4XSA9IHJlc3VsdDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBOw4NPIEVOQ09OVFJPVTogw4kgdW0gaXRlbSAxMDAlIG5vdm8gKG7Do28gdW1hIGVkacOnw6NvKVxyXG4gICAgICAgIHRoaXMuZW1haWxzLnB1c2gocmVzdWx0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmUtb3JkZW5hIGEgbGlzdGEgcGVsYSAnb3JkZW0nIGUgZW1pdGUgdW1hICpub3ZhIGPDs3BpYSpcclxuICAgICAgdGhpcy5lbWFpbHMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMuZW1haWxzRW1pdHRlZC5lbWl0KFsuLi50aGlzLmVtYWlsc10pOyAvLyA8LS0gRW1pdGUgbm92YSBjw7NwaWFcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJMaW5oYShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lbWFpbHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKClcclxuICB9XHJcblxyXG5wcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YVxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLmVtYWlsc107IC8vIDwtLSBOT01FIENPUlJJR0lET1xyXG5cclxuICAgIC8vIDIuIE1hcGVpZSBhcyBvcmRlbnMgZXhpc3RlbnRlc1xyXG4gICAgY29uc3Qgb3JkZXJNYXAgPSBuZXcgTWFwPG51bWJlciwgVW5iUGVzc29hRW1haWxbXT4oKTtcclxuICAgIGNvbnN0IGVtYWlsc1dpdGhvdXRPcmRlcjogVW5iUGVzc29hRW1haWxbXSA9IFtdO1xyXG5cclxuICAgIHRlbXBFbWFpbHMuZm9yRWFjaChlbWFpbCA9PiB7XHJcbiAgICAgIC8vIENPUlJFw4fDg08gQVFVSTogJ29yZGVtJyBlbSB2ZXogZGUgJ29yZGVtRW1haWwnXHJcbiAgICAgIGlmIChlbWFpbC5vcmRlbSAhPT0gdW5kZWZpbmVkICYmIGVtYWlsLm9yZGVtICE9PSBudWxsKSB7XHJcbiAgICAgICAgaWYgKCFvcmRlck1hcC5oYXMoZW1haWwub3JkZW0pKSB7XHJcbiAgICAgICAgICBvcmRlck1hcC5zZXQoZW1haWwub3JkZW0sIFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb3JkZXJNYXAuZ2V0KGVtYWlsLm9yZGVtKT8ucHVzaChlbWFpbCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZW1haWxzV2l0aG91dE9yZGVyLnB1c2goZW1haWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAzLiAuLi4gKEZ1bsOnw7VlcyAnZmluYWxVc2VkT3JkZXJzJywgJ25leHRBdmFpbGFibGVPcmRlcicgY29udGludWFtIGlndWFpcykgLi4uXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIGxldCBuZXh0QXZhaWxhYmxlT3JkZXIgPSAwO1xyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSBlbWFpbHMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgdGhpcy5lbWFpbHMuZm9yRWFjaChlbWFpbCA9PiB7IC8vIDwtLSBOT01FIENPUlJJR0lET1xyXG4gICAgICAvLyBDT1JSRcOHw4NPIEFRVUk6ICdvcmRlbScgZW0gdmV6IGRlICdvcmRlbUVtYWlsJ1xyXG4gICAgICBpZiAoZW1haWwub3JkZW0gIT09IHVuZGVmaW5lZCAmJiBlbWFpbC5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyhlbWFpbC5vcmRlbSkpIHtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQoZW1haWwub3JkZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBEdXBsaWNhdGEsIGF0cmlidWEgdW1hIG5vdmFcclxuICAgICAgICAgIGVtYWlsLm9yZGVtID0gZ2V0TmV4dEF2YWlsYWJsZU9yZGVyKCk7XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKGVtYWlsLm9yZGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDUuIEF0cmlidWEgb3JkZW5zIHBhcmEgZW1haWxzIHF1ZSBuw6NvIHRpbmhhbSBvcmRlbVxyXG4gICAgZW1haWxzV2l0aG91dE9yZGVyLmZvckVhY2goZW1haWwgPT4geyAvLyA8LS0gTk9NRSBDT1JSSUdJRE9cclxuICAgICAgZW1haWwub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTsgXHJcbiAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQoZW1haWwub3JkZW0pOyBcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhXHJcbiAgICB0aGlzLmVtYWlscy5zb3J0KChhLCBiKSA9PiAoYS5vcmRlbSA/PyAwKSAtIChiLm9yZGVtID8/IDApKTsgLy8gPC0tICdvcmRlbSdcclxuICAgIH1cclxuICB9IiwiPGRpdiBjbGFzcz1cIm1lcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lcy1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj5cclxuICAgICAgICAgICAgICAgIHt7IGVtYWlscz8ubGVuZ3RoID09PSAxID8gJ0VtYWlsIENhZGFzdHJhZG8nIDogJ0UtbWFpbHMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgZW1haWxzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIEVtYWlsXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBFbWFpbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBFeGliZSBhIHRhYmVsYSBkZSBkZXNwZXNhcyBzb21lbnRlIHNlIGhvdXZlciBkZXNwZXNhcyAtLT5cclxuICAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJlbWFpbHMgJiYgZW1haWxzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyTGluaGEoJGV2ZW50KVwiPlxyXG5cclxuICAgICAgICA8dHIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlM2UzY2M7XCI+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICAgICAgPHRoPkUtbWFpbDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5UaXBvPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB2YWxvciBvZiBlbWFpbHM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cIm15LXRyXCIgY2RrRHJhZz5cclxuXHJcbiAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWNlbGxcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgIDx0ZD57eyB2YWxvci5lbWFpbCB9fTwvdGQ+XHJcblxyXG4gICAgICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcblxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIlNhbHZhclwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJlZGl0YXIodmFsb3IpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkRlbGV0YXJcIiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwiZXhjbHVpcih2YWxvcilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+Il19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS1lbWFpbC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDJCQUEyQjtJQVN0QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0lBTS9ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsd0VBQXdFO0lBQ3JHLENBQUM7SUFFRCw4REFBOEQ7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UUFDckQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLEtBQUssQ0FBQyxLQUFLLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztZQUN0QyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILGdDQUFnQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7SUFDM0UsQ0FBQzs4R0F6SlEsMkJBQTJCO2tHQUEzQiwyQkFBMkIscU5DaEJ4Qyw4akVBaURNOzsyRkRqQ08sMkJBQTJCO2tCQU52QyxTQUFTO2lDQUNJLEtBQUssWUFDUCwyQkFBMkI7dUlBTTVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWwsIFVuYlBlc3NvYUVtYWlsVGlwbyB9IGZyb20gJy4uL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtZW1haWwubW9kZWwnO1xyXG5pbXBvcnQgeyBVbkJQZXNzb2FTZXJ2aWNlIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0nO1xyXG5pbXBvcnQgeyBVbmJUaXBvUGVzc29hRW51bSB9IGZyb20gJy4uL3VuYi10aXBvLXBlc3NvYS5lbnVtJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgc2VsZWN0b3I6ICdsaWItdW5iLXBlc3NvYS1lbWFpbC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXBlc3NvYS1lbWFpbC1saXN0Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91bmItcGVzc29hLWVtYWlsLWxpc3QuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hRW1haWxMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBwb2RlRWRpdGFyID0gdHJ1ZTtcclxuICBASW5wdXQoKSBlbWFpbHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGJhY2tlbmRVUkw6IHN0cmluZyA9ICcnO1xyXG4gIEBPdXRwdXQoKSBlbWFpbHNFbWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVbmJQZXNzb2FFbWFpbFtdPigpO1xyXG5cclxuICB0aXBvRW1haWwhOiBPYnNlcnZhYmxlPFVuYlBlc3NvYUVtYWlsVGlwb1tdPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgc2VydmljZTogVW5CUGVzc29hU2VydmljZSwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpcG9FbWFpbCA9IHRoaXMuc2VydmljZS5nZXRUaXBvRW1haWwoKTtcclxuXHJcbiAgICB0aGlzLnNvcnRBbmRBc3NpZ25PcmRlcigpOyAvLyBvcmdhbml6YSBhIGxpc3RhIGRlIGVtYWlscy4gQXMgdmV6ZXMgdGVtIG9yZGVtIGR1cGxpY2FkYSBvdSBmYWx0YW5kby5cclxuICB9XHJcblxyXG4gIC8vIHRlbSBxdWUgZmF6ZXIgaXNzbyBwcSBubyBvbiBpbml0IGV1IGFpbmRhIG5hbyB0ZW5obyBhIGxpc3RhXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBwcm9wcmllZGFkZSAnZW1haWxzJyBtdWRvdVxyXG4gICAgaWYgKGNoYW5nZXNbJ2VtYWlscyddICYmIHRoaXMuZW1haWxzKSB7XHJcbiAgICAgIC8vIGNoYW1hZGEgcXVhbmRvIG9zIGRhZG9zIHJlYWxtZW50ZSBjaGVnYXJlbVxyXG4gICAgICB0aGlzLnNvcnRBbmRBc3NpZ25PcmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcihlbWFpbFBhcmFFeGNsdWlyOiBVbmJQZXNzb2FFbWFpbCkgeyAvLyA8LS0gVElQTyBDT1JSSUdJRE9cclxuXHJcbiAgICBpZiAoZW1haWxQYXJhRXhjbHVpci5jb2RpZ28pIHtcclxuICAgICAgLy8gU2UgdGVtIGPDs2RpZ28sIHJlbW92ZSBwb3IgZWxlXHJcbiAgICAgIHRoaXMuZW1haWxzID0gdGhpcy5lbWFpbHMuZmlsdGVyKGUgPT4gZS5jb2RpZ28gIT09IGVtYWlsUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMuZW1haWxzID0gdGhpcy5lbWFpbHMuZmlsdGVyKGUgPT4gZS5vcmRlbSAhPT0gZW1haWxQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgc3VhIGZ1bsOnw6NvIGV4aXN0ZW50ZSBxdWUgcmUtY2FsY3VsYSBhcyBvcmRlbnMgZSBlbWl0ZSBhIGxpc3RhXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0YXIoZW1haWw6IFVuYlBlc3NvYUVtYWlsVGlwbykge1xyXG4gICAgdGhpcy5vcGVuRm9ybURpYWxvZyhlbWFpbCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLmVtYWlscy5mb3JFYWNoKChlbWFpbCwgaWR4KSA9PiB7XHJcbiAgICAgIGVtYWlsLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZW1haWxzRW1pdHRlZC5lbWl0KFsuLi50aGlzLmVtYWlsc10pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2coZW1haWxUb0VkaXQ6IGFueSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVbmJQZXNzb2FFbWFpbEZvcm1Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc5MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBlbWFpbDogZW1haWxUb0VkaXQsIC8vIEUtbWFpbCBhIHNlciBlZGl0YWRvIG91IHZhemlvIHBhcmEgbm92b1xyXG4gICAgICAgIGVtYWlsc0xpc3Q6IHRoaXMuZW1haWxzIC8vIEEgc3VhIGxpc3RhIENPTVBMRVRBIGRlIGUtbWFpbHNcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICAgIHJldHVybjsgLy8gVXN1w6FyaW8gY2xpY291IGVtICdGZWNoYXInIG91ICdDYW5jZWxhcidcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gJ3Jlc3VsdCcgw6kgbyBvYmpldG8gcmV0b3JuYWRvIHBlbG8gZGlhbG9nIChlZGl0YWRvIG91IG5vdm8pXHJcbiAgICAgIGxldCBpbmRleCA9IC0xO1xyXG5cclxuICAgICAgLy8gMS4gVGVudGEgZW5jb250cmFyIHBlbG8gJ2NvZGlnbycgKHBhcmEgaXRlbnMgcXVlIGrDoSB2aWVyYW0gZG8gYmFuY28pXHJcbiAgICAgIGlmIChyZXN1bHQuY29kaWdvKSB7XHJcbiAgICAgICAgaW5kZXggPSB0aGlzLmVtYWlscy5maW5kSW5kZXgoZSA9PiBlLmNvZGlnbyA9PT0gcmVzdWx0LmNvZGlnbyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIDIuIFNlIG7Do28gYWNob3UgcGVsbyAnY29kaWdvJywgdGVudGEgcGVsYSAnb3JkZW0nLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgIGluZGV4ID0gdGhpcy5lbWFpbHMuZmluZEluZGV4KGUgPT4gZS5vcmRlbSA9PT0gcmVzdWx0Lm9yZGVtKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAvLyBFTkNPTlRST1UgKHBlbG8gJ2NvZGlnbycgb3UgcGVsYSAnb3JkZW0nKTogQXR1YWxpemEgbyBpdGVtIGV4aXN0ZW50ZVxyXG4gICAgICAgIHRoaXMuZW1haWxzW2luZGV4XSA9IHJlc3VsdDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBOw4NPIEVOQ09OVFJPVTogw4kgdW0gaXRlbSAxMDAlIG5vdm8gKG7Do28gdW1hIGVkacOnw6NvKVxyXG4gICAgICAgIHRoaXMuZW1haWxzLnB1c2gocmVzdWx0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmUtb3JkZW5hIGEgbGlzdGEgcGVsYSAnb3JkZW0nIGUgZW1pdGUgdW1hICpub3ZhIGPDs3BpYSpcclxuICAgICAgdGhpcy5lbWFpbHMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMuZW1haWxzRW1pdHRlZC5lbWl0KFsuLi50aGlzLmVtYWlsc10pOyAvLyA8LS0gRW1pdGUgbm92YSBjw7NwaWFcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJMaW5oYShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lbWFpbHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKClcclxuICB9XHJcblxyXG5wcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YVxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLmVtYWlsc107IC8vIDwtLSBOT01FIENPUlJJR0lET1xyXG5cclxuICAgIC8vIDIuIE1hcGVpZSBhcyBvcmRlbnMgZXhpc3RlbnRlc1xyXG4gICAgY29uc3Qgb3JkZXJNYXAgPSBuZXcgTWFwPG51bWJlciwgVW5iUGVzc29hRW1haWxbXT4oKTtcclxuICAgIGNvbnN0IGVtYWlsc1dpdGhvdXRPcmRlcjogVW5iUGVzc29hRW1haWxbXSA9IFtdO1xyXG5cclxuICAgIHRlbXBFbWFpbHMuZm9yRWFjaChlbWFpbCA9PiB7XHJcbiAgICAgIC8vIENPUlJFw4fDg08gQVFVSTogJ29yZGVtJyBlbSB2ZXogZGUgJ29yZGVtRW1haWwnXHJcbiAgICAgIGlmIChlbWFpbC5vcmRlbSAhPT0gdW5kZWZpbmVkICYmIGVtYWlsLm9yZGVtICE9PSBudWxsKSB7XHJcbiAgICAgICAgaWYgKCFvcmRlck1hcC5oYXMoZW1haWwub3JkZW0pKSB7XHJcbiAgICAgICAgICBvcmRlck1hcC5zZXQoZW1haWwub3JkZW0sIFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb3JkZXJNYXAuZ2V0KGVtYWlsLm9yZGVtKT8ucHVzaChlbWFpbCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZW1haWxzV2l0aG91dE9yZGVyLnB1c2goZW1haWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAzLiAuLi4gKEZ1bsOnw7VlcyAnZmluYWxVc2VkT3JkZXJzJywgJ25leHRBdmFpbGFibGVPcmRlcicgY29udGludWFtIGlndWFpcykgLi4uXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIGxldCBuZXh0QXZhaWxhYmxlT3JkZXIgPSAwO1xyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSBlbWFpbHMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgdGhpcy5lbWFpbHMuZm9yRWFjaChlbWFpbCA9PiB7IC8vIDwtLSBOT01FIENPUlJJR0lET1xyXG4gICAgICAvLyBDT1JSRcOHw4NPIEFRVUk6ICdvcmRlbScgZW0gdmV6IGRlICdvcmRlbUVtYWlsJ1xyXG4gICAgICBpZiAoZW1haWwub3JkZW0gIT09IHVuZGVmaW5lZCAmJiBlbWFpbC5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyhlbWFpbC5vcmRlbSkpIHtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQoZW1haWwub3JkZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBEdXBsaWNhdGEsIGF0cmlidWEgdW1hIG5vdmFcclxuICAgICAgICAgIGVtYWlsLm9yZGVtID0gZ2V0TmV4dEF2YWlsYWJsZU9yZGVyKCk7XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKGVtYWlsLm9yZGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDUuIEF0cmlidWEgb3JkZW5zIHBhcmEgZW1haWxzIHF1ZSBuw6NvIHRpbmhhbSBvcmRlbVxyXG4gICAgZW1haWxzV2l0aG91dE9yZGVyLmZvckVhY2goZW1haWwgPT4geyAvLyA8LS0gTk9NRSBDT1JSSUdJRE9cclxuICAgICAgZW1haWwub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTsgXHJcbiAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQoZW1haWwub3JkZW0pOyBcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhXHJcbiAgICB0aGlzLmVtYWlscy5zb3J0KChhLCBiKSA9PiAoYS5vcmRlbSA/PyAwKSAtIChiLm9yZGVtID8/IDApKTsgLy8gPC0tICdvcmRlbSdcclxuICAgIH1cclxuICB9IiwiPGRpdiBjbGFzcz1cIm1lcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lcy1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj5cclxuICAgICAgICAgICAgICAgIHt7IGVtYWlscz8ubGVuZ3RoID09PSAxID8gJ0VtYWlsIENhZGFzdHJhZG8nIDogJ0UtbWFpbHMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgZW1haWxzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIEVtYWlsXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBFbWFpbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBFeGliZSBhIHRhYmVsYSBkZSBkZXNwZXNhcyBzb21lbnRlIHNlIGhvdXZlciBkZXNwZXNhcyAtLT5cclxuICAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJlbWFpbHMgJiYgZW1haWxzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyTGluaGEoJGV2ZW50KVwiPlxyXG5cclxuICAgICAgICA8dHIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlM2UzY2M7XCI+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICAgICAgPHRoPkUtbWFpbDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5UaXBvPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB2YWxvciBvZiBlbWFpbHM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cIm15LXRyXCIgY2RrRHJhZz5cclxuXHJcbiAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWNlbGxcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgIDx0ZD57eyB2YWxvci5lbWFpbCB9fTwvdGQ+XHJcblxyXG4gICAgICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcblxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIlNhbHZhclwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJlZGl0YXIodmFsb3IpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkRlbGV0YXJcIiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwiZXhjbHVpcih2YWxvcilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+Il19