@igo2/integration 16.0.0-rc.7 → 16.0.0-rc.8

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.
Files changed (28) hide show
  1. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +2 -2
  2. package/esm2022/lib/catalog/catalog.state.mjs +1 -1
  3. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +2 -2
  4. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +2 -2
  5. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +2 -2
  6. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +2 -2
  7. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +2 -2
  8. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +2 -2
  9. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +2 -2
  10. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +2 -2
  11. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +2 -2
  12. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +2 -2
  13. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +2 -2
  14. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +2 -2
  15. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +2 -2
  16. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +2 -2
  17. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +2 -2
  18. package/esm2022/lib/map/map-tool/map-tool.component.mjs +2 -2
  19. package/esm2022/lib/map/map-tools/map-tools.component.mjs +2 -2
  20. package/esm2022/lib/measure/measure.module.mjs +1 -1
  21. package/esm2022/lib/search/search-bar/search-bar.module.mjs +1 -1
  22. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +2 -2
  23. package/esm2022/lib/search/search.module.mjs +1 -1
  24. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  25. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +2 -2
  26. package/fesm2022/igo2-integration.mjs +20 -20
  27. package/fesm2022/igo2-integration.mjs.map +1 -1
  28. package/package.json +3 -3
@@ -126,8 +126,8 @@ CatalogBrowserToolComponent = __decorate([
126
126
  ], CatalogBrowserToolComponent);
127
127
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserToolComponent, [{
128
128
  type: Component,
129
- args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-browser\r\n *ngIf=\"store$ | async as store\"\r\n [catalog]=\"catalog\"\r\n [store]=\"store\"\r\n [map]=\"map\"\r\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\"\r\n>\r\n</igo-catalog-browser>\r\n" }]
129
+ args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-browser\n *ngIf=\"store$ | async as store\"\n [catalog]=\"catalog\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\"\n>\n</igo-catalog-browser>\n" }]
130
130
  }], function () { return [{ type: i1.CatalogService }, { type: i2.CatalogState }, { type: i3.MapState }, { type: i4.AuthService }]; }, { toggleCollapsedGroup: [{
131
131
  type: Input
132
132
  }] }); })();
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci10b29sL2NhdGFsb2ctYnJvd3Nlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWJyb3dzZXItdG9vbC9jYXRhbG9nLWJyb3dzZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFnQixXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hFLE9BQU8sRUFJTCxjQUFjLEVBRWYsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0lDdEJoRCx5Q0FPc0I7Ozs7SUFMcEIsd0NBQW1CLG1CQUFBLG1CQUFBLHFEQUFBOztBRHNCckI7O0dBRUc7QUFZSSxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQW1DNUI7SUFDQTtJQUNBO0lBQ0E7SUFyQ1YsT0FBTyxDQUFVO0lBRWpCOzs7T0FHRztJQUNILE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FDMUIsU0FBUyxDQUNWLENB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NEZ2Qzt1RkE1RlksMkJBQTJCO2NBTHZDLFNBQVM7MkJBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzZJQTBCdEMsb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaWdvMi9hdXRoJztcclxuaW1wb3J0IHsgRW50aXR5UmVjb3JkLCBFbnRpdHlTdG9yZSwgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbVN0YXRlLFxyXG4gIENhdGFsb2dTZXJ2aWNlLFxyXG4gIElnb01hcFxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgQ2F0YWxvZ1N0YXRlIH0gZnJvbSAnLi4vY2F0YWxvZy5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogVG9vbCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSB0byBhIG1hcC5cclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnY2F0YWxvZ0Jyb3dzZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLmNhdGFsb2cnLFxyXG4gIGljb246ICdwaG90by1icm93c2VyJyxcclxuICBwYXJlbnQ6ICdjYXRhbG9nJ1xyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHRoYXQgY29udGFpbnMgdGhlIGNhdGFsb2cgaXRlbXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdG9yZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPj4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlbGVjdGVkIGNhdGFsb2dcclxuICAgKi9cclxuICBwcml2YXRlIGNhdGFsb2ckJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gZm9yIGF1dGhlbnRpY2F0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCBsYXllcnMgdG9cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYXRhbG9nU3RhdGU6IENhdGFsb2dTdGF0ZSxcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY2F0YWxvZ1N0b3JlID0gdGhpcy5jYXRhbG9nU3RhdGUuY2F0YWxvZ1N0b3JlO1xyXG4gICAgdGhpcy5jYXRhbG9nJCQgPSBjYXRhbG9nU3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgIC5maXJzdEJ5JChcclxuICAgICAgICAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8Q2F0YWxvZz4pID0+IHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlY29yZDogRW50aXR5UmVjb3JkPENhdGFsb2c+KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlY29yZCAmJiByZWNvcmQuZW50aXR5KSB7XHJcbiAgICAgICAgICBjb25zdCBjYXRhbG9nID0gcmVjb3JkLmVudGl0eTtcclxuICAgICAgICAgIHRoaXMuY2F0YWxvZyA9IGNhdGFsb2c7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkID0gdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZENhdGFsb2dJdGVtcyh0aGlzLmNhdGFsb2cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2F0YWxvZyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHNlbGVjdGVkIGNhdGFsb2cncyBpdGVtcyBmcm9tIHRoZSBDYXRhbG9nU2VydmljZSBhbmRcclxuICAgKiBsb2FkIHRoZW0gaW50byB0aGUgc3RvcmUuXHJcbiAgICogQHBhcmFtIGNhdGFsb2cgU2VsZWN0ZWQgY2F0YWxvZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9hZENhdGFsb2dJdGVtcyhjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICBsZXQgc3RvcmUgPSB0aGlzLmNhdGFsb2dTdGF0ZS5nZXRDYXRhbG9nSXRlbXNTdG9yZShjYXRhbG9nKTtcclxuICAgIGlmIChzdG9yZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUkLm5leHQoc3RvcmUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0+KFtdKTtcclxuICAgIHRoaXMuY2F0YWxvZ1N0YXRlLnNldENhdGFsb2dJdGVtc1N0b3JlKGNhdGFsb2csIHN0b3JlKTtcclxuICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2VcclxuICAgICAgLmxvYWRDYXRhbG9nSXRlbXMoY2F0YWxvZylcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IENhdGFsb2dJdGVtW10pID0+IHtcclxuICAgICAgICBzdG9yZS5sb2FkKGl0ZW1zKTtcclxuICAgICAgICB0aGlzLnN0b3JlJC5uZXh0KHN0b3JlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tY2F0YWxvZy1icm93c2VyXHJcbiAgKm5nSWY9XCJzdG9yZSQgfCBhc3luYyBhcyBzdG9yZVwiXHJcbiAgW2NhdGFsb2ddPVwiY2F0YWxvZ1wiXHJcbiAgW3N0b3JlXT1cInN0b3JlXCJcclxuICBbbWFwXT1cIm1hcFwiXHJcbiAgW3RvZ2dsZUNvbGxhcHNlZEdyb3VwXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcclxuPlxyXG48L2lnby1jYXRhbG9nLWJyb3dzZXI+XHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci10b29sL2NhdGFsb2ctYnJvd3Nlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWJyb3dzZXItdG9vbC9jYXRhbG9nLWJyb3dzZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFnQixXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hFLE9BQU8sRUFJTCxjQUFjLEVBRWYsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0lDdEJoRCx5Q0FPc0I7Ozs7SUFMcEIsd0NBQW1CLG1CQUFBLG1CQUFBLHFEQUFBOztBRHNCckI7O0dBRUc7QUFZSSxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQW1DNUI7SUFDQTtJQUNBO0lBQ0E7SUFyQ1YsT0FBTyxDQUFVO0lBRWpCOzs7T0FHRztJQUNILE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FDMUIsU0FBUyxDQUNWLENB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NEZ2Qzt1RkE1RlksMkJBQTJCO2NBTHZDLFNBQVM7MkJBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzZJQTBCdEMsb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaWdvMi9hdXRoJztcclxuaW1wb3J0IHsgRW50aXR5UmVjb3JkLCBFbnRpdHlTdG9yZSwgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbVN0YXRlLFxyXG4gIENhdGFsb2dTZXJ2aWNlLFxyXG4gIElnb01hcFxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgQ2F0YWxvZ1N0YXRlIH0gZnJvbSAnLi4vY2F0YWxvZy5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogVG9vbCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSB0byBhIG1hcC5cclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnY2F0YWxvZ0Jyb3dzZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLmNhdGFsb2cnLFxyXG4gIGljb246ICdwaG90by1icm93c2VyJyxcclxuICBwYXJlbnQ6ICdjYXRhbG9nJ1xyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHRoYXQgY29udGFpbnMgdGhlIGNhdGFsb2cgaXRlbXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdG9yZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPj4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlbGVjdGVkIGNhdGFsb2dcclxuICAgKi9cclxuICBwcml2YXRlIGNhdGFsb2ckJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gZm9yIGF1dGhlbnRpY2F0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCBsYXllcnMgdG9cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYXRhbG9nU3RhdGU6IENhdGFsb2dTdGF0ZSxcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY2F0YWxvZ1N0b3JlID0gdGhpcy5jYXRhbG9nU3RhdGUuY2F0YWxvZ1N0b3JlO1xyXG4gICAgdGhpcy5jYXRhbG9nJCQgPSBjYXRhbG9nU3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgIC5maXJzdEJ5JChcclxuICAgICAgICAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8Q2F0YWxvZz4pID0+IHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlY29yZDogRW50aXR5UmVjb3JkPENhdGFsb2c+KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlY29yZCAmJiByZWNvcmQuZW50aXR5KSB7XHJcbiAgICAgICAgICBjb25zdCBjYXRhbG9nID0gcmVjb3JkLmVudGl0eTtcclxuICAgICAgICAgIHRoaXMuY2F0YWxvZyA9IGNhdGFsb2c7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkID0gdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZENhdGFsb2dJdGVtcyh0aGlzLmNhdGFsb2cpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2F0YWxvZyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHNlbGVjdGVkIGNhdGFsb2cncyBpdGVtcyBmcm9tIHRoZSBDYXRhbG9nU2VydmljZSBhbmRcclxuICAgKiBsb2FkIHRoZW0gaW50byB0aGUgc3RvcmUuXHJcbiAgICogQHBhcmFtIGNhdGFsb2cgU2VsZWN0ZWQgY2F0YWxvZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9hZENhdGFsb2dJdGVtcyhjYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICBsZXQgc3RvcmUgPSB0aGlzLmNhdGFsb2dTdGF0ZS5nZXRDYXRhbG9nSXRlbXNTdG9yZShjYXRhbG9nKTtcclxuICAgIGlmIChzdG9yZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUkLm5leHQoc3RvcmUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0+KFtdKTtcclxuICAgIHRoaXMuY2F0YWxvZ1N0YXRlLnNldENhdGFsb2dJdGVtc1N0b3JlKGNhdGFsb2csIHN0b3JlKTtcclxuICAgIHRoaXMuY2F0YWxvZ1NlcnZpY2VcclxuICAgICAgLmxvYWRDYXRhbG9nSXRlbXMoY2F0YWxvZylcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IENhdGFsb2dJdGVtW10pID0+IHtcclxuICAgICAgICBzdG9yZS5sb2FkKGl0ZW1zKTtcclxuICAgICAgICB0aGlzLnN0b3JlJC5uZXh0KHN0b3JlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tY2F0YWxvZy1icm93c2VyXG4gICpuZ0lmPVwic3RvcmUkIHwgYXN5bmMgYXMgc3RvcmVcIlxuICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcbiAgW3N0b3JlXT1cInN0b3JlXCJcbiAgW21hcF09XCJtYXBcIlxuICBbdG9nZ2xlQ29sbGFwc2VkR3JvdXBdPVwidG9nZ2xlQ29sbGFwc2VkR3JvdXBcIlxuPlxuPC9pZ28tY2F0YWxvZy1icm93c2VyPlxuIl19
@@ -55,4 +55,4 @@ export class CatalogState {
55
55
  providedIn: 'root'
56
56
  }]
57
57
  }], function () { return [{ type: i1.AuthService }]; }, null); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ08sYUFBYSxDQUF1QjtJQUU1Qzs7T0FFRztJQUNLLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO0lBRXpFLFlBQVksV0FBd0I7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLE9BQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxPQUFnQixFQUFFLEtBQStCO1FBQ3BFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7c0VBN0NVLFlBQVk7Z0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTs7dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IENhdGFsb2csIENhdGFsb2dJdGVtIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBjYXRhbG9nIG1vZHVsZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1N0YXRlIHtcclxuICAvKipcclxuICAgKiBTdG9yZSB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgY2F0YWxvZ3NcclxuICAgKi9cclxuICBnZXQgY2F0YWxvZ1N0b3JlKCk6IEVudGl0eVN0b3JlPENhdGFsb2c+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYXRhbG9nU3RvcmU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhdGFsb2dTdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgLT4gQ2F0YWxvZyBpdGVtcyBzdG9yZSBtYXBwaW5nXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjYXRhbG9nSXRlbXNTdG9yZXMgPSBuZXcgTWFwPHN0cmluZywgRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0+PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuICAgIHRoaXMuX2NhdGFsb2dTdG9yZSA9IG5ldyBFbnRpdHlTdG9yZShbXSk7XHJcblxyXG4gICAgYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsZWFyQ2F0YWxvZ0l0ZW1zU3RvcmVzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIGNhdGFsb2cncyBpdGVtcyBzdG9yZVxyXG4gICAqIEBwYXJhbSBjYXRhbG9nIENhdGFsb2dcclxuICAgKiBAcmV0dXJucyBTdG9yZSB0aGF0IGNvbnRhaW5zIHRoZSBjYXRhbG9nIGl0ZW1zXHJcbiAgICovXHJcbiAgZ2V0Q2F0YWxvZ0l0ZW1zU3RvcmUoY2F0YWxvZzogQ2F0YWxvZyk6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRhbG9nSXRlbXNTdG9yZXMuZ2V0KGNhdGFsb2cuaWQgYXMgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmQgYSBjYXRhbG9nIGl0ZW1zIHN0b3JlIHRvIGEgY2F0YWxvZ1xyXG4gICAqIEBwYXJhbSBjYXRhbG9nIENhdGFsb2dcclxuICAgKiBAcGFyYW0gc3RvcmUgQ2F0YWxvZyBpdGVtcyBzdG9yZVxyXG4gICAqL1xyXG4gIHNldENhdGFsb2dJdGVtc1N0b3JlKGNhdGFsb2c6IENhdGFsb2csIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbT4pIHtcclxuICAgIHRoaXMuY2F0YWxvZ0l0ZW1zU3RvcmVzLnNldChjYXRhbG9nLmlkIGFzIHN0cmluZywgc3RvcmUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgYWxsIGNhdGFsb2cgaXRlbXMgc3RvcmVzXHJcbiAgICovXHJcbiAgY2xlYXJDYXRhbG9nSXRlbXNTdG9yZXMoKSB7XHJcbiAgICB0aGlzLmNhdGFsb2dJdGVtc1N0b3Jlcy5jbGVhcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ08sYUFBYSxDQUF1QjtJQUU1Qzs7T0FFRztJQUNLLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO0lBRXpFLFlBQVksV0FBd0I7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLE9BQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxPQUFnQixFQUFFLEtBQStCO1FBQ3BFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7c0VBN0NVLFlBQVk7Z0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTs7dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBDYXRhbG9nLCBDYXRhbG9nSXRlbSB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgY2F0YWxvZyBtb2R1bGVcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1N0YXRlIHtcbiAgLyoqXG4gICAqIFN0b3JlIHRoYXQgY29udGFpbnMgYWxsIHRoZSBjYXRhbG9nc1xuICAgKi9cbiAgZ2V0IGNhdGFsb2dTdG9yZSgpOiBFbnRpdHlTdG9yZTxDYXRhbG9nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NhdGFsb2dTdG9yZTtcbiAgfVxuICBwcml2YXRlIF9jYXRhbG9nU3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2c+O1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nIC0+IENhdGFsb2cgaXRlbXMgc3RvcmUgbWFwcGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBjYXRhbG9nSXRlbXNTdG9yZXMgPSBuZXcgTWFwPHN0cmluZywgRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0+PigpO1xuXG4gIGNvbnN0cnVjdG9yKGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkge1xuICAgIHRoaXMuX2NhdGFsb2dTdG9yZSA9IG5ldyBFbnRpdHlTdG9yZShbXSk7XG5cbiAgICBhdXRoU2VydmljZS5hdXRoZW50aWNhdGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyQ2F0YWxvZ0l0ZW1zU3RvcmVzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgY2F0YWxvZydzIGl0ZW1zIHN0b3JlXG4gICAqIEBwYXJhbSBjYXRhbG9nIENhdGFsb2dcbiAgICogQHJldHVybnMgU3RvcmUgdGhhdCBjb250YWlucyB0aGUgY2F0YWxvZyBpdGVtc1xuICAgKi9cbiAgZ2V0Q2F0YWxvZ0l0ZW1zU3RvcmUoY2F0YWxvZzogQ2F0YWxvZyk6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuY2F0YWxvZ0l0ZW1zU3RvcmVzLmdldChjYXRhbG9nLmlkIGFzIHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogQmluZCBhIGNhdGFsb2cgaXRlbXMgc3RvcmUgdG8gYSBjYXRhbG9nXG4gICAqIEBwYXJhbSBjYXRhbG9nIENhdGFsb2dcbiAgICogQHBhcmFtIHN0b3JlIENhdGFsb2cgaXRlbXMgc3RvcmVcbiAgICovXG4gIHNldENhdGFsb2dJdGVtc1N0b3JlKGNhdGFsb2c6IENhdGFsb2csIHN0b3JlOiBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbT4pIHtcbiAgICB0aGlzLmNhdGFsb2dJdGVtc1N0b3Jlcy5zZXQoY2F0YWxvZy5pZCBhcyBzdHJpbmcsIHN0b3JlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY2F0YWxvZyBpdGVtcyBzdG9yZXNcbiAgICovXG4gIGNsZWFyQ2F0YWxvZ0l0ZW1zU3RvcmVzKCkge1xuICAgIHRoaXMuY2F0YWxvZ0l0ZW1zU3RvcmVzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -44,8 +44,8 @@ ContextManagerToolComponent = __decorate([
44
44
  ], ContextManagerToolComponent);
45
45
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextManagerToolComponent, [{
46
46
  type: Component,
47
- args: [{ selector: 'igo-context-manager-tool', template: "<igo-context-list\r\n igoContextListBinding\r\n [map]=\"map\"\r\n (edit)=\"editContext()\"\r\n (managePermissions)=\"managePermissions()\"\r\n>\r\n</igo-context-list>\r\n" }]
47
+ args: [{ selector: 'igo-context-manager-tool', template: "<igo-context-list\n igoContextListBinding\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\"\n>\n</igo-context-list>\n" }]
48
48
  }], function () { return [{ type: i1.ToolState }, { type: i2.MapState }]; }, { toolToOpenOnContextChange: [{
49
49
  type: Input
50
50
  }] }); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tYW5hZ2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9jb250ZXh0L2NvbnRleHQtbWFuYWdlci10b29sL2NvbnRleHQtbWFuYWdlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LW1hbmFnZXItdG9vbC9jb250ZXh0LW1hbmFnZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVczQyxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQVE1QjtJQUNBO0lBUkQseUJBQXlCLEdBQVcsVUFBVSxDQUFDO0lBRXhELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQ1UsU0FBb0IsRUFDcEIsUUFBa0I7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNsRSxDQUFDO3FGQWxCVSwyQkFBMkI7NkRBQTNCLDJCQUEyQjtZQ2pCeEMsMkNBS0M7WUFGQyxnSEFBUSxpQkFBYSxJQUFDLDZIQUNELHVCQUFtQixJQURsQjtZQUd4QixpQkFBbUI7O1lBSmpCLDZCQUFXOzs7QURlQSwyQkFBMkI7SUFUdkMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixLQUFLLEVBQUUsZ0NBQWdDO1FBQ3ZDLElBQUksRUFBRSxNQUFNO0tBQ2IsQ0FBQztxQ0FhcUIsU0FBUztRQUNWLFFBQVE7R0FUakIsMkJBQTJCLENBbUJ2Qzt1RkFuQlksMkJBQTJCO2NBSnZDLFNBQVM7MkJBQ0UsMEJBQTBCO21GQUkzQix5QkFBeUI7a0JBQWpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2NvbnRleHRNYW5hZ2VyJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jb250ZXh0cycsXHJcbiAgaWNvbjogJ3N0YXInXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtbWFuYWdlci10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tYW5hZ2VyLXRvb2wuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWFuYWdlclRvb2xDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRvb2xUb09wZW5PbkNvbnRleHRDaGFuZ2U6IHN0cmluZyA9ICdtYXBUb29scyc7XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlXHJcbiAgKSB7fVxyXG5cclxuICBlZGl0Q29udGV4dCgpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdjb250ZXh0RWRpdG9yJyk7XHJcbiAgfVxyXG5cclxuICBtYW5hZ2VQZXJtaXNzaW9ucygpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdjb250ZXh0UGVybWlzc2lvbk1hbmFnZXInKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1jb250ZXh0LWxpc3RcclxuICBpZ29Db250ZXh0TGlzdEJpbmRpbmdcclxuICBbbWFwXT1cIm1hcFwiXHJcbiAgKGVkaXQpPVwiZWRpdENvbnRleHQoKVwiXHJcbiAgKG1hbmFnZVBlcm1pc3Npb25zKT1cIm1hbmFnZVBlcm1pc3Npb25zKClcIlxyXG4+XHJcbjwvaWdvLWNvbnRleHQtbGlzdD5cclxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tYW5hZ2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9jb250ZXh0L2NvbnRleHQtbWFuYWdlci10b29sL2NvbnRleHQtbWFuYWdlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LW1hbmFnZXItdG9vbC9jb250ZXh0LW1hbmFnZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVczQyxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQVE1QjtJQUNBO0lBUkQseUJBQXlCLEdBQVcsVUFBVSxDQUFDO0lBRXhELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQ1UsU0FBb0IsRUFDcEIsUUFBa0I7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNsRSxDQUFDO3FGQWxCVSwyQkFBMkI7NkRBQTNCLDJCQUEyQjtZQ2pCeEMsMkNBS0M7WUFGQyxnSEFBUSxpQkFBYSxJQUFDLDZIQUNELHVCQUFtQixJQURsQjtZQUd4QixpQkFBbUI7O1lBSmpCLDZCQUFXOzs7QURlQSwyQkFBMkI7SUFUdkMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixLQUFLLEVBQUUsZ0NBQWdDO1FBQ3ZDLElBQUksRUFBRSxNQUFNO0tBQ2IsQ0FBQztxQ0FhcUIsU0FBUztRQUNWLFFBQVE7R0FUakIsMkJBQTJCLENBbUJ2Qzt1RkFuQlksMkJBQTJCO2NBSnZDLFNBQVM7MkJBQ0UsMEJBQTBCO21GQUkzQix5QkFBeUI7a0JBQWpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2NvbnRleHRNYW5hZ2VyJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jb250ZXh0cycsXHJcbiAgaWNvbjogJ3N0YXInXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtbWFuYWdlci10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tYW5hZ2VyLXRvb2wuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWFuYWdlclRvb2xDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRvb2xUb09wZW5PbkNvbnRleHRDaGFuZ2U6IHN0cmluZyA9ICdtYXBUb29scyc7XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlXHJcbiAgKSB7fVxyXG5cclxuICBlZGl0Q29udGV4dCgpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdjb250ZXh0RWRpdG9yJyk7XHJcbiAgfVxyXG5cclxuICBtYW5hZ2VQZXJtaXNzaW9ucygpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdjb250ZXh0UGVybWlzc2lvbk1hbmFnZXInKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1jb250ZXh0LWxpc3RcbiAgaWdvQ29udGV4dExpc3RCaW5kaW5nXG4gIFttYXBdPVwibWFwXCJcbiAgKGVkaXQpPVwiZWRpdENvbnRleHQoKVwiXG4gIChtYW5hZ2VQZXJtaXNzaW9ucyk9XCJtYW5hZ2VQZXJtaXNzaW9ucygpXCJcbj5cbjwvaWdvLWNvbnRleHQtbGlzdD5cbiJdfQ==
@@ -38,6 +38,6 @@ ContextShareToolComponent = __decorate([
38
38
  ], ContextShareToolComponent);
39
39
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextShareToolComponent, [{
40
40
  type: Component,
41
- args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map [map]=\"map\"></igo-share-map>\r\n" }]
41
+ args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map [map]=\"map\"></igo-share-map>\n" }]
42
42
  }], function () { return [{ type: i1.MapState }, { type: i2.LayerListToolState }]; }, null); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXNoYXJlLXRvb2wvY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXNoYXJlLXRvb2wvY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQVd4QyxXQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQVUxQjtJQUNBO0lBVlYsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFDVSxRQUFrQixFQUNsQixrQkFBc0M7UUFEdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzdDLENBQUM7bUZBWk8seUJBQXlCOzZEQUF6Qix5QkFBeUI7WUNqQnRDLG1DQUEyQzs7WUFBNUIsNkJBQVc7OztBRGlCYix5QkFBeUI7SUFUckMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLGdDQUFnQztRQUN2QyxJQUFJLEVBQUUsZUFBZTtLQUN0QixDQUFDO3FDQWVvQixRQUFRO1FBQ0Usa0JBQWtCO0dBWHJDLHlCQUF5QixDQWFyQzt1RkFiWSx5QkFBeUI7Y0FKckMsU0FBUzsyQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29NYXAsIExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBMYXllckxpc3RUb29sU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbGF5ZXItbGlzdC10b29sLnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnc2hhcmVNYXAnLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnNoYXJlTWFwJyxcclxuICBpY29uOiAnc2hhcmUtdmFyaWFudCdcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY29udGV4dC1zaGFyZS10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dFNoYXJlVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyTGlzdENvbnRyb2xzKCk6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RUb29sU3RhdGUuZ2V0TGF5ZXJMaXN0Q29udHJvbHMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIGxheWVyTGlzdFRvb2xTdGF0ZTogTGF5ZXJMaXN0VG9vbFN0YXRlXHJcbiAgKSB7fVxyXG59XHJcbiIsIjxpZ28tc2hhcmUtbWFwIFttYXBdPVwibWFwXCI+PC9pZ28tc2hhcmUtbWFwPlxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXNoYXJlLXRvb2wvY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXNoYXJlLXRvb2wvY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQVd4QyxXQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQVUxQjtJQUNBO0lBVlYsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFDVSxRQUFrQixFQUNsQixrQkFBc0M7UUFEdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzdDLENBQUM7bUZBWk8seUJBQXlCOzZEQUF6Qix5QkFBeUI7WUNqQnRDLG1DQUEyQzs7WUFBNUIsNkJBQVc7OztBRGlCYix5QkFBeUI7SUFUckMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLGdDQUFnQztRQUN2QyxJQUFJLEVBQUUsZUFBZTtLQUN0QixDQUFDO3FDQWVvQixRQUFRO1FBQ0Usa0JBQWtCO0dBWHJDLHlCQUF5QixDQWFyQzt1RkFiWSx5QkFBeUI7Y0FKckMsU0FBUzsyQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29NYXAsIExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBMYXllckxpc3RUb29sU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbGF5ZXItbGlzdC10b29sLnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnc2hhcmVNYXAnLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnNoYXJlTWFwJyxcclxuICBpY29uOiAnc2hhcmUtdmFyaWFudCdcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tY29udGV4dC1zaGFyZS10b29sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1zaGFyZS10b29sLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGV4dFNoYXJlVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyTGlzdENvbnRyb2xzKCk6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RUb29sU3RhdGUuZ2V0TGF5ZXJMaXN0Q29udHJvbHMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIGxheWVyTGlzdFRvb2xTdGF0ZTogTGF5ZXJMaXN0VG9vbFN0YXRlXHJcbiAgKSB7fVxyXG59XHJcbiIsIjxpZ28tc2hhcmUtbWFwIFttYXBdPVwibWFwXCI+PC9pZ28tc2hhcmUtbWFwPlxuIl19
@@ -111,6 +111,6 @@ DirectionsToolComponent = __decorate([
111
111
  ], DirectionsToolComponent);
112
112
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsToolComponent, [{
113
113
  type: Component,
114
- args: [{ selector: 'igo-directions-tool', template: "<igo-directions\r\n [contextUri]=\"currentContextUri\"\r\n [debounceTime]=\"debounceTime\"\r\n [stopsStore]=\"stopsStore\"\r\n [stopsFeatureStore]=\"stopsFeatureStore\"\r\n [stepFeatureStore]=\"stepFeatureStore\"\r\n [routesFeatureStore]=\"routesFeatureStore\"\r\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\r\n>\r\n</igo-directions>\r\n" }]
114
+ args: [{ selector: 'igo-directions-tool', template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounceTime]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"\n>\n</igo-directions>\n" }]
115
115
  }], function () { return [{ type: i1.DirectionState }, { type: i2.MapState }, { type: i3.LanguageService }, { type: i3.MessageService }, { type: i3.StorageService }, { type: i4.ContextState }, { type: i5.AuthService }]; }, null); })();
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGNBQWMsRUFDZCxZQUFZLEVBQ1osY0FBYyxFQUNmLE1BQU0sWUFBWSxDQUFDO0FBV3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVc5QyxXQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQXVEeEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUE1REgsaUJBQWlCLENBQVM7SUFDakM7OztPQUdHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUNVLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGNBQThCLEVBQy9CLFlBQTBCLEVBQ3pCLFdBQXdCO1FBTnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQy9CLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQzFDLHlCQUF5QixDQUNmLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0Qiw0Q0FBNEMsRUFDNUMsMENBQTBDLEVBQzFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUNuQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLHlCQUF5QixFQUN6QixJQUFJLEVBQ0osWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpRkFyRlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNqQ3BDLG9DQVNpQjs7WUFSZixrREFBZ0Msa0NBQUEsOEJBQUEsNENBQUEsMENBQUEsOENBQUEsOENBQUE7OztBRGdDckIsdUJBQXVCO0lBVG5DLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxrQ0FBa0M7UUFDekMsSUFBSSxFQUFFLFlBQVk7S0FDbkIsQ0FBQztxQ0E0RDBCLGNBQWM7UUFDcEIsUUFBUTtRQUNELGVBQWU7UUFDaEIsY0FBYztRQUNkLGNBQWM7UUFDakIsWUFBWTtRQUNaLFdBQVc7R0E3RHZCLHVCQUF1QixDQXNGbkM7dUZBdEZZLHVCQUF1QjtjQUpuQyxTQUFTOzJCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgTWVzc2FnZVNlcnZpY2UsXHJcbiAgU3RvcmFnZVNjb3BlLFxyXG4gIFN0b3JhZ2VTZXJ2aWNlXHJcbn0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSWdvTWFwLFxyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vLi4vY29udGV4dC9jb250ZXh0LnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uU3RhdGUgfSBmcm9tICcuLi9kaXJlY3Rpb25zLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnZGlyZWN0aW9ucycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZGlyZWN0aW9ucycsXHJcbiAgaWNvbjogJ2RpcmVjdGlvbnMnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRpcmVjdGlvbnMtdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpcmVjdGlvbnMtdG9vbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgY3VycmVudENvbnRleHRVcmk6IHN0cmluZztcclxuICAvKipcclxuICAgKiBzdG9wc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9wc1N0b3JlKCk6IFN0b3BzU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZTtcclxuICB9XHJcblxyXG4gIGdldCBkZWJvdW5jZVRpbWUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLmRlYm91bmNlVGltZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHN0b3BzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHN0b3BzRmVhdHVyZVN0b3JlKCk6IFN0b3BzRmVhdHVyZVN0b3JlIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLnN0b3BzRmVhdHVyZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcm91dGVzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHJvdXRlc0ZlYXR1cmVTdG9yZSgpOiBSb3V0ZXNGZWF0dXJlU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUucm91dGVzRmVhdHVyZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3RlcCBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdGVwRmVhdHVyZVN0b3JlKCk6IFN0ZXBGZWF0dXJlU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RlcEZlYXR1cmVTdG9yZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHN0ZXAgc3RvcmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgem9vbVRvQWN0aXZlUm91dGUkKCk6IFN1YmplY3Q8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuem9vbVRvQWN0aXZlUm91dGUkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlyZWN0aW9uU3RhdGU6IERpcmVjdGlvblN0YXRlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBjb250ZXh0U3RhdGU6IENvbnRleHRTdGF0ZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdhcm5pbmdTaG93biA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxyXG4gICAgICAnZGlyZWN0aW9uLndhcm5pbmcuc2hvd24nXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAoIXdhcm5pbmdTaG93bikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5kaXJlY3Rpb25zLndhcm5pbmcubWVzc2FnZScsXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5kaXJlY3Rpb25zLndhcm5pbmcudGl0bGUnLFxyXG4gICAgICAgIHsgdGltZU91dDogMjAwMDAgfVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcclxuICAgICAgICAnZGlyZWN0aW9uLndhcm5pbmcuc2hvd24nLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29udGV4dFN0YXRlLmNvbnRleHQkLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlZCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRVcmkgPSBjLnVyaTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tZGlyZWN0aW9uc1xyXG4gIFtjb250ZXh0VXJpXT1cImN1cnJlbnRDb250ZXh0VXJpXCJcclxuICBbZGVib3VuY2VUaW1lXT1cImRlYm91bmNlVGltZVwiXHJcbiAgW3N0b3BzU3RvcmVdPVwic3RvcHNTdG9yZVwiXHJcbiAgW3N0b3BzRmVhdHVyZVN0b3JlXT1cInN0b3BzRmVhdHVyZVN0b3JlXCJcclxuICBbc3RlcEZlYXR1cmVTdG9yZV09XCJzdGVwRmVhdHVyZVN0b3JlXCJcclxuICBbcm91dGVzRmVhdHVyZVN0b3JlXT1cInJvdXRlc0ZlYXR1cmVTdG9yZVwiXHJcbiAgW3pvb21Ub0FjdGl2ZVJvdXRlJF09XCJ6b29tVG9BY3RpdmVSb3V0ZSRcIlxyXG4+XHJcbjwvaWdvLWRpcmVjdGlvbnM+XHJcbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXRvb2wvZGlyZWN0aW9ucy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGNBQWMsRUFDZCxZQUFZLEVBQ1osY0FBYyxFQUNmLE1BQU0sWUFBWSxDQUFDO0FBV3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVc5QyxXQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQXVEeEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUE1REgsaUJBQWlCLENBQVM7SUFDakM7OztPQUdHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUNVLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGNBQThCLEVBQy9CLFlBQTBCLEVBQ3pCLFdBQXdCO1FBTnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQy9CLENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQzFDLHlCQUF5QixDQUNmLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0Qiw0Q0FBNEMsRUFDNUMsMENBQTBDLEVBQzFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUNuQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLHlCQUF5QixFQUN6QixJQUFJLEVBQ0osWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpRkFyRlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNqQ3BDLG9DQVNpQjs7WUFSZixrREFBZ0Msa0NBQUEsOEJBQUEsNENBQUEsMENBQUEsOENBQUEsOENBQUE7OztBRGdDckIsdUJBQXVCO0lBVG5DLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxrQ0FBa0M7UUFDekMsSUFBSSxFQUFFLFlBQVk7S0FDbkIsQ0FBQztxQ0E0RDBCLGNBQWM7UUFDcEIsUUFBUTtRQUNELGVBQWU7UUFDaEIsY0FBYztRQUNkLGNBQWM7UUFDakIsWUFBWTtRQUNaLFdBQVc7R0E3RHZCLHVCQUF1QixDQXNGbkM7dUZBdEZZLHVCQUF1QjtjQUpuQyxTQUFTOzJCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgTWVzc2FnZVNlcnZpY2UsXHJcbiAgU3RvcmFnZVNjb3BlLFxyXG4gIFN0b3JhZ2VTZXJ2aWNlXHJcbn0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSWdvTWFwLFxyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vLi4vY29udGV4dC9jb250ZXh0LnN0YXRlJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uU3RhdGUgfSBmcm9tICcuLi9kaXJlY3Rpb25zLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnZGlyZWN0aW9ucycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZGlyZWN0aW9ucycsXHJcbiAgaWNvbjogJ2RpcmVjdGlvbnMnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRpcmVjdGlvbnMtdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpcmVjdGlvbnMtdG9vbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgY3VycmVudENvbnRleHRVcmk6IHN0cmluZztcclxuICAvKipcclxuICAgKiBzdG9wc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9wc1N0b3JlKCk6IFN0b3BzU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZTtcclxuICB9XHJcblxyXG4gIGdldCBkZWJvdW5jZVRpbWUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLmRlYm91bmNlVGltZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHN0b3BzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHN0b3BzRmVhdHVyZVN0b3JlKCk6IFN0b3BzRmVhdHVyZVN0b3JlIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvblN0YXRlLnN0b3BzRmVhdHVyZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcm91dGVzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHJvdXRlc0ZlYXR1cmVTdG9yZSgpOiBSb3V0ZXNGZWF0dXJlU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUucm91dGVzRmVhdHVyZVN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogc3RlcCBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdGVwRmVhdHVyZVN0b3JlKCk6IFN0ZXBGZWF0dXJlU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RlcEZlYXR1cmVTdG9yZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHN0ZXAgc3RvcmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgem9vbVRvQWN0aXZlUm91dGUkKCk6IFN1YmplY3Q8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uU3RhdGUuem9vbVRvQWN0aXZlUm91dGUkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlyZWN0aW9uU3RhdGU6IERpcmVjdGlvblN0YXRlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBjb250ZXh0U3RhdGU6IENvbnRleHRTdGF0ZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdhcm5pbmdTaG93biA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxyXG4gICAgICAnZGlyZWN0aW9uLndhcm5pbmcuc2hvd24nXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAoIXdhcm5pbmdTaG93bikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5kaXJlY3Rpb25zLndhcm5pbmcubWVzc2FnZScsXHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5kaXJlY3Rpb25zLndhcm5pbmcudGl0bGUnLFxyXG4gICAgICAgIHsgdGltZU91dDogMjAwMDAgfVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcclxuICAgICAgICAnZGlyZWN0aW9uLndhcm5pbmcuc2hvd24nLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29udGV4dFN0YXRlLmNvbnRleHQkLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlZCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRVcmkgPSBjLnVyaTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tZGlyZWN0aW9uc1xuICBbY29udGV4dFVyaV09XCJjdXJyZW50Q29udGV4dFVyaVwiXG4gIFtkZWJvdW5jZVRpbWVdPVwiZGVib3VuY2VUaW1lXCJcbiAgW3N0b3BzU3RvcmVdPVwic3RvcHNTdG9yZVwiXG4gIFtzdG9wc0ZlYXR1cmVTdG9yZV09XCJzdG9wc0ZlYXR1cmVTdG9yZVwiXG4gIFtzdGVwRmVhdHVyZVN0b3JlXT1cInN0ZXBGZWF0dXJlU3RvcmVcIlxuICBbcm91dGVzRmVhdHVyZVN0b3JlXT1cInJvdXRlc0ZlYXR1cmVTdG9yZVwiXG4gIFt6b29tVG9BY3RpdmVSb3V0ZSRdPVwiem9vbVRvQWN0aXZlUm91dGUkXCJcbj5cbjwvaWdvLWRpcmVjdGlvbnM+XG4iXX0=
@@ -72,6 +72,6 @@ DrawingToolComponent = __decorate([
72
72
  ], DrawingToolComponent);
73
73
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
74
74
  type: Component,
75
- args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\r\n [stores]=\"stores\"\r\n [map]=\"map\"\r\n (layersIDEvent)=\"addLayersID($event)\"\r\n [activeDrawingLayer]=\"activeDrawingLayer\"\r\n [drawControls]=\"drawControls\"\r\n (drawControlsEvent)=\"addDrawControls($event)\"\r\n (activeLayerChange)=\"activeDrawingLayer = $event\"\r\n>\r\n</igo-draw>\r\n" }]
75
+ args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\"\n>\n</igo-draw>\n" }]
76
76
  }], function () { return [{ type: i1.DrawState }, { type: i2.MapState }]; }, null); })();
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFTN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRTFDOztHQUVHO0FBV0ksV0FBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUE0Q3JCO0lBQ0E7SUE1Q1Y7OztPQUdHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsRUFBMkI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksa0JBQWtCLENBQUMsS0FBa0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBMkI7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQ1UsU0FBb0IsRUFDcEIsUUFBa0I7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7OEVBOUNPLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDM0JqQyxtQ0FRQztZQUxDLHlIQUFpQix1QkFBbUIsSUFBQyxvSEFHaEIsMkJBQXVCLElBSFAsdUpBQUE7WUFNdkMsaUJBQVc7O1lBUlQsbUNBQWlCLGdCQUFBLDhDQUFBLGtDQUFBOzs7QUQwQk4sb0JBQW9CO0lBVmhDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUM7cUNBa0RxQixTQUFTO1FBQ1YsUUFBUTtHQTdDakIsb0JBQW9CLENBK0NoQzt1RkEvQ1ksb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBEcmF3Q29udHJvbCxcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVdpdGhEcmF3LFxyXG4gIElnb01hcCxcclxuICBWZWN0b3JMYXllclxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xyXG5pbXBvcnQgeyBEcmF3U3RhdGUgfSBmcm9tICcuLi9kcmF3LnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIG1lYXN1cmUgbGVuZ3RocyBhbmQgYXJlYXNcclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnZHJhdycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZHJhdycsXHJcbiAgaWNvbjogJ2RyYXcnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRyYXdpbmctdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdpbmctdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdpbmdUb29sQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBNYXAgdG8gbWVhc3VyZSBvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9yZXMoKTogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz5bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuc3RvcmVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgbGF5ZXJzSUQoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLmxheWVyc0lEO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRyYXdDb250cm9scygpOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzO1xyXG4gIH1cclxuICBzZXQgZHJhd0NvbnRyb2xzKGRjOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSkge1xyXG4gICAgdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzID0gZGM7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlRHJhd2luZ0xheWVyKCk6IFZlY3RvckxheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBhY3RpdmVEcmF3aW5nTGF5ZXIodmFsdWU6IFZlY3RvckxheWVyKSB7XHJcbiAgICB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRMYXllcnNJRChsYXllcklEOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubGF5ZXJzSUQucHVzaChsYXllcklEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGREcmF3Q29udHJvbHMoZGM6IFtzdHJpbmcsIERyYXdDb250cm9sXVtdKSB7XHJcbiAgICB0aGlzLmRyYXdDb250cm9scyA9IGRjO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRyYXdTdGF0ZTogRHJhd1N0YXRlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGVcclxuICApIHt9XHJcbn1cclxuIiwiPGlnby1kcmF3XHJcbiAgW3N0b3Jlc109XCJzdG9yZXNcIlxyXG4gIFttYXBdPVwibWFwXCJcclxuICAobGF5ZXJzSURFdmVudCk9XCJhZGRMYXllcnNJRCgkZXZlbnQpXCJcclxuICBbYWN0aXZlRHJhd2luZ0xheWVyXT1cImFjdGl2ZURyYXdpbmdMYXllclwiXHJcbiAgW2RyYXdDb250cm9sc109XCJkcmF3Q29udHJvbHNcIlxyXG4gIChkcmF3Q29udHJvbHNFdmVudCk9XCJhZGREcmF3Q29udHJvbHMoJGV2ZW50KVwiXHJcbiAgKGFjdGl2ZUxheWVyQ2hhbmdlKT1cImFjdGl2ZURyYXdpbmdMYXllciA9ICRldmVudFwiXHJcbj5cclxuPC9pZ28tZHJhdz5cclxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFTN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRTFDOztHQUVHO0FBV0ksV0FBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUE0Q3JCO0lBQ0E7SUE1Q1Y7OztPQUdHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsRUFBMkI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksa0JBQWtCLENBQUMsS0FBa0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBMkI7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQ1UsU0FBb0IsRUFDcEIsUUFBa0I7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7OEVBOUNPLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDM0JqQyxtQ0FRQztZQUxDLHlIQUFpQix1QkFBbUIsSUFBQyxvSEFHaEIsMkJBQXVCLElBSFAsdUpBQUE7WUFNdkMsaUJBQVc7O1lBUlQsbUNBQWlCLGdCQUFBLDhDQUFBLGtDQUFBOzs7QUQwQk4sb0JBQW9CO0lBVmhDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUM7cUNBa0RxQixTQUFTO1FBQ1YsUUFBUTtHQTdDakIsb0JBQW9CLENBK0NoQzt1RkEvQ1ksb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBEcmF3Q29udHJvbCxcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVdpdGhEcmF3LFxyXG4gIElnb01hcCxcclxuICBWZWN0b3JMYXllclxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4uLy4uL21hcC9tYXAuc3RhdGUnO1xyXG5pbXBvcnQgeyBEcmF3U3RhdGUgfSBmcm9tICcuLi9kcmF3LnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIG1lYXN1cmUgbGVuZ3RocyBhbmQgYXJlYXNcclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnZHJhdycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuZHJhdycsXHJcbiAgaWNvbjogJ2RyYXcnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRyYXdpbmctdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdpbmctdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdpbmdUb29sQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBNYXAgdG8gbWVhc3VyZSBvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9yZXMoKTogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz5bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuc3RvcmVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgbGF5ZXJzSUQoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLmxheWVyc0lEO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRyYXdDb250cm9scygpOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzO1xyXG4gIH1cclxuICBzZXQgZHJhd0NvbnRyb2xzKGRjOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSkge1xyXG4gICAgdGhpcy5kcmF3U3RhdGUuZHJhd0NvbnRyb2xzID0gZGM7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlRHJhd2luZ0xheWVyKCk6IFZlY3RvckxheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBhY3RpdmVEcmF3aW5nTGF5ZXIodmFsdWU6IFZlY3RvckxheWVyKSB7XHJcbiAgICB0aGlzLmRyYXdTdGF0ZS5hY3RpdmVEcmF3aW5nTGF5ZXIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRMYXllcnNJRChsYXllcklEOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubGF5ZXJzSUQucHVzaChsYXllcklEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGREcmF3Q29udHJvbHMoZGM6IFtzdHJpbmcsIERyYXdDb250cm9sXVtdKSB7XHJcbiAgICB0aGlzLmRyYXdDb250cm9scyA9IGRjO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRyYXdTdGF0ZTogRHJhd1N0YXRlLFxyXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGVcclxuICApIHt9XHJcbn1cclxuIiwiPGlnby1kcmF3XG4gIFtzdG9yZXNdPVwic3RvcmVzXCJcbiAgW21hcF09XCJtYXBcIlxuICAobGF5ZXJzSURFdmVudCk9XCJhZGRMYXllcnNJRCgkZXZlbnQpXCJcbiAgW2FjdGl2ZURyYXdpbmdMYXllcl09XCJhY3RpdmVEcmF3aW5nTGF5ZXJcIlxuICBbZHJhd0NvbnRyb2xzXT1cImRyYXdDb250cm9sc1wiXG4gIChkcmF3Q29udHJvbHNFdmVudCk9XCJhZGREcmF3Q29udHJvbHMoJGV2ZW50KVwiXG4gIChhY3RpdmVMYXllckNoYW5nZSk9XCJhY3RpdmVEcmF3aW5nTGF5ZXIgPSAkZXZlbnRcIlxuPlxuPC9pZ28tZHJhdz5cbiJdfQ==
@@ -41,6 +41,6 @@ ActiveOgcFilterToolComponent = __decorate([
41
41
  ], ActiveOgcFilterToolComponent);
42
42
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveOgcFilterToolComponent, [{
43
43
  type: Component,
44
- args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut()], template: "<igo-ogc-filterable-item\r\n [map]=\"map\"\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\"\r\n>\r\n</igo-ogc-filterable-item>\r\n" }]
44
+ args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut()], template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n>\n</igo-ogc-filterable-item>\n" }]
45
45
  }], function () { return [{ type: i1.MapState }]; }, null); })();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLW9nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9hY3RpdmUtb2djLWZpbHRlci10b29sL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLW9nYy1maWx0ZXItdG9vbC9hY3RpdmUtb2djLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQWE3RCxXQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQWdCcEI7SUFmbkIsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDL0IsT0FBTyxHQUFHLENBQUM7YUFDWjtTQUNGO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO3NGQWhCOUIsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNuQnpDLDZDQU0wQjs7WUFMeEIsNkJBQVcsb0JBQUEsaUJBQUEsZ0NBQUE7aUdEZ0JDLENBQUMsY0FBYyxFQUFFLENBQUM7O0FBRW5CLDRCQUE0QjtJQVh4QyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO3FDQXNCNkIsUUFBUTtHQWhCMUIsNEJBQTRCLENBaUJ4Qzt1RkFqQlksNEJBQTRCO2NBTHhDLFNBQVM7MkJBQ0UsNEJBQTRCLGNBRTFCLENBQUMsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29NYXAsIExheWVyIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IHRvb2xTbGlkZUluT3V0IH0gZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZU9nY0ZpbHRlcicsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcclxuICBpY29uOiAnZmlsdGVyJyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLW9nYy1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFt0b29sU2xpZGVJbk91dCgpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcclxuICAgIGZvciAoY29uc3QgbGF5IG9mIHRoaXMubWFwLmxheWVycykge1xyXG4gICAgICBpZiAobGF5Lm9wdGlvbnMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGxheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlKSB7fVxyXG59XHJcbiIsIjxpZ28tb2djLWZpbHRlcmFibGUtaXRlbVxyXG4gIFttYXBdPVwibWFwXCJcclxuICBbbGF5ZXJdPVwibGF5ZXJcIlxyXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxyXG4gIFtAdG9vbFNsaWRlSW5PdXRdPVwiYW5pbWF0ZVwiXHJcbj5cclxuPC9pZ28tb2djLWZpbHRlcmFibGUtaXRlbT5cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLW9nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9hY3RpdmUtb2djLWZpbHRlci10b29sL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLW9nYy1maWx0ZXItdG9vbC9hY3RpdmUtb2djLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQWE3RCxXQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQWdCcEI7SUFmbkIsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDL0IsT0FBTyxHQUFHLENBQUM7YUFDWjtTQUNGO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO3NGQWhCOUIsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNuQnpDLDZDQU0wQjs7WUFMeEIsNkJBQVcsb0JBQUEsaUJBQUEsZ0NBQUE7aUdEZ0JDLENBQUMsY0FBYyxFQUFFLENBQUM7O0FBRW5CLDRCQUE0QjtJQVh4QyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxpQ0FBaUM7UUFDeEMsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDO3FDQXNCNkIsUUFBUTtHQWhCMUIsNEJBQTRCLENBaUJ4Qzt1RkFqQlksNEJBQTRCO2NBTHhDLFNBQVM7MkJBQ0UsNEJBQTRCLGNBRTFCLENBQUMsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29NYXAsIExheWVyIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IHRvb2xTbGlkZUluT3V0IH0gZnJvbSAnLi9hY3RpdmUtb2djLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZU9nY0ZpbHRlcicsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcclxuICBpY29uOiAnZmlsdGVyJyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLW9nYy1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2ZS1vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFt0b29sU2xpZGVJbk91dCgpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZlT2djRmlsdGVyVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcclxuICAgIGZvciAoY29uc3QgbGF5IG9mIHRoaXMubWFwLmxheWVycykge1xyXG4gICAgICBpZiAobGF5Lm9wdGlvbnMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGxheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlKSB7fVxyXG59XHJcbiIsIjxpZ28tb2djLWZpbHRlcmFibGUtaXRlbVxuICBbbWFwXT1cIm1hcFwiXG4gIFtsYXllcl09XCJsYXllclwiXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxuICBbQHRvb2xTbGlkZUluT3V0XT1cImFuaW1hdGVcIlxuPlxuPC9pZ28tb2djLWZpbHRlcmFibGUtaXRlbT5cbiJdfQ==
@@ -41,6 +41,6 @@ ActiveTimeFilterToolComponent = __decorate([
41
41
  ], ActiveTimeFilterToolComponent);
42
42
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveTimeFilterToolComponent, [{
43
43
  type: Component,
44
- args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut()], template: "<igo-time-filter-item\r\n [map]=\"map\"\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\"\r\n>\r\n</igo-time-filter-item>\r\n" }]
44
+ args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut()], template: "<igo-time-filter-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n>\n</igo-time-filter-item>\n" }]
45
45
  }], function () { return [{ type: i1.MapState }]; }, null); })();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBYTlELFdBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBZ0JyQjtJQWZuQixJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUMvQixPQUFPLEdBQUcsQ0FBQzthQUNaO1NBQ0Y7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFekIsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7dUZBaEI5Qiw2QkFBNkI7NkRBQTdCLDZCQUE2QjtZQ25CMUMsMENBTXVCOztZQUxyQiw2QkFBVyxvQkFBQSxpQkFBQSxnQ0FBQTs4RkRnQkMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7QUFFbkIsNkJBQTZCO0lBWHpDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLGtDQUFrQztRQUN6QyxJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7cUNBc0I2QixRQUFRO0dBaEIxQiw2QkFBNkIsQ0FpQnpDO3VGQWpCWSw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSw2QkFBNkIsY0FFM0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb01hcCwgTGF5ZXIgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgdG9vbFNsaWRlSW5PdXQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZVRpbWVGaWx0ZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnRpbWVGaWx0ZXInLFxyXG4gIGljb246ICdoaXN0b3J5JyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtdGltZS1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3Rvb2xTbGlkZUluT3V0KCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3RpdmVUaW1lRmlsdGVyVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcclxuICAgIGZvciAoY29uc3QgbGF5IG9mIHRoaXMubWFwLmxheWVycykge1xyXG4gICAgICBpZiAobGF5Lm9wdGlvbnMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGxheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlKSB7fVxyXG59XHJcbiIsIjxpZ28tdGltZS1maWx0ZXItaXRlbVxyXG4gIFttYXBdPVwibWFwXCJcclxuICBbbGF5ZXJdPVwibGF5ZXJcIlxyXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxyXG4gIFtAdG9vbFNsaWRlSW5PdXRdPVwiYW5pbWF0ZVwiXHJcbj5cclxuPC9pZ28tdGltZS1maWx0ZXItaXRlbT5cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wvYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBYTlELFdBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBZ0JyQjtJQWZuQixJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUMvQixPQUFPLEdBQUcsQ0FBQzthQUNaO1NBQ0Y7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVNLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFekIsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7dUZBaEI5Qiw2QkFBNkI7NkRBQTdCLDZCQUE2QjtZQ25CMUMsMENBTXVCOztZQUxyQiw2QkFBVyxvQkFBQSxpQkFBQSxnQ0FBQTs4RkRnQkMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7QUFFbkIsNkJBQTZCO0lBWHpDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLGtDQUFrQztRQUN6QyxJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7cUNBc0I2QixRQUFRO0dBaEIxQiw2QkFBNkIsQ0FpQnpDO3VGQWpCWSw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSw2QkFBNkIsY0FFM0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb01hcCwgTGF5ZXIgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgdG9vbFNsaWRlSW5PdXQgfSBmcm9tICcuL2FjdGl2ZS10aW1lLWZpbHRlci10b29sLmFuaW1hdGlvbic7XHJcblxyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2FjdGl2ZVRpbWVGaWx0ZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnRpbWVGaWx0ZXInLFxyXG4gIGljb246ICdoaXN0b3J5JyxcclxuICBwYXJlbnQ6ICdtYXBUb29scydcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aXZlLXRpbWUtZmlsdGVyLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtdGltZS1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3Rvb2xTbGlkZUluT3V0KCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3RpdmVUaW1lRmlsdGVyVG9vbENvbXBvbmVudCB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcclxuICAgIGZvciAoY29uc3QgbGF5IG9mIHRoaXMubWFwLmxheWVycykge1xyXG4gICAgICBpZiAobGF5Lm9wdGlvbnMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGxheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFuaW1hdGUgPSAnZW50ZXInO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlKSB7fVxyXG59XHJcbiIsIjxpZ28tdGltZS1maWx0ZXItaXRlbVxuICBbbWFwXT1cIm1hcFwiXG4gIFtsYXllcl09XCJsYXllclwiXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxuICBbQHRvb2xTbGlkZUluT3V0XT1cImFuaW1hdGVcIlxuPlxuPC9pZ28tdGltZS1maWx0ZXItaXRlbT5cbiJdfQ==
@@ -20,6 +20,6 @@ OgcFilterToolComponent = __decorate([
20
20
  ], OgcFilterToolComponent);
21
21
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterToolComponent, [{
22
22
  type: Component,
23
- args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\r\n" }]
23
+ args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\n" }]
24
24
  }], function () { return []; }, null); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdG9vbC9vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10b29sL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFXdEMsV0FBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFDakMsZ0JBQWUsQ0FBQztnRkFETCxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ2JuQyw2Q0FBK0U7OztBRGFsRSxzQkFBc0I7SUFUbEMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7O0dBS1csc0JBQXNCLENBRWxDO3VGQUZZLHNCQUFzQjtjQUpsQyxTQUFTOzJCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnb2djRmlsdGVyJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcbiAgaWNvbjogJ2ZpbHRlcidcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tb2djLWZpbHRlci10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyVG9vbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiIsIjxpZ28tb2djLWZpbHRlcmFibGUtbGlzdCBpZ29PZ2NGaWx0ZXJhYmxlTGlzdEJpbmRpbmc+PC9pZ28tb2djLWZpbHRlcmFibGUtbGlzdD5cclxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdG9vbC9vZ2MtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10b29sL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFXdEMsV0FBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFDakMsZ0JBQWUsQ0FBQztnRkFETCxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ2JuQyw2Q0FBK0U7OztBRGFsRSxzQkFBc0I7SUFUbEMsYUFBYSxDQUFDO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7O0dBS1csc0JBQXNCLENBRWxDO3VGQUZZLHNCQUFzQjtjQUpsQyxTQUFTOzJCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnb2djRmlsdGVyJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMub2djRmlsdGVyJyxcbiAgaWNvbjogJ2ZpbHRlcidcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tb2djLWZpbHRlci10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItdG9vbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyVG9vbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiIsIjxpZ28tb2djLWZpbHRlcmFibGUtbGlzdCBpZ29PZ2NGaWx0ZXJhYmxlTGlzdEJpbmRpbmc+PC9pZ28tb2djLWZpbHRlcmFibGUtbGlzdD5cbiJdfQ==
@@ -594,7 +594,7 @@ SpatialFilterToolComponent = __decorate([
594
594
  ], SpatialFilterToolComponent);
595
595
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterToolComponent, [{
596
596
  type: Component,
597
- args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-panel>\r\n <igo-spatial-filter-type\r\n [store]=\"spatialListStore\"\r\n [selectedQueryType]=\"queryType\"\r\n [zone]=\"zone\"\r\n [layers]=\"activeLayers\"\r\n (eventType)=\"getOutputType($event)\"\r\n (eventQueryType)=\"getOutputQueryType($event)\"\r\n (zoneChange)=\"onZoneChange($event)\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (bufferChange)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n >\r\n </igo-spatial-filter-type>\r\n\r\n <igo-spatial-filter-item\r\n [type]=\"type\"\r\n [queryType]=\"queryType\"\r\n [map]=\"map\"\r\n [zone]=\"zone\"\r\n [loading]=\"loading\"\r\n [store]=\"store\"\r\n [layers]=\"activeLayers\"\r\n [allLayers]=\"layers\"\r\n [thematicLength]=\"thematicLength\"\r\n (radiusEvent)=\"buffer = $event\"\r\n (bufferEvent)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n (freehandControl)=\"freehandDrawIsActive = $event\"\r\n (drawZoneEvent)=\"zone = $event\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (itemTypeChange)=\"itemType = $event\"\r\n (thematicChange)=\"thematics = $event\"\r\n (toggleSearch)=\"getOutputToggleSearch()\"\r\n (clearButtonEvent)=\"clearMap()\"\r\n (clearSearchEvent)=\"getOutputClearSearch()\"\r\n (export)=\"activateExportTool()\"\r\n (openWorkspace)=\"activateWorkspace()\"\r\n (entityChange)=\"activateWorkspace($event)\"\r\n >\r\n </igo-spatial-filter-item>\r\n</igo-panel>\r\n\r\n<igo-panel>\r\n <ng-container *ngIf=\"selectedFeature$ | async as feature\">\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </ng-container>\r\n</igo-panel>\r\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"] }]
597
+ args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-panel>\n <igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n >\n </igo-spatial-filter-type>\n\n <igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $event\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n >\n </igo-spatial-filter-item>\n</igo-panel>\n\n<igo-panel>\n <ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </ng-container>\n</igo-panel>\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"] }]
598
598
  }], function () { return [{ type: i1.MatIconRegistry }, { type: i2.SpatialFilterService }, { type: i2.DataSourceService }, { type: i2.LayerService }, { type: i3.MapState }, { type: i4.MessageService }, { type: i4.LanguageService }, { type: i5.ImportExportState }, { type: i6.ToolState }, { type: i7.WorkspaceState }, { type: i0.ChangeDetectorRef }]; }, { type: [{
599
599
  type: Input
600
600
  }], itemType: [{
@@ -602,4 +602,4 @@ SpatialFilterToolComponent = __decorate([
602
602
  }], freehandDrawIsActive: [{
603
603
  type: Input
604
604
  }] }); })();
605
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci10b29sL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXItdG9vbC9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixhQUFhLEVBQ2QsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUdMLGlCQUFpQixFQUdqQixhQUFhLEVBR2IsWUFBWSxFQUNaLGlCQUFpQixFQUVqQixxQkFBcUIsRUFFckIsb0JBQW9CLEVBRXBCLGlCQUFpQixFQUVqQix3QkFBd0IsRUFDeEIsV0FBVyxFQUNYLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUloRCxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQWMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUs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ZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRW50aXR5U3RvcmUsXHJcbiAgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3ksXHJcbiAgVG9vbENvbXBvbmVudFxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDbHVzdGVyRGF0YVNvdXJjZSxcclxuICBEYXRhU291cmNlLFxyXG4gIERhdGFTb3VyY2VTZXJ2aWNlLFxyXG4gIEV4cG9ydE9wdGlvbnMsXHJcbiAgRmVhdHVyZSxcclxuICBGZWF0dXJlTW90aW9uLFxyXG4gIElnb01hcCxcclxuICBMYXllcixcclxuICBMYXllclNlcnZpY2UsXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgU3BhdGlhbEZpbHRlckl0ZW1UeXBlLFxyXG4gIFNwYXRpYWxGaWx0ZXJRdWVyeVR5cGUsXHJcbiAgU3BhdGlhbEZpbHRlclNlcnZpY2UsXHJcbiAgU3BhdGlhbEZpbHRlclRoZW1hdGljLFxyXG4gIFNwYXRpYWxGaWx0ZXJUeXBlLFxyXG4gIFZlY3RvckxheWVyLFxyXG4gIGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSxcclxuICBmZWF0dXJlVG9PbCxcclxuICBtb3ZlVG9PbEZlYXR1cmVzXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IEV2ZW50c0tleSB9IGZyb20gJ29sL2V2ZW50cyc7XHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgb2xTb3VyY2VDbHVzdGVyIGZyb20gJ29sL3NvdXJjZS9DbHVzdGVyJztcclxuaW1wb3J0IG9sU291cmNlVmVjdG9yIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vLi4vd29ya3NwYWNlL3dvcmtzcGFjZS5zdGF0ZSc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0RXhwb3J0TW9kZSxcclxuICBJbXBvcnRFeHBvcnRTdGF0ZVxyXG59IGZyb20gJy4vLi4vLi4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIGFwcGx5IHNwYXRpYWwgZmlsdGVyXHJcbiAqL1xyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ3NwYXRpYWxGaWx0ZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnNwYXRpYWxGaWx0ZXInLFxyXG4gIGljb246ICdzZWxlY3Rpb24tbWFya2VyJ1xyXG59KVxyXG4vKipcclxuICogU3BhdGlhbCBGaWx0ZXIgVHlwZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3BhdGlhbC1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhdGlhbEZpbHRlclRvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgdHlwZTogU3BhdGlhbEZpbHRlclR5cGU7XHJcbiAgQElucHV0KCkgaXRlbVR5cGU6IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZSA9IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZS5BZGRyZXNzO1xyXG4gIEBJbnB1dCgpIGZyZWVoYW5kRHJhd0lzQWN0aXZlOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgbGF5ZXJzOiBMYXllcltdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZUxheWVyczogTGF5ZXJbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgcXVlcnlUeXBlOiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlO1xyXG4gIHB1YmxpYyB0aGVtYXRpY3M6IFNwYXRpYWxGaWx0ZXJUaGVtYXRpY1tdO1xyXG4gIHB1YmxpYyB6b25lOiBGZWF0dXJlO1xyXG4gIHB1YmxpYyB6b25lV2l0aEJ1ZmZlcjogRmVhdHVyZTtcclxuICBwdWJsaWMgYnVmZmVyID0gMDtcclxuXHJcbiAgcHVibGljIGl0ZXJhdG9yID0gMTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICBwcml2YXRlIGZvcm1hdCA9IG5ldyBvbEZvcm1hdEdlb0pTT04oKTtcclxuXHJcbiAgcHVibGljIHN0b3JlOiBFbnRpdHlTdG9yZVdpdGhTdHJhdGVneTxGZWF0dXJlPiA9XHJcbiAgICBuZXcgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3k8RmVhdHVyZT4oW10pOyAvLyBTdG9yZSB0byBwcmludCByZXN1bHRzIGF0IHRoZSBlbmRcclxuXHJcbiAgcHVibGljIHNwYXRpYWxMaXN0U3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+ID0gbmV3IEVudGl0eVN0b3JlPEZlYXR1cmU+KFtdKTtcclxuXHJcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHRoZW1hdGljTGVuZ3RoID0gMDtcclxuXHJcbiAgcHVibGljIG1lYXN1cmVVbml0OiBNZWFzdXJlTGVuZ3RoVW5pdCA9IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycztcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgbW92ZWVuZEtleTogRXZlbnRzS2V5O1xyXG5cclxuICBwdWJsaWMgZGVmYXVsdFN0eWxlOiBvbHN0eWxlLlN0eWxlIHwgKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiBvbHN0eWxlLlN0eWxlKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBzcGF0aWFsRmlsdGVyU2VydmljZTogU3BhdGlhbEZpbHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlLFxyXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcclxuICAgIHByaXZhdGUgd29ya3NwYWNlU3RhdGU6IFdvcmtzcGFjZVN0YXRlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLm1hcC5sYXllcnMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGxheWVyLnRpdGxlICYmXHJcbiAgICAgICAgbGF5ZXIudGl0bGUuaW5jbHVkZXMoXHJcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5sYXllcnMucHVzaChsYXllcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldE91dHB1dFR5cGUoZXZlbnQ6IFNwYXRpYWxGaWx0ZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSBldmVudDtcclxuICAgIHRoaXMucXVlcnlUeXBlID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3V0cHV0UXVlcnlUeXBlKGV2ZW50OiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlKSB7XHJcbiAgICB0aGlzLnF1ZXJ5VHlwZSA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMucXVlcnlUeXBlKSB7XHJcbiAgICAgIHRoaXMubG9hZEZpbHRlckxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2YXRlRXhwb3J0VG9vbCgpIHtcclxuICAgIGNvbnN0IGlkcyA9IFtdO1xyXG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKCdeWm9uZSBcXFxcZCsnKTtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgaWYgKCFsYXllci50aXRsZS5tYXRjaChyZSkpIHtcclxuICAgICAgICBpZHMucHVzaChsYXllci5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XHJcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldHNFeHBvcnRPcHRpb25zKHsgbGF5ZXJzOiBpZHMgfSBhcyBFeHBvcnRPcHRpb25zKTtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdpbXBvcnRFeHBvcnQnKTtcclxuICB9XHJcblxyXG4gIGFjdGl2YXRlV29ya3NwYWNlKHJlY29yZD8pIHtcclxuICAgIGxldCBsYXllclRvT3BlbldrcztcclxuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuZW50aXRpZXMkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICFyZWNvcmQgJiZcclxuICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLmxlbmd0aCAmJlxyXG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5sZW5ndGggPiAxXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pdGVtVHlwZSA9PT0gU3BhdGlhbEZpbHRlckl0ZW1UeXBlLlRoZW1hdGljcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRoZW1hdGljIG9mIHRoaXMudGhlbWF0aWNzKSB7XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGVtYXRpYy56ZXJvUmVzdWx0cykge1xyXG4gICAgICAgICAgICAgICAgbGF5ZXJUb09wZW5Xa3MgPSB0aGlzLmFjdGl2ZUxheWVycy5maW5kKChsYXllcikgPT5cclxuICAgICAgICAgICAgICAgICAgbGF5ZXIudGl0bGUuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWF0aWMubmFtZSArICcgJyArIHRoaXMuaXRlcmF0b3IudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9ICdBZHJlc3NlcyAnICsgdGhpcy5pdGVyYXRvci50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChsYXllci50aXRsZS5pbmNsdWRlcyh0aXRsZSkpIHtcclxuICAgICAgICAgICAgICAgIGxheWVyVG9PcGVuV2tzID0gbGF5ZXI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAobGF5ZXJUb09wZW5Xa3MpIHtcclxuICAgICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS53b3Jrc3BhY2VQYW5lbEV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKGxheWVyVG9PcGVuV2tzLmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgcmVjb3JkICYmXHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5sZW5ndGggJiZcclxuICAgICAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuYWxsKCkubGVuZ3RoID4gMVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RXb3Jrc3BhY2VFbnRpdHkocmVjb3JkKTtcclxuICAgICAgICAgIHRoaXMubW92ZWVuZEtleSA9IHRoaXMubWFwLm9sLm9uKCdtb3ZlZW5kJywgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdFdvcmtzcGFjZUVudGl0eShyZWNvcmQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0V29ya3NwYWNlRW50aXR5KHJlY29yZCkge1xyXG4gICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5mb3JFYWNoKCh3b3Jrc3BhY2UpID0+IHtcclxuICAgICAgd29ya3NwYWNlLmVudGl0eVN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IHNlbGVjdGVkOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKHdvcmtzcGFjZS50aXRsZS5pbmNsdWRlcyhyZWNvcmQuYWRkZWRbMF0ubWV0YS50aXRsZSkpIHtcclxuICAgICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnNldEFjdGl2ZVdvcmtzcGFjZUJ5SWQod29ya3NwYWNlLmlkKTtcclxuICAgICAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlTWFueShyZWNvcmQuYWRkZWQsIHtcclxuICAgICAgICAgIHNlbGVjdGVkOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkRmlsdGVyTGlzdCgpIHtcclxuICAgIHRoaXMuc3BhdGlhbEZpbHRlclNlcnZpY2VcclxuICAgICAgLmxvYWRGaWx0ZXJMaXN0KHRoaXMucXVlcnlUeXBlKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChmZWF0dXJlczogRmVhdHVyZVtdKSA9PiB7XHJcbiAgICAgICAgZmVhdHVyZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgaWYgKGEucHJvcGVydGllcy5ub20gPCBiLnByb3BlcnRpZXMubm9tKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChhLnByb3BlcnRpZXMubm9tID4gYi5wcm9wZXJ0aWVzLm5vbSkge1xyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3BhdGlhbExpc3RTdG9yZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuc3BhdGlhbExpc3RTdG9yZS5sb2FkKGZlYXR1cmVzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdXRwdXRUb2dnbGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLmxvYWRUaGVtYXRpY3MoKTtcclxuICB9XHJcblxyXG4gIGdldE91dHB1dENsZWFyU2VhcmNoKCkge1xyXG4gICAgdGhpcy56b25lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjbGVhck1hcCgpIHtcclxuICAgIHRoaXMubWFwLnJlbW92ZUxheWVycyh0aGlzLmxheWVycyk7XHJcbiAgICB0aGlzLmxheWVycyA9IFtdO1xyXG4gICAgdGhpcy5hY3RpdmVMYXllcnMgPSBbXTtcclxuICAgIHRoaXMudGhlbWF0aWNMZW5ndGggPSAwO1xyXG4gICAgdGhpcy5pdGVyYXRvciA9IDE7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5QcmVkZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuem9uZSA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRUaGVtYXRpY3MoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IHplcm9SZXN1bHRzID0gdHJ1ZTtcclxuICAgIGxldCB0aGVtYXRpY3M7XHJcbiAgICBpZiAodGhpcy5idWZmZXIgPT09IDAgfHwgdGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludCkge1xyXG4gICAgICB0aGlzLnRyeUFkZEZlYXR1cmVzVG9NYXAoW3RoaXMuem9uZV0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXRlbVR5cGUgIT09IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZS5UaGVtYXRpY3MpIHtcclxuICAgICAgY29uc3QgdGhlbWU6IFNwYXRpYWxGaWx0ZXJUaGVtYXRpYyA9IHtcclxuICAgICAgICBuYW1lOiAnJ1xyXG4gICAgICB9O1xyXG4gICAgICB0aGVtYXRpY3MgPSBbdGhlbWVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhlbWF0aWNzID0gdGhpcy50aGVtYXRpY3M7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubWVhc3VyZVVuaXQgPT09IE1lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMgJiZcclxuICAgICAgdGhpcy50eXBlICE9PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYnVmZmVyID0gdGhpcy5idWZmZXIgKiAxMDAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUG9seWdvbikge1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IDA7IC8vIHRvIGF2b2lkIGJ1ZmZlciBlbnRlciBhIHNlY29uZCB0aW1lIGluIHRlcnJBUElcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvYnNlcnZhYmxlcyQ6IE9ic2VydmFibGU8RmVhdHVyZVtdPltdID0gW107XHJcbiAgICB0aGVtYXRpY3MuZm9yRWFjaCgodGhlbWF0aWMpID0+IHtcclxuICAgICAgb2JzZXJ2YWJsZXMkLnB1c2goXHJcbiAgICAgICAgdGhpcy5zcGF0aWFsRmlsdGVyU2VydmljZVxyXG4gICAgICAgICAgLmxvYWRGaWx0ZXJJdGVtKFxyXG4gICAgICAgICAgICB0aGlzLnpvbmUsXHJcbiAgICAgICAgICAgIHRoaXMuaXRlbVR5cGUsXHJcbiAgICAgICAgICAgIHRoaXMucXVlcnlUeXBlLFxyXG4gICAgICAgICAgICB0aGVtYXRpYyxcclxuICAgICAgICAgICAgdGhpcy5idWZmZXJcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKGZlYXR1cmVzOiBGZWF0dXJlW10pID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmluc2VydE1hbnkoZmVhdHVyZXMpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzUG9pbnQ6IEZlYXR1cmVbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzTGluZVBvbHk6IEZlYXR1cmVbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGxldCBpZFBvaW50O1xyXG4gICAgICAgICAgICAgIGxldCBpZExpbmVQb2x5O1xyXG4gICAgICAgICAgICAgIGZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLmxvbmdpdHVkZSA9XHJcbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1swXTtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLmxhdGl0dWRlID0gZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXTtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZXNQb2ludC5wdXNoKGZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICBpZFBvaW50ID0gZmVhdHVyZS5tZXRhLmlkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZXNMaW5lUG9seS5wdXNoKGZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICBpZExpbmVQb2x5ID0gZmVhdHVyZS5tZXRhLmlkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnRyeUFkZFBvaW50VG9NYXAoZmVhdHVyZXNQb2ludCwgaWRQb2ludCk7XHJcbiAgICAgICAgICAgICAgdGhpcy50cnlBZGRMYXllclRvTWFwKGZlYXR1cmVzTGluZVBvbHksIGlkTGluZVBvbHkpO1xyXG4gICAgICAgICAgICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHplcm9SZXN1bHRzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRoZW1hdGljTGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICB0aGVtYXRpYy56ZXJvUmVzdWx0cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoZW1hdGljLnplcm9SZXN1bHRzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChmZWF0dXJlcy5sZW5ndGggPj0gMTAwMDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWxlcnQoXHJcbiAgICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIubWF4U2l6ZUFsZXJ0JyxcclxuICAgICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJyxcclxuICAgICAgICAgICAgICAgICAgeyB0aW1lT3V0OiAxMDAwMCB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGZvcmtKb2luKG9ic2VydmFibGVzJClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHplcm9SZXN1bHRzKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFsZXJ0KFxyXG4gICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnplcm9SZXN1bHRzJyxcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJyxcclxuICAgICAgICAgICAgeyB0aW1lT3V0OiAxMDAwMCB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblpvbmVDaGFuZ2UoZmVhdHVyZTogRmVhdHVyZSwgYnVmZmVyPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy56b25lID0gZmVhdHVyZTtcclxuICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgIGJ1ZmZlclxyXG4gICAgICAgID8gdGhpcy50cnlBZGRGZWF0dXJlc1RvTWFwKFtmZWF0dXJlXSwgdHJ1ZSlcclxuICAgICAgICA6IHRoaXMudHJ5QWRkRmVhdHVyZXNUb01hcChbZmVhdHVyZV0pO1xyXG4gICAgICB0aGlzLnpvb21Ub0ZlYXR1cmVFeHRlbnQoZmVhdHVyZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIHpvbmUgZmVhdHVyZSB0byB0aGUgbWFwIG92ZXJsYXlcclxuICAgKi9cclxuICBwdWJsaWMgdHJ5QWRkRmVhdHVyZXNUb01hcChmZWF0dXJlczogRmVhdHVyZVtdLCBidWZmZXI/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgaSA9IDE7XHJcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXMpIHtcclxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5faW50ZXJuYWwgJiZcclxuICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5faW50ZXJuYWwuY29kZSA9PT0gZmVhdHVyZS5wcm9wZXJ0aWVzLmNvZGUgJiZcclxuICAgICAgICAgICAgIWJ1ZmZlclxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlmICghbGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sYXllcnMuaW5kZXhPZihsYXllcik7XHJcbiAgICAgICAgICAgICAgdGhpcy5sYXllcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycyA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzLmluZGV4T2YobGF5ZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihsYXllcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChidWZmZXIpIHtcclxuICAgICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5hY3RpdmVMYXllcnMpIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLmxlbmd0aCA9PT0gMSAmJlxyXG4gICAgICAgICAgICAgIGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJylcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxheWVycy5pbmRleE9mKGxheWVyKTtcclxuICAgICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGxheWVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2ZUxheWVycyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRlZmF1bHRTdHlsZSA9IChfZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gKGZlYXR1cmVzWzBdIGFzIGFueSkuY29vcmRpbmF0ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICByYWRpdXM6IGNvb3JkaW5hdGVzXHJcbiAgICAgICAgICAgICAgPyB0aGlzLmJ1ZmZlciAvXHJcbiAgICAgICAgICAgICAgICBNYXRoLmNvcygoTWF0aC5QSSAvIDE4MCkgKiBjb29yZGluYXRlc1sxXSkgL1xyXG4gICAgICAgICAgICAgICAgcmVzb2x1dGlvblxyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwLCAwLjIpJ1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICAgIGNvbG9yOiAnb3JhbmdlJ1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICBjb2xvcjogJ29yYW5nZSdcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyMDAsIDIwMCwgMjAsIDAuMiknXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBEYXRhU291cmNlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvbExheWVyID0gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlTGF5ZXIoe1xyXG4gICAgICAgICAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiAoJ1pvbmUgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgd29ya3NwYWNlOiB7IGVuYWJsZWQ6IHRydWUgfSxcclxuICAgICAgICAgICAgX2ludGVybmFsOiB7XHJcbiAgICAgICAgICAgICAgY29kZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICA/IGZlYXR1cmUucHJvcGVydGllcy5jb2RlXHJcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZVxyXG4gICAgICAgICAgfSkgYXMgVmVjdG9yTGF5ZXI7XHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlVG9PbChmLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHRoaXMudHlwZSAhPT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCB0eXBlID1cclxuICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlBvaW50ID8gJ0NlcmNsZScgOiAnUG9seWdvbmUnO1xyXG4gICAgICAgICAgICBmZWF0dXJlc09sWzBdLnNldCgnbm9tJywgJ1pvbmUnLCB0cnVlKTtcclxuICAgICAgICAgICAgZmVhdHVyZXNPbFswXS5zZXQoJ3R5cGUnLCB0eXBlLCB0cnVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IG9sID0gZGF0YVNvdXJjZS5vbCBhc1xyXG4gICAgICAgICAgICB8IG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+XHJcbiAgICAgICAgICAgIHwgb2xTb3VyY2VDbHVzdGVyO1xyXG4gICAgICAgICAgb2wuYWRkRmVhdHVyZXMoZmVhdHVyZXNPbCk7XHJcbiAgICAgICAgICBvbExheWVyLm9sLnNldFN0eWxlKHRoaXMuZGVmYXVsdFN0eWxlKTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLnB1c2gob2xMYXllcik7XHJcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBhZGQgcG9pbnQgZmVhdHVyZXMgdG8gdGhlIG1hcFxyXG4gICAqIE5lY2Vzc2FyeSB0byBjcmVhdGUgY2x1c3RlcnNcclxuICAgKi9cclxuICBwcml2YXRlIHRyeUFkZFBvaW50VG9NYXAoZmVhdHVyZXM6IEZlYXR1cmVbXSwgaWQpIHtcclxuICAgIGxldCBpID0gMTtcclxuICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcclxuICAgICAgaWYgKHRoaXMubWFwID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLmxheWVycykge1xyXG4gICAgICAgIGlmIChsYXllci50aXRsZT8uc3RhcnRzV2l0aChmZWF0dXJlc1swXS5tZXRhLnRpdGxlKSkge1xyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAnY2x1c3RlcicsXHJcbiAgICAgICAgICBpZCxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZSxcclxuICAgICAgICAgIGRpc3RhbmNlOiAxMjAsXHJcbiAgICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2x1c3RlcidcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YVNvdXJjZTogQ2x1c3RlckRhdGFTb3VyY2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGljb24gPSBmZWF0dXJlc1swXS5tZXRhLmljb247XHJcbiAgICAgICAgICBsZXQgc3R5bGU6IG9sc3R5bGUuU3R5bGU7XHJcbiAgICAgICAgICBpZiAoIWljb24pIHtcclxuICAgICAgICAgICAgc3R5bGUgPSBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdmdJY29uKGljb24pIHx8IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IG9sTGF5ZXIgPSB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVMYXllcih7XHJcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgc3R5bGVcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzT2wgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZlYXR1cmVUb09sKGZlYXR1cmUsIHRoaXMubWFwLnByb2plY3Rpb24pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBvbCA9IGRhdGFTb3VyY2Uub2wgYXMgb2xTb3VyY2VDbHVzdGVyO1xyXG4gICAgICAgICAgb2wuZ2V0U291cmNlKCkuYWRkRmVhdHVyZXMoZmVhdHVyZXNPbCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihcclxuICAgICAgICAgICAgICB0aGlzLmxheWVycy5maW5kKChsYXllcikgPT4gbGF5ZXIuaWQgPT09IG9sTGF5ZXIuaWQpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGkgPSBpIC0gMTtcclxuICAgICAgICAgICAgb2xMYXllci50aXRsZSA9IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIG9sTGF5ZXIub3B0aW9ucy50aXRsZSA9IG9sTGF5ZXIudGl0bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLml0ZXJhdG9yID0gaTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMucHVzaExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN2Z0ljb24oaWNvbik6IG9sc3R5bGUuU3R5bGUge1xyXG4gICAgbGV0IHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuZ2V0TmFtZWRTdmdJY29uKGljb24pLnN1YnNjcmliZSgoc3ZnT2JqKSA9PiB7XHJcbiAgICAgIGNvbnN0IHhtbFNlcmlhbGl6ZXIgPSBuZXcgWE1MU2VyaWFsaXplcigpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCd3aWR0aCcsICczMCcpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMzAnKTtcclxuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdyZ2JhKDAsIDEyOCwgMjU1KScpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdzdHJva2UnLCAnd2hpdGUnKTtcclxuICAgICAgY29uc3Qgc3ZnID0geG1sU2VyaWFsaXplci5zZXJpYWxpemVUb1N0cmluZyhzdmdPYmopO1xyXG4gICAgICBzdHlsZSA9IG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuSWNvbih7XHJcbiAgICAgICAgICBzcmM6ICdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwnICsgc3ZnXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGFkZCBsaW5lIG9yIHBvbHlnb24gZmVhdHVyZXMgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJ5QWRkTGF5ZXJUb01hcChmZWF0dXJlczogRmVhdHVyZVtdLCBpZCkge1xyXG4gICAgbGV0IGkgPSAxO1xyXG4gICAgaWYgKGZlYXR1cmVzLmxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XHJcbiAgICAgICAgaWYgKGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUpKSB7XHJcbiAgICAgICAgICBpKys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcclxuICAgICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKHtcclxuICAgICAgICAgIHR5cGU6ICd2ZWN0b3InLFxyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWVcclxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgb2xMYXllciA9IHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUxheWVyKHtcclxuICAgICAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgc291cmNlOiBkYXRhU291cmNlLFxyXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzT2wgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZlYXR1cmVUb09sKGZlYXR1cmUsIHRoaXMubWFwLnByb2plY3Rpb24pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBvbCA9IGRhdGFTb3VyY2Uub2wgYXMgb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT47XHJcbiAgICAgICAgICBvbC5hZGRGZWF0dXJlcyhmZWF0dXJlc09sKTtcclxuICAgICAgICAgIGlmICh0aGlzLmxheWVycy5maW5kKChsYXllcikgPT4gbGF5ZXIuaWQgPT09IG9sTGF5ZXIuaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKFxyXG4gICAgICAgICAgICAgIHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyKSA9PiBsYXllci5pZCA9PT0gb2xMYXllci5pZClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaSA9IGkgLSAxO1xyXG4gICAgICAgICAgICBvbExheWVyLnRpdGxlID0gKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZztcclxuICAgICAgICAgICAgb2xMYXllci5vcHRpb25zLnRpdGxlID0gb2xMYXllci50aXRsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMucHVzaExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tVG9GZWF0dXJlRXh0ZW50KGZlYXR1cmUpIHtcclxuICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKGZlYXR1cmUsIHtcclxuICAgICAgICBkYXRhUHJvamVjdGlvbjogZmVhdHVyZS5wcm9qZWN0aW9uLFxyXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgICBtb3ZlVG9PbEZlYXR1cmVzKFxyXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxyXG4gICAgICAgIFtvbEZlYXR1cmVdLFxyXG4gICAgICAgIEZlYXR1cmVNb3Rpb24uWm9vbVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVzaExheWVyKGxheWVyKSB7XHJcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLmFjdGl2ZUxheWVycykge1xyXG4gICAgICBpZiAobGF5LmlkID09PSBsYXllci5pZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aXZlTGF5ZXJzLnB1c2gobGF5ZXIpO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLXBhbmVsPlxyXG4gIDxpZ28tc3BhdGlhbC1maWx0ZXItdHlwZVxyXG4gICAgW3N0b3JlXT1cInNwYXRpYWxMaXN0U3RvcmVcIlxyXG4gICAgW3NlbGVjdGVkUXVlcnlUeXBlXT1cInF1ZXJ5VHlwZVwiXHJcbiAgICBbem9uZV09XCJ6b25lXCJcclxuICAgIFtsYXllcnNdPVwiYWN0aXZlTGF5ZXJzXCJcclxuICAgIChldmVudFR5cGUpPVwiZ2V0T3V0cHV0VHlwZSgkZXZlbnQpXCJcclxuICAgIChldmVudFF1ZXJ5VHlwZSk9XCJnZXRPdXRwdXRRdWVyeVR5cGUoJGV2ZW50KVwiXHJcbiAgICAoem9uZUNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoem9uZVdpdGhCdWZmZXJDaGFuZ2UpPVwib25ab25lQ2hhbmdlKCRldmVudCwgdHJ1ZSlcIlxyXG4gICAgKGJ1ZmZlckNoYW5nZSk9XCJidWZmZXIgPSAkZXZlbnRcIlxyXG4gICAgKG1lYXN1cmVVbml0Q2hhbmdlKT1cIm1lYXN1cmVVbml0ID0gJGV2ZW50XCJcclxuICA+XHJcbiAgPC9pZ28tc3BhdGlhbC1maWx0ZXItdHlwZT5cclxuXHJcbiAgPGlnby1zcGF0aWFsLWZpbHRlci1pdGVtXHJcbiAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgIFtxdWVyeVR5cGVdPVwicXVlcnlUeXBlXCJcclxuICAgIFttYXBdPVwibWFwXCJcclxuICAgIFt6b25lXT1cInpvbmVcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICBbc3RvcmVdPVwic3RvcmVcIlxyXG4gICAgW2xheWVyc109XCJhY3RpdmVMYXllcnNcIlxyXG4gICAgW2FsbExheWVyc109XCJsYXllcnNcIlxyXG4gICAgW3RoZW1hdGljTGVuZ3RoXT1cInRoZW1hdGljTGVuZ3RoXCJcclxuICAgIChyYWRpdXNFdmVudCk9XCJidWZmZXIgPSAkZXZlbnRcIlxyXG4gICAgKGJ1ZmZlckV2ZW50KT1cImJ1ZmZlciA9ICRldmVudFwiXHJcbiAgICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxyXG4gICAgKGZyZWVoYW5kQ29udHJvbCk9XCJmcmVlaGFuZERyYXdJc0FjdGl2ZSA9ICRldmVudFwiXHJcbiAgICAoZHJhd1pvbmVFdmVudCk9XCJ6b25lID0gJGV2ZW50XCJcclxuICAgICh6b25lV2l0aEJ1ZmZlckNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50LCB0cnVlKVwiXHJcbiAgICAoaXRlbVR5cGVDaGFuZ2UpPVwiaXRlbVR5cGUgPSAkZXZlbnRcIlxyXG4gICAgKHRoZW1hdGljQ2hhbmdlKT1cInRoZW1hdGljcyA9ICRldmVudFwiXHJcbiAgICAodG9nZ2xlU2VhcmNoKT1cImdldE91dHB1dFRvZ2dsZVNlYXJjaCgpXCJcclxuICAgIChjbGVhckJ1dHRvbkV2ZW50KT1cImNsZWFyTWFwKClcIlxyXG4gICAgKGNsZWFyU2VhcmNoRXZlbnQpPVwiZ2V0T3V0cHV0Q2xlYXJTZWFyY2goKVwiXHJcbiAgICAoZXhwb3J0KT1cImFjdGl2YXRlRXhwb3J0VG9vbCgpXCJcclxuICAgIChvcGVuV29ya3NwYWNlKT1cImFjdGl2YXRlV29ya3NwYWNlKClcIlxyXG4gICAgKGVudGl0eUNoYW5nZSk9XCJhY3RpdmF0ZVdvcmtzcGFjZSgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC9pZ28tc3BhdGlhbC1maWx0ZXItaXRlbT5cclxuPC9pZ28tcGFuZWw+XHJcblxyXG48aWdvLXBhbmVsPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEZlYXR1cmUkIHwgYXN5bmMgYXMgZmVhdHVyZVwiPlxyXG4gICAgPGlnby1mZWF0dXJlLWRldGFpbHMgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiPjwvaWdvLWZlYXR1cmUtZGV0YWlscz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9pZ28tcGFuZWw+XHJcbiJdfQ==
605
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhdGlhbC1maWx0ZXItdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL2ZpbHRlci9zcGF0aWFsLWZpbHRlci10b29sL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9maWx0ZXIvc3BhdGlhbC1maWx0ZXItdG9vbC9zcGF0aWFsLWZpbHRlci10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixhQUFhLEVBQ2QsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUdMLGlCQUFpQixFQUdqQixhQUFhLEVBR2IsWUFBWSxFQUNaLGlCQUFpQixFQUVqQixxQkFBcUIsRUFFckIsb0JBQW9CLEVBRXBCLGlCQUFpQixFQUVqQix3QkFBd0IsRUFDeEIsV0FBVyxFQUNYLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUloRCxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQWMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUs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ZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRW50aXR5U3RvcmUsXHJcbiAgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3ksXHJcbiAgVG9vbENvbXBvbmVudFxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDbHVzdGVyRGF0YVNvdXJjZSxcclxuICBEYXRhU291cmNlLFxyXG4gIERhdGFTb3VyY2VTZXJ2aWNlLFxyXG4gIEV4cG9ydE9wdGlvbnMsXHJcbiAgRmVhdHVyZSxcclxuICBGZWF0dXJlTW90aW9uLFxyXG4gIElnb01hcCxcclxuICBMYXllcixcclxuICBMYXllclNlcnZpY2UsXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgU3BhdGlhbEZpbHRlckl0ZW1UeXBlLFxyXG4gIFNwYXRpYWxGaWx0ZXJRdWVyeVR5cGUsXHJcbiAgU3BhdGlhbEZpbHRlclNlcnZpY2UsXHJcbiAgU3BhdGlhbEZpbHRlclRoZW1hdGljLFxyXG4gIFNwYXRpYWxGaWx0ZXJUeXBlLFxyXG4gIFZlY3RvckxheWVyLFxyXG4gIGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSxcclxuICBmZWF0dXJlVG9PbCxcclxuICBtb3ZlVG9PbEZlYXR1cmVzXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IEV2ZW50c0tleSB9IGZyb20gJ29sL2V2ZW50cyc7XHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgb2xTb3VyY2VDbHVzdGVyIGZyb20gJ29sL3NvdXJjZS9DbHVzdGVyJztcclxuaW1wb3J0IG9sU291cmNlVmVjdG9yIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vLi4vd29ya3NwYWNlL3dvcmtzcGFjZS5zdGF0ZSc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0RXhwb3J0TW9kZSxcclxuICBJbXBvcnRFeHBvcnRTdGF0ZVxyXG59IGZyb20gJy4vLi4vLi4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIGFwcGx5IHNwYXRpYWwgZmlsdGVyXHJcbiAqL1xyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ3NwYXRpYWxGaWx0ZXInLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLnNwYXRpYWxGaWx0ZXInLFxyXG4gIGljb246ICdzZWxlY3Rpb24tbWFya2VyJ1xyXG59KVxyXG4vKipcclxuICogU3BhdGlhbCBGaWx0ZXIgVHlwZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc3BhdGlhbC1maWx0ZXItdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwYXRpYWwtZmlsdGVyLXRvb2wuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhdGlhbEZpbHRlclRvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgdHlwZTogU3BhdGlhbEZpbHRlclR5cGU7XHJcbiAgQElucHV0KCkgaXRlbVR5cGU6IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZSA9IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZS5BZGRyZXNzO1xyXG4gIEBJbnB1dCgpIGZyZWVoYW5kRHJhd0lzQWN0aXZlOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgbGF5ZXJzOiBMYXllcltdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZUxheWVyczogTGF5ZXJbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgcXVlcnlUeXBlOiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlO1xyXG4gIHB1YmxpYyB0aGVtYXRpY3M6IFNwYXRpYWxGaWx0ZXJUaGVtYXRpY1tdO1xyXG4gIHB1YmxpYyB6b25lOiBGZWF0dXJlO1xyXG4gIHB1YmxpYyB6b25lV2l0aEJ1ZmZlcjogRmVhdHVyZTtcclxuICBwdWJsaWMgYnVmZmVyID0gMDtcclxuXHJcbiAgcHVibGljIGl0ZXJhdG9yID0gMTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICBwcml2YXRlIGZvcm1hdCA9IG5ldyBvbEZvcm1hdEdlb0pTT04oKTtcclxuXHJcbiAgcHVibGljIHN0b3JlOiBFbnRpdHlTdG9yZVdpdGhTdHJhdGVneTxGZWF0dXJlPiA9XHJcbiAgICBuZXcgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3k8RmVhdHVyZT4oW10pOyAvLyBTdG9yZSB0byBwcmludCByZXN1bHRzIGF0IHRoZSBlbmRcclxuXHJcbiAgcHVibGljIHNwYXRpYWxMaXN0U3RvcmU6IEVudGl0eVN0b3JlPEZlYXR1cmU+ID0gbmV3IEVudGl0eVN0b3JlPEZlYXR1cmU+KFtdKTtcclxuXHJcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHRoZW1hdGljTGVuZ3RoID0gMDtcclxuXHJcbiAgcHVibGljIG1lYXN1cmVVbml0OiBNZWFzdXJlTGVuZ3RoVW5pdCA9IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycztcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgbW92ZWVuZEtleTogRXZlbnRzS2V5O1xyXG5cclxuICBwdWJsaWMgZGVmYXVsdFN0eWxlOiBvbHN0eWxlLlN0eWxlIHwgKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiBvbHN0eWxlLlN0eWxlKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBzcGF0aWFsRmlsdGVyU2VydmljZTogU3BhdGlhbEZpbHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlLFxyXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcclxuICAgIHByaXZhdGUgd29ya3NwYWNlU3RhdGU6IFdvcmtzcGFjZVN0YXRlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLm1hcC5sYXllcnMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGxheWVyLnRpdGxlICYmXHJcbiAgICAgICAgbGF5ZXIudGl0bGUuaW5jbHVkZXMoXHJcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5sYXllcnMucHVzaChsYXllcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldE91dHB1dFR5cGUoZXZlbnQ6IFNwYXRpYWxGaWx0ZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSBldmVudDtcclxuICAgIHRoaXMucXVlcnlUeXBlID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3V0cHV0UXVlcnlUeXBlKGV2ZW50OiBTcGF0aWFsRmlsdGVyUXVlcnlUeXBlKSB7XHJcbiAgICB0aGlzLnF1ZXJ5VHlwZSA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMucXVlcnlUeXBlKSB7XHJcbiAgICAgIHRoaXMubG9hZEZpbHRlckxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2YXRlRXhwb3J0VG9vbCgpIHtcclxuICAgIGNvbnN0IGlkcyA9IFtdO1xyXG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKCdeWm9uZSBcXFxcZCsnKTtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgaWYgKCFsYXllci50aXRsZS5tYXRjaChyZSkpIHtcclxuICAgICAgICBpZHMucHVzaChsYXllci5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XHJcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldHNFeHBvcnRPcHRpb25zKHsgbGF5ZXJzOiBpZHMgfSBhcyBFeHBvcnRPcHRpb25zKTtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdpbXBvcnRFeHBvcnQnKTtcclxuICB9XHJcblxyXG4gIGFjdGl2YXRlV29ya3NwYWNlKHJlY29yZD8pIHtcclxuICAgIGxldCBsYXllclRvT3BlbldrcztcclxuICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuZW50aXRpZXMkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICFyZWNvcmQgJiZcclxuICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLmxlbmd0aCAmJlxyXG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5sZW5ndGggPiAxXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pdGVtVHlwZSA9PT0gU3BhdGlhbEZpbHRlckl0ZW1UeXBlLlRoZW1hdGljcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRoZW1hdGljIG9mIHRoaXMudGhlbWF0aWNzKSB7XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGVtYXRpYy56ZXJvUmVzdWx0cykge1xyXG4gICAgICAgICAgICAgICAgbGF5ZXJUb09wZW5Xa3MgPSB0aGlzLmFjdGl2ZUxheWVycy5maW5kKChsYXllcikgPT5cclxuICAgICAgICAgICAgICAgICAgbGF5ZXIudGl0bGUuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWF0aWMubmFtZSArICcgJyArIHRoaXMuaXRlcmF0b3IudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9ICdBZHJlc3NlcyAnICsgdGhpcy5pdGVyYXRvci50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChsYXllci50aXRsZS5pbmNsdWRlcyh0aXRsZSkpIHtcclxuICAgICAgICAgICAgICAgIGxheWVyVG9PcGVuV2tzID0gbGF5ZXI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAobGF5ZXJUb09wZW5Xa3MpIHtcclxuICAgICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS53b3Jrc3BhY2VQYW5lbEV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zZXRBY3RpdmVXb3Jrc3BhY2VCeUlkKGxheWVyVG9PcGVuV2tzLmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgcmVjb3JkICYmXHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycy5sZW5ndGggJiZcclxuICAgICAgICAgIHRoaXMud29ya3NwYWNlU3RhdGUuc3RvcmUuYWxsKCkubGVuZ3RoID4gMVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RXb3Jrc3BhY2VFbnRpdHkocmVjb3JkKTtcclxuICAgICAgICAgIHRoaXMubW92ZWVuZEtleSA9IHRoaXMubWFwLm9sLm9uKCdtb3ZlZW5kJywgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdFdvcmtzcGFjZUVudGl0eShyZWNvcmQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0V29ya3NwYWNlRW50aXR5KHJlY29yZCkge1xyXG4gICAgdGhpcy53b3Jrc3BhY2VTdGF0ZS5zdG9yZS5hbGwoKS5mb3JFYWNoKCh3b3Jrc3BhY2UpID0+IHtcclxuICAgICAgd29ya3NwYWNlLmVudGl0eVN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IHNlbGVjdGVkOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKHdvcmtzcGFjZS50aXRsZS5pbmNsdWRlcyhyZWNvcmQuYWRkZWRbMF0ubWV0YS50aXRsZSkpIHtcclxuICAgICAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnNldEFjdGl2ZVdvcmtzcGFjZUJ5SWQod29ya3NwYWNlLmlkKTtcclxuICAgICAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlTWFueShyZWNvcmQuYWRkZWQsIHtcclxuICAgICAgICAgIHNlbGVjdGVkOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkRmlsdGVyTGlzdCgpIHtcclxuICAgIHRoaXMuc3BhdGlhbEZpbHRlclNlcnZpY2VcclxuICAgICAgLmxvYWRGaWx0ZXJMaXN0KHRoaXMucXVlcnlUeXBlKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChmZWF0dXJlczogRmVhdHVyZVtdKSA9PiB7XHJcbiAgICAgICAgZmVhdHVyZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgaWYgKGEucHJvcGVydGllcy5ub20gPCBiLnByb3BlcnRpZXMubm9tKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChhLnByb3BlcnRpZXMubm9tID4gYi5wcm9wZXJ0aWVzLm5vbSkge1xyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3BhdGlhbExpc3RTdG9yZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuc3BhdGlhbExpc3RTdG9yZS5sb2FkKGZlYXR1cmVzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdXRwdXRUb2dnbGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLmxvYWRUaGVtYXRpY3MoKTtcclxuICB9XHJcblxyXG4gIGdldE91dHB1dENsZWFyU2VhcmNoKCkge1xyXG4gICAgdGhpcy56b25lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjbGVhck1hcCgpIHtcclxuICAgIHRoaXMubWFwLnJlbW92ZUxheWVycyh0aGlzLmxheWVycyk7XHJcbiAgICB0aGlzLmxheWVycyA9IFtdO1xyXG4gICAgdGhpcy5hY3RpdmVMYXllcnMgPSBbXTtcclxuICAgIHRoaXMudGhlbWF0aWNMZW5ndGggPSAwO1xyXG4gICAgdGhpcy5pdGVyYXRvciA9IDE7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5QcmVkZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuem9uZSA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5xdWVyeVR5cGUgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRUaGVtYXRpY3MoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IHplcm9SZXN1bHRzID0gdHJ1ZTtcclxuICAgIGxldCB0aGVtYXRpY3M7XHJcbiAgICBpZiAodGhpcy5idWZmZXIgPT09IDAgfHwgdGhpcy50eXBlID09PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludCkge1xyXG4gICAgICB0aGlzLnRyeUFkZEZlYXR1cmVzVG9NYXAoW3RoaXMuem9uZV0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXRlbVR5cGUgIT09IFNwYXRpYWxGaWx0ZXJJdGVtVHlwZS5UaGVtYXRpY3MpIHtcclxuICAgICAgY29uc3QgdGhlbWU6IFNwYXRpYWxGaWx0ZXJUaGVtYXRpYyA9IHtcclxuICAgICAgICBuYW1lOiAnJ1xyXG4gICAgICB9O1xyXG4gICAgICB0aGVtYXRpY3MgPSBbdGhlbWVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhlbWF0aWNzID0gdGhpcy50aGVtYXRpY3M7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubWVhc3VyZVVuaXQgPT09IE1lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMgJiZcclxuICAgICAgdGhpcy50eXBlICE9PSBTcGF0aWFsRmlsdGVyVHlwZS5Qb2ludFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYnVmZmVyID0gdGhpcy5idWZmZXIgKiAxMDAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUG9seWdvbikge1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IDA7IC8vIHRvIGF2b2lkIGJ1ZmZlciBlbnRlciBhIHNlY29uZCB0aW1lIGluIHRlcnJBUElcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvYnNlcnZhYmxlcyQ6IE9ic2VydmFibGU8RmVhdHVyZVtdPltdID0gW107XHJcbiAgICB0aGVtYXRpY3MuZm9yRWFjaCgodGhlbWF0aWMpID0+IHtcclxuICAgICAgb2JzZXJ2YWJsZXMkLnB1c2goXHJcbiAgICAgICAgdGhpcy5zcGF0aWFsRmlsdGVyU2VydmljZVxyXG4gICAgICAgICAgLmxvYWRGaWx0ZXJJdGVtKFxyXG4gICAgICAgICAgICB0aGlzLnpvbmUsXHJcbiAgICAgICAgICAgIHRoaXMuaXRlbVR5cGUsXHJcbiAgICAgICAgICAgIHRoaXMucXVlcnlUeXBlLFxyXG4gICAgICAgICAgICB0aGVtYXRpYyxcclxuICAgICAgICAgICAgdGhpcy5idWZmZXJcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKGZlYXR1cmVzOiBGZWF0dXJlW10pID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmluc2VydE1hbnkoZmVhdHVyZXMpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzUG9pbnQ6IEZlYXR1cmVbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzTGluZVBvbHk6IEZlYXR1cmVbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGxldCBpZFBvaW50O1xyXG4gICAgICAgICAgICAgIGxldCBpZExpbmVQb2x5O1xyXG4gICAgICAgICAgICAgIGZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLmxvbmdpdHVkZSA9XHJcbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1swXTtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLmxhdGl0dWRlID0gZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXTtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZXNQb2ludC5wdXNoKGZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICBpZFBvaW50ID0gZmVhdHVyZS5tZXRhLmlkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgZmVhdHVyZXNMaW5lUG9seS5wdXNoKGZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICBpZExpbmVQb2x5ID0gZmVhdHVyZS5tZXRhLmlkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnRyeUFkZFBvaW50VG9NYXAoZmVhdHVyZXNQb2ludCwgaWRQb2ludCk7XHJcbiAgICAgICAgICAgICAgdGhpcy50cnlBZGRMYXllclRvTWFwKGZlYXR1cmVzTGluZVBvbHksIGlkTGluZVBvbHkpO1xyXG4gICAgICAgICAgICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHplcm9SZXN1bHRzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRoZW1hdGljTGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICB0aGVtYXRpYy56ZXJvUmVzdWx0cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoZW1hdGljLnplcm9SZXN1bHRzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChmZWF0dXJlcy5sZW5ndGggPj0gMTAwMDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWxlcnQoXHJcbiAgICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIubWF4U2l6ZUFsZXJ0JyxcclxuICAgICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJyxcclxuICAgICAgICAgICAgICAgICAgeyB0aW1lT3V0OiAxMDAwMCB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGZvcmtKb2luKG9ic2VydmFibGVzJClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHplcm9SZXN1bHRzKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFsZXJ0KFxyXG4gICAgICAgICAgICAnaWdvLmdlby5zcGF0aWFsRmlsdGVyLnplcm9SZXN1bHRzJyxcclxuICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci53YXJuaW5nJyxcclxuICAgICAgICAgICAgeyB0aW1lT3V0OiAxMDAwMCB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblpvbmVDaGFuZ2UoZmVhdHVyZTogRmVhdHVyZSwgYnVmZmVyPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy56b25lID0gZmVhdHVyZTtcclxuICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgIGJ1ZmZlclxyXG4gICAgICAgID8gdGhpcy50cnlBZGRGZWF0dXJlc1RvTWFwKFtmZWF0dXJlXSwgdHJ1ZSlcclxuICAgICAgICA6IHRoaXMudHJ5QWRkRmVhdHVyZXNUb01hcChbZmVhdHVyZV0pO1xyXG4gICAgICB0aGlzLnpvb21Ub0ZlYXR1cmVFeHRlbnQoZmVhdHVyZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIHpvbmUgZmVhdHVyZSB0byB0aGUgbWFwIG92ZXJsYXlcclxuICAgKi9cclxuICBwdWJsaWMgdHJ5QWRkRmVhdHVyZXNUb01hcChmZWF0dXJlczogRmVhdHVyZVtdLCBidWZmZXI/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgaSA9IDE7XHJcbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgZmVhdHVyZXMpIHtcclxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5faW50ZXJuYWwgJiZcclxuICAgICAgICAgICAgbGF5ZXIub3B0aW9ucy5faW50ZXJuYWwuY29kZSA9PT0gZmVhdHVyZS5wcm9wZXJ0aWVzLmNvZGUgJiZcclxuICAgICAgICAgICAgIWJ1ZmZlclxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlmICghbGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sYXllcnMuaW5kZXhPZihsYXllcik7XHJcbiAgICAgICAgICAgICAgdGhpcy5sYXllcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUxheWVycyA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGF5ZXJzLmluZGV4T2YobGF5ZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihsYXllcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChidWZmZXIpIHtcclxuICAgICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5hY3RpdmVMYXllcnMpIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLmxlbmd0aCA9PT0gMSAmJlxyXG4gICAgICAgICAgICAgIGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKCdab25lJylcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxheWVycy5pbmRleE9mKGxheWVyKTtcclxuICAgICAgICAgICAgICB0aGlzLmxheWVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGxheWVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2ZUxheWVycyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgdGhpcy5sYXllcnMpIHtcclxuICAgICAgICBpZiAobGF5ZXIudGl0bGU/LnN0YXJ0c1dpdGgoJ1pvbmUnKSkge1xyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRlZmF1bHRTdHlsZSA9IChfZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gKGZlYXR1cmVzWzBdIGFzIGFueSkuY29vcmRpbmF0ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICByYWRpdXM6IGNvb3JkaW5hdGVzXHJcbiAgICAgICAgICAgICAgPyB0aGlzLmJ1ZmZlciAvXHJcbiAgICAgICAgICAgICAgICBNYXRoLmNvcygoTWF0aC5QSSAvIDE4MCkgKiBjb29yZGluYXRlc1sxXSkgL1xyXG4gICAgICAgICAgICAgICAgcmVzb2x1dGlvblxyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwLCAwLjIpJ1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICAgIGNvbG9yOiAnb3JhbmdlJ1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICBjb2xvcjogJ29yYW5nZSdcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyMDAsIDIwMCwgMjAsIDAuMiknXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBEYXRhU291cmNlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvbExheWVyID0gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlTGF5ZXIoe1xyXG4gICAgICAgICAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiAoJ1pvbmUgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgd29ya3NwYWNlOiB7IGVuYWJsZWQ6IHRydWUgfSxcclxuICAgICAgICAgICAgX2ludGVybmFsOiB7XHJcbiAgICAgICAgICAgICAgY29kZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICA/IGZlYXR1cmUucHJvcGVydGllcy5jb2RlXHJcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZVxyXG4gICAgICAgICAgfSkgYXMgVmVjdG9yTGF5ZXI7XHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlc09sID0gZmVhdHVyZXMubWFwKChmKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmZWF0dXJlVG9PbChmLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHRoaXMudHlwZSAhPT0gU3BhdGlhbEZpbHRlclR5cGUuUHJlZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCB0eXBlID1cclxuICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFNwYXRpYWxGaWx0ZXJUeXBlLlBvaW50ID8gJ0NlcmNsZScgOiAnUG9seWdvbmUnO1xyXG4gICAgICAgICAgICBmZWF0dXJlc09sWzBdLnNldCgnbm9tJywgJ1pvbmUnLCB0cnVlKTtcclxuICAgICAgICAgICAgZmVhdHVyZXNPbFswXS5zZXQoJ3R5cGUnLCB0eXBlLCB0cnVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IG9sID0gZGF0YVNvdXJjZS5vbCBhc1xyXG4gICAgICAgICAgICB8IG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+XHJcbiAgICAgICAgICAgIHwgb2xTb3VyY2VDbHVzdGVyO1xyXG4gICAgICAgICAgb2wuYWRkRmVhdHVyZXMoZmVhdHVyZXNPbCk7XHJcbiAgICAgICAgICBvbExheWVyLm9sLnNldFN0eWxlKHRoaXMuZGVmYXVsdFN0eWxlKTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlTGF5ZXJzLnB1c2gob2xMYXllcik7XHJcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBhZGQgcG9pbnQgZmVhdHVyZXMgdG8gdGhlIG1hcFxyXG4gICAqIE5lY2Vzc2FyeSB0byBjcmVhdGUgY2x1c3RlcnNcclxuICAgKi9cclxuICBwcml2YXRlIHRyeUFkZFBvaW50VG9NYXAoZmVhdHVyZXM6IEZlYXR1cmVbXSwgaWQpIHtcclxuICAgIGxldCBpID0gMTtcclxuICAgIGlmIChmZWF0dXJlcy5sZW5ndGgpIHtcclxuICAgICAgaWYgKHRoaXMubWFwID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLmxheWVycykge1xyXG4gICAgICAgIGlmIChsYXllci50aXRsZT8uc3RhcnRzV2l0aChmZWF0dXJlc1swXS5tZXRhLnRpdGxlKSkge1xyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAnY2x1c3RlcicsXHJcbiAgICAgICAgICBpZCxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZSxcclxuICAgICAgICAgIGRpc3RhbmNlOiAxMjAsXHJcbiAgICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2x1c3RlcidcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YVNvdXJjZTogQ2x1c3RlckRhdGFTb3VyY2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGljb24gPSBmZWF0dXJlc1swXS5tZXRhLmljb247XHJcbiAgICAgICAgICBsZXQgc3R5bGU6IG9sc3R5bGUuU3R5bGU7XHJcbiAgICAgICAgICBpZiAoIWljb24pIHtcclxuICAgICAgICAgICAgc3R5bGUgPSBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdmdJY29uKGljb24pIHx8IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IG9sTGF5ZXIgPSB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVMYXllcih7XHJcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIHNvdXJjZTogZGF0YVNvdXJjZSxcclxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgc3R5bGVcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzT2wgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZlYXR1cmVUb09sKGZlYXR1cmUsIHRoaXMubWFwLnByb2plY3Rpb24pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBvbCA9IGRhdGFTb3VyY2Uub2wgYXMgb2xTb3VyY2VDbHVzdGVyO1xyXG4gICAgICAgICAgb2wuZ2V0U291cmNlKCkuYWRkRmVhdHVyZXMoZmVhdHVyZXNPbCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5sYXllcnMuZmluZCgobGF5ZXIpID0+IGxheWVyLmlkID09PSBvbExheWVyLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihcclxuICAgICAgICAgICAgICB0aGlzLmxheWVycy5maW5kKChsYXllcikgPT4gbGF5ZXIuaWQgPT09IG9sTGF5ZXIuaWQpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGkgPSBpIC0gMTtcclxuICAgICAgICAgICAgb2xMYXllci50aXRsZSA9IChmZWF0dXJlc1swXS5tZXRhLnRpdGxlICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGkgK1xyXG4gICAgICAgICAgICAgICcgLSAnICtcclxuICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuc3BhdGlhbEZpbHRlcidcclxuICAgICAgICAgICAgICApKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIG9sTGF5ZXIub3B0aW9ucy50aXRsZSA9IG9sTGF5ZXIudGl0bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLml0ZXJhdG9yID0gaTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMucHVzaExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN2Z0ljb24oaWNvbik6IG9sc3R5bGUuU3R5bGUge1xyXG4gICAgbGV0IHN0eWxlOiBvbHN0eWxlLlN0eWxlO1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuZ2V0TmFtZWRTdmdJY29uKGljb24pLnN1YnNjcmliZSgoc3ZnT2JqKSA9PiB7XHJcbiAgICAgIGNvbnN0IHhtbFNlcmlhbGl6ZXIgPSBuZXcgWE1MU2VyaWFsaXplcigpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCd3aWR0aCcsICczMCcpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnMzAnKTtcclxuICAgICAgc3ZnT2JqLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdyZ2JhKDAsIDEyOCwgMjU1KScpO1xyXG4gICAgICBzdmdPYmouc2V0QXR0cmlidXRlKCdzdHJva2UnLCAnd2hpdGUnKTtcclxuICAgICAgY29uc3Qgc3ZnID0geG1sU2VyaWFsaXplci5zZXJpYWxpemVUb1N0cmluZyhzdmdPYmopO1xyXG4gICAgICBzdHlsZSA9IG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgICBpbWFnZTogbmV3IG9sc3R5bGUuSWNvbih7XHJcbiAgICAgICAgICBzcmM6ICdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwnICsgc3ZnXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGFkZCBsaW5lIG9yIHBvbHlnb24gZmVhdHVyZXMgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJ5QWRkTGF5ZXJUb01hcChmZWF0dXJlczogRmVhdHVyZVtdLCBpZCkge1xyXG4gICAgbGV0IGkgPSAxO1xyXG4gICAgaWYgKGZlYXR1cmVzLmxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XHJcbiAgICAgICAgaWYgKGxheWVyLnRpdGxlPy5zdGFydHNXaXRoKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUpKSB7XHJcbiAgICAgICAgICBpKys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZVNlcnZpY2VcclxuICAgICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKHtcclxuICAgICAgICAgIHR5cGU6ICd2ZWN0b3InLFxyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWVcclxuICAgICAgICB9IGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgb2xMYXllciA9IHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUxheWVyKHtcclxuICAgICAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgc291cmNlOiBkYXRhU291cmNlLFxyXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzT2wgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZlYXR1cmVUb09sKGZlYXR1cmUsIHRoaXMubWFwLnByb2plY3Rpb24pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBvbCA9IGRhdGFTb3VyY2Uub2wgYXMgb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT47XHJcbiAgICAgICAgICBvbC5hZGRGZWF0dXJlcyhmZWF0dXJlc09sKTtcclxuICAgICAgICAgIGlmICh0aGlzLmxheWVycy5maW5kKChsYXllcikgPT4gbGF5ZXIuaWQgPT09IG9sTGF5ZXIuaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKFxyXG4gICAgICAgICAgICAgIHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyKSA9PiBsYXllci5pZCA9PT0gb2xMYXllci5pZClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaSA9IGkgLSAxO1xyXG4gICAgICAgICAgICBvbExheWVyLnRpdGxlID0gKGZlYXR1cmVzWzBdLm1ldGEudGl0bGUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgaSArXHJcbiAgICAgICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5zcGF0aWFsRmlsdGVyJ1xyXG4gICAgICAgICAgICAgICkpIGFzIHN0cmluZztcclxuICAgICAgICAgICAgb2xMYXllci5vcHRpb25zLnRpdGxlID0gb2xMYXllci50aXRsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubWFwLmFkZExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5sYXllcnMucHVzaChvbExheWVyKTtcclxuICAgICAgICAgIHRoaXMucHVzaExheWVyKG9sTGF5ZXIpO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tVG9GZWF0dXJlRXh0ZW50KGZlYXR1cmUpIHtcclxuICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKGZlYXR1cmUsIHtcclxuICAgICAgICBkYXRhUHJvamVjdGlvbjogZmVhdHVyZS5wcm9qZWN0aW9uLFxyXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgICBtb3ZlVG9PbEZlYXR1cmVzKFxyXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxyXG4gICAgICAgIFtvbEZlYXR1cmVdLFxyXG4gICAgICAgIEZlYXR1cmVNb3Rpb24uWm9vbVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVzaExheWVyKGxheWVyKSB7XHJcbiAgICBmb3IgKGNvbnN0IGxheSBvZiB0aGlzLmFjdGl2ZUxheWVycykge1xyXG4gICAgICBpZiAobGF5LmlkID09PSBsYXllci5pZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aXZlTGF5ZXJzLnB1c2gobGF5ZXIpO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLXBhbmVsPlxuICA8aWdvLXNwYXRpYWwtZmlsdGVyLXR5cGVcbiAgICBbc3RvcmVdPVwic3BhdGlhbExpc3RTdG9yZVwiXG4gICAgW3NlbGVjdGVkUXVlcnlUeXBlXT1cInF1ZXJ5VHlwZVwiXG4gICAgW3pvbmVdPVwiem9uZVwiXG4gICAgW2xheWVyc109XCJhY3RpdmVMYXllcnNcIlxuICAgIChldmVudFR5cGUpPVwiZ2V0T3V0cHV0VHlwZSgkZXZlbnQpXCJcbiAgICAoZXZlbnRRdWVyeVR5cGUpPVwiZ2V0T3V0cHV0UXVlcnlUeXBlKCRldmVudClcIlxuICAgICh6b25lQ2hhbmdlKT1cIm9uWm9uZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAoem9uZVdpdGhCdWZmZXJDaGFuZ2UpPVwib25ab25lQ2hhbmdlKCRldmVudCwgdHJ1ZSlcIlxuICAgIChidWZmZXJDaGFuZ2UpPVwiYnVmZmVyID0gJGV2ZW50XCJcbiAgICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxuICA+XG4gIDwvaWdvLXNwYXRpYWwtZmlsdGVyLXR5cGU+XG5cbiAgPGlnby1zcGF0aWFsLWZpbHRlci1pdGVtXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW3F1ZXJ5VHlwZV09XCJxdWVyeVR5cGVcIlxuICAgIFttYXBdPVwibWFwXCJcbiAgICBbem9uZV09XCJ6b25lXCJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbc3RvcmVdPVwic3RvcmVcIlxuICAgIFtsYXllcnNdPVwiYWN0aXZlTGF5ZXJzXCJcbiAgICBbYWxsTGF5ZXJzXT1cImxheWVyc1wiXG4gICAgW3RoZW1hdGljTGVuZ3RoXT1cInRoZW1hdGljTGVuZ3RoXCJcbiAgICAocmFkaXVzRXZlbnQpPVwiYnVmZmVyID0gJGV2ZW50XCJcbiAgICAoYnVmZmVyRXZlbnQpPVwiYnVmZmVyID0gJGV2ZW50XCJcbiAgICAobWVhc3VyZVVuaXRDaGFuZ2UpPVwibWVhc3VyZVVuaXQgPSAkZXZlbnRcIlxuICAgIChmcmVlaGFuZENvbnRyb2wpPVwiZnJlZWhhbmREcmF3SXNBY3RpdmUgPSAkZXZlbnRcIlxuICAgIChkcmF3Wm9uZUV2ZW50KT1cInpvbmUgPSAkZXZlbnRcIlxuICAgICh6b25lV2l0aEJ1ZmZlckNoYW5nZSk9XCJvblpvbmVDaGFuZ2UoJGV2ZW50LCB0cnVlKVwiXG4gICAgKGl0ZW1UeXBlQ2hhbmdlKT1cIml0ZW1UeXBlID0gJGV2ZW50XCJcbiAgICAodGhlbWF0aWNDaGFuZ2UpPVwidGhlbWF0aWNzID0gJGV2ZW50XCJcbiAgICAodG9nZ2xlU2VhcmNoKT1cImdldE91dHB1dFRvZ2dsZVNlYXJjaCgpXCJcbiAgICAoY2xlYXJCdXR0b25FdmVudCk9XCJjbGVhck1hcCgpXCJcbiAgICAoY2xlYXJTZWFyY2hFdmVudCk9XCJnZXRPdXRwdXRDbGVhclNlYXJjaCgpXCJcbiAgICAoZXhwb3J0KT1cImFjdGl2YXRlRXhwb3J0VG9vbCgpXCJcbiAgICAob3BlbldvcmtzcGFjZSk9XCJhY3RpdmF0ZVdvcmtzcGFjZSgpXCJcbiAgICAoZW50aXR5Q2hhbmdlKT1cImFjdGl2YXRlV29ya3NwYWNlKCRldmVudClcIlxuICA+XG4gIDwvaWdvLXNwYXRpYWwtZmlsdGVyLWl0ZW0+XG48L2lnby1wYW5lbD5cblxuPGlnby1wYW5lbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRmVhdHVyZSQgfCBhc3luYyBhcyBmZWF0dXJlXCI+XG4gICAgPGlnby1mZWF0dXJlLWRldGFpbHMgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiPjwvaWdvLWZlYXR1cmUtZGV0YWlscz5cbiAgPC9uZy1jb250YWluZXI+XG48L2lnby1wYW5lbD5cbiJdfQ==