@igo2/geo 16.0.0-rc.8 → 16.0.1

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 (140) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
  2. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  3. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  4. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  5. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
  6. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  7. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  8. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  9. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  10. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  11. package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
  12. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
  13. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  14. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +2 -2
  15. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  16. package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
  17. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  18. package/esm2022/lib/draw/draw/draw-popup.component.mjs +2 -2
  19. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  20. package/esm2022/lib/draw/draw/draw.component.mjs +2 -2
  21. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  22. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +2 -2
  23. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +2 -2
  24. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  25. package/esm2022/lib/feature/shared/index.mjs +1 -1
  26. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  27. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  28. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  29. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  30. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  31. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  32. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  33. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  34. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  35. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  36. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +1 -1
  37. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  38. package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
  39. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +2 -2
  40. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
  41. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  42. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  43. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  44. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  45. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  46. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +2 -2
  47. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  48. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  49. package/esm2022/lib/import-export/export-button/export-button.component.mjs +2 -2
  50. package/esm2022/lib/import-export/import-export/import-export.component.mjs +2 -2
  51. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  52. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  53. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +2 -2
  54. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
  55. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  56. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  57. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +2 -2
  58. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  59. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  60. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  61. package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
  62. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  63. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  64. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  65. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  66. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  67. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  68. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +2 -2
  69. package/esm2022/lib/map/info-section/info-section.component.mjs +2 -2
  70. package/esm2022/lib/map/map-center/map-center.component.mjs +2 -2
  71. package/esm2022/lib/map/menu-button/menu-button.component.mjs +2 -2
  72. package/esm2022/lib/map/offline-button/offline-button.component.mjs +2 -2
  73. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  74. package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
  75. package/esm2022/lib/map/shared/index.mjs +1 -1
  76. package/esm2022/lib/map/shared/map.interface.mjs +1 -1
  77. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  78. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  79. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
  80. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  81. package/esm2022/lib/measure/measure.module.mjs +1 -1
  82. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  83. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +2 -2
  84. package/esm2022/lib/measure/measurer/measurer.component.mjs +2 -2
  85. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  86. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  87. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +2 -2
  88. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  89. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  90. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  91. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  92. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  93. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  94. package/esm2022/lib/print/print/print.component.mjs +2 -2
  95. package/esm2022/lib/print/print-form/print-form.component.mjs +2 -2
  96. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  97. package/esm2022/lib/print/shared/print.service.mjs +4 -2
  98. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  99. package/esm2022/lib/search/search-bar/search-bar.component.mjs +2 -2
  100. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +2 -2
  101. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +2 -2
  102. package/esm2022/lib/search/search-results/search-results-item.component.mjs +2 -2
  103. package/esm2022/lib/search/search-results/search-results.component.mjs +2 -2
  104. package/esm2022/lib/search/search-selector/search-selector.component.mjs +2 -2
  105. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  106. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  107. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  108. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  109. package/esm2022/lib/style/index.mjs +1 -1
  110. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  111. package/esm2022/lib/style/shared/index.mjs +1 -1
  112. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
  113. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  114. package/esm2022/lib/toast/toast.component.mjs +2 -2
  115. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  116. package/esm2022/lib/utils/index.mjs +1 -1
  117. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  118. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  119. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  120. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  121. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  122. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  123. package/fesm2022/igo2-geo.mjs +70 -68
  124. package/fesm2022/igo2-geo.mjs.map +1 -1
  125. package/lib/directions/directions-results/directions-results.theming.scss +10 -10
  126. package/lib/directions/directions.theming.scss +6 -6
  127. package/lib/draw/draw.theming.scss +32 -32
  128. package/lib/feature/feature-details/feature-details.theming.scss +16 -16
  129. package/lib/feature/feature.theming.scss +4 -4
  130. package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
  131. package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
  132. package/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
  133. package/lib/map/map-browser/map-browser.theming.scss +46 -46
  134. package/lib/map/map.theming.scss +9 -9
  135. package/lib/map/zoom-button/zoom-button.theming.scss +32 -32
  136. package/lib/measure/measure.theming.scss +5 -5
  137. package/lib/measure/measurer/measurer.theming.scss +26 -26
  138. package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  139. package/lib/workspace/workspace.theming.scss +6 -6
  140. package/package.json +4 -4
@@ -263,7 +263,7 @@ export class CatalogBrowserComponent {
263
263
  }
264
264
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserComponent, [{
265
265
  type: Component,
266
- args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"store.count === 1 ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n" }]
266
+ args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <igo-catalog-browser-group\r\n [catalog]=\"catalog\"\r\n [group]=\"item\"\r\n [map]=\"map\"\r\n [state]=\"store.state\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [collapsed]=\"store.count === 1 ? false : true\"\r\n [toggleCollapsed]=\"toggleCollapsedGroup\"\r\n (addedChange)=\"onGroupAddedChange($event)\"\r\n (layerAddedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-group>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"item\"\r\n [map]=\"map\"\r\n [resolution]=\"resolution$ | async\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"store.state.get(item).added\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</igo-list>\r\n" }]
267
267
  }], function () { return [{ type: i1.LayerService }, { type: i0.ChangeDetectorRef }]; }, { catalogAllowLegend: [{
268
268
  type: Input
269
269
  }], catalog: [{
@@ -275,4 +275,4 @@ export class CatalogBrowserComponent {
275
275
  }], toggleCollapsedGroup: [{
276
276
  type: Input
277
277
  }] }); })();
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDOzs7OztJQ3ZCZiw2QkFBb0M7SUFDbEMsb0RBV0M7SUFGQyxpT0FBZSxlQUFBLGlDQUEwQixDQUFBLElBQUMsOE5BQ3RCLGVBQUEsaUNBQTBCLENBQUEsSUFESjs7SUFHNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBWlgsZUFBbUI7SUFBbkIsd0NBQW1CLGtCQUFBLG1CQUFBLDZCQUFBLHdEQUFBLGlEQUFBLHNEQUFBLGdEQUFBOzs7O0lBY3ZCLDZCQUFvQztJQUNsQyxvREFRQztJQURDLGlPQUFlLGVBQUEsaUNBQTBCLENBQUEsSUFBQzs7SUFFNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBUlgsZUFBYztJQUFkLCtCQUFjLG1C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QW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7aUZBcE9VLHVCQUF1Qjs2REFBdkIsdUJBQXVCO1lDbkNwQyxtQ0FBbUQ7WUFDakQsd0ZBNkJjOztZQUNoQixpQkFBVzs7WUEvQkQsa0NBQW9CLG9CQUFBO1lBQ0EsZUFBcUM7WUFBckMscUVBQXFDOzs7dUZEa0N0RCx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTsrRkFjdEMsa0JBQWtCO2tCQUExQixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBBZGRlZENoYW5nZUVtaXR0ZXIsXHJcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gIENhdGFsb2dJdGVtTGF5ZXIsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSBvbiBhIG1hcC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3NlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgaXRlbXMgc3RvcmUgd2F0Y2hlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPENhdGFsb2dJdGVtPjtcclxuXHJcbiAgLy8gcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHJlc29sdXRpb24kKCk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNhdGFsb2dBbGxvd0xlZ2VuZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgY2F0YWxvZydzIGl0ZW1zXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGxheWVyLm9wdGlvbnMuc291cmNlLmlkLFxyXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcclxuICAgICAgICB0eXBlOiBDYXRhbG9nSXRlbVR5cGUuTGF5ZXJcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGN1cnJlbnRJdGVtcywgeyBhZGRlZDogdHJ1ZSB9LCB0cnVlKTtcclxuICAgIGlmICh0aGlzLmNhdGFsb2cgJiYgdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbixcclxuICAgICAgICB2YWx1ZUFjY2Vzc29yOiAoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0udGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQgPSBjYXRhbG9nU2hvd0xlZ2VuZFxyXG4gICAgICA/IGNhdGFsb2dTaG93TGVnZW5kXHJcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XHJcblxyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5Hcm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzTGF5ZXIoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBldmVudCBMYXllciBhZGRlZCBldmVudFxyXG4gICAqL1xyXG4gIG9uTGF5ZXJBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRMYXllclRvTWFwKGxheWVyLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgZnJvdXAgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgYWRkIG9yIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcclxuICAgKi9cclxuICBvbkdyb3VwQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoZ3JvdXAsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUdyb3VwRnJvbU1hcChncm91cCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGF5ZXIgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyVG9NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIsIGV2ZW50PzogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBsYXllciBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllciBDYXRhbG9nIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpIHtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXHJcbiAgICBsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSxcclxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIgfCBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxyXG4gICkge1xyXG4gICAgY29uc3QgbGF5ZXJzJCA9IGxheWVycy5tYXAoKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIGlmICghbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpKSB7XHJcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jYXRhbG9nLnByb2ZpbHM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc2VjdXJpdHkgPSB7IHByb2ZpbHM6IHRoaXMuY2F0YWxvZy5wcm9maWxzIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXIub3B0aW9ucyk7XHJcbiAgICB9KTtcclxuICAgIHppcCguLi5sYXllcnMkKS5zdWJzY3JpYmUoKGxheWVyczogTGF5ZXJbXSkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQuZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5hZGRlZCkge1xyXG4gICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChsYXllcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShsYXllcnMsIHsgYWRkZWQ6IHRydWUgfSk7XHJcbiAgICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbXVsdGlwbGUgbGF5ZXJzIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSkge1xyXG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGxheWVyLCB7IGFkZGVkOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKGxheWVyLm9wdGlvbnMuYmFzZUxheWVyID09PSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLm9wdGlvbnMuaWQpO1xyXG4gICAgICAgIGlmIChjdXJyTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoY3VyckxheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLmlkKTtcclxuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGN1cnJMYXllcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIGxheWVycyBieSB0aXRsZS4gYXNjIG9yIGRlc2MuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzb3J0Q2F0YWxvZ0l0ZW1zQnlUaXRsZShpdGVtczogQ2F0YWxvZ0l0ZW1bXSwgZGlyZWN0aW9uKSB7XHJcbiAgICBjb25zdCByZXR1cm5JdGVtID0gaXRlbXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCB0aXRsZUEgPSBhLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICBjb25zdCB0aXRsZUIgPSBiLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG5cclxuICAgICAgaWYgKHRpdGxlQSA8IHRpdGxlQikge1xyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGl0bGVBID4gdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ2FzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW07XHJcbiAgICAgIGNhc2UgJ2Rlc2MnOlxyXG4gICAgICAgIHJldHVybiByZXR1cm5JdGVtLnJldmVyc2UoKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCB0byBtYXBcclxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkR3JvdXBUb01hcChcclxuICAgIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXHJcbiAgKSB7XHJcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKGxheWVycy5yZXZlcnNlKCkgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVHcm91cEZyb21NYXAoZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXApIHtcclxuICAgIGNvbnN0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXllcihpdGVtKSAmJiBhZGRlZCA9PT0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKGxheWVycyBhcyBDYXRhbG9nSXRlbUxheWVyW10pO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIiBbc2VsZWN0aW9uXT1cImZhbHNlXCI+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwXG4gICAgICAgIFtjYXRhbG9nXT1cImNhdGFsb2dcIlxuICAgICAgICBbZ3JvdXBdPVwiaXRlbVwiXG4gICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgW3N0YXRlXT1cInN0b3JlLnN0YXRlXCJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICAgICAgW2NvbGxhcHNlZF09XCJzdG9yZS5jb3VudCA9PT0gMSA/IGZhbHNlIDogdHJ1ZVwiXG4gICAgICAgIFt0b2dnbGVDb2xsYXBzZWRdPVwidG9nZ2xlQ29sbGFwc2VkR3JvdXBcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25Hcm91cEFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobGF5ZXJBZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXllcihpdGVtKVwiPlxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXJcbiAgICAgICAgaWdvTGlzdEl0ZW1cbiAgICAgICAgW2xheWVyXT1cIml0ZW1cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXG4gICAgICAgIFthZGRlZF09XCJzdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWRcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWxheWVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9pZ28tbGlzdD5cbiJdfQ==
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDOzs7OztJQ3ZCZiw2QkFBb0M7SUFDbEMsb0RBV0M7SUFGQyxpT0FBZSxlQUFBLGlDQUEwQixDQUFBLElBQUMsOE5BQ3RCLGVBQUEsaUNBQTBCLENBQUEsSUFESjs7SUFHNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBWlgsZUFBbUI7SUFBbkIsd0NBQW1CLGtCQUFBLG1CQUFBLDZCQUFBLHdEQUFBLGlEQUFBLHNEQUFBLGdEQUFBOzs7O0lBY3ZCLDZCQUFvQztJQUNsQyxvREFRQztJQURDLGlPQUFlLGVBQUEsaUNBQTBCLENBQUEsSUFBQzs7SUFFNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBUlgsZUFBYztJQUFkLCtCQUFjLG1C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QW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7aUZBcE9VLHVCQUF1Qjs2REFBdkIsdUJBQXVCO1lDbkNwQyxtQ0FBbUQ7WUFDakQsd0ZBNkJjOztZQUNoQixpQkFBVzs7WUEvQkQsa0NBQW9CLG9CQUFBO1lBQ0EsZUFBcUM7WUFBckMscUVBQXFDOzs7dUZEa0N0RCx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTsrRkFjdEMsa0JBQWtCO2tCQUExQixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBBZGRlZENoYW5nZUVtaXR0ZXIsXHJcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gIENhdGFsb2dJdGVtTGF5ZXIsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSBvbiBhIG1hcC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3NlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgaXRlbXMgc3RvcmUgd2F0Y2hlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPENhdGFsb2dJdGVtPjtcclxuXHJcbiAgLy8gcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHJlc29sdXRpb24kKCk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNhdGFsb2dBbGxvd0xlZ2VuZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgY2F0YWxvZydzIGl0ZW1zXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGxheWVyLm9wdGlvbnMuc291cmNlLmlkLFxyXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcclxuICAgICAgICB0eXBlOiBDYXRhbG9nSXRlbVR5cGUuTGF5ZXJcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGN1cnJlbnRJdGVtcywgeyBhZGRlZDogdHJ1ZSB9LCB0cnVlKTtcclxuICAgIGlmICh0aGlzLmNhdGFsb2cgJiYgdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbixcclxuICAgICAgICB2YWx1ZUFjY2Vzc29yOiAoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0udGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQgPSBjYXRhbG9nU2hvd0xlZ2VuZFxyXG4gICAgICA/IGNhdGFsb2dTaG93TGVnZW5kXHJcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XHJcblxyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5Hcm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzTGF5ZXIoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBldmVudCBMYXllciBhZGRlZCBldmVudFxyXG4gICAqL1xyXG4gIG9uTGF5ZXJBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRMYXllclRvTWFwKGxheWVyLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgZnJvdXAgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgYWRkIG9yIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcclxuICAgKi9cclxuICBvbkdyb3VwQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoZ3JvdXAsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUdyb3VwRnJvbU1hcChncm91cCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGF5ZXIgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyVG9NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIsIGV2ZW50PzogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBsYXllciBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllciBDYXRhbG9nIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpIHtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXHJcbiAgICBsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSxcclxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIgfCBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxyXG4gICkge1xyXG4gICAgY29uc3QgbGF5ZXJzJCA9IGxheWVycy5tYXAoKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIGlmICghbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpKSB7XHJcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jYXRhbG9nLnByb2ZpbHM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc2VjdXJpdHkgPSB7IHByb2ZpbHM6IHRoaXMuY2F0YWxvZy5wcm9maWxzIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXIub3B0aW9ucyk7XHJcbiAgICB9KTtcclxuICAgIHppcCguLi5sYXllcnMkKS5zdWJzY3JpYmUoKGxheWVyczogTGF5ZXJbXSkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQuZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5hZGRlZCkge1xyXG4gICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChsYXllcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShsYXllcnMsIHsgYWRkZWQ6IHRydWUgfSk7XHJcbiAgICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbXVsdGlwbGUgbGF5ZXJzIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSkge1xyXG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGxheWVyLCB7IGFkZGVkOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKGxheWVyLm9wdGlvbnMuYmFzZUxheWVyID09PSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLm9wdGlvbnMuaWQpO1xyXG4gICAgICAgIGlmIChjdXJyTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoY3VyckxheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLmlkKTtcclxuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGN1cnJMYXllcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIGxheWVycyBieSB0aXRsZS4gYXNjIG9yIGRlc2MuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzb3J0Q2F0YWxvZ0l0ZW1zQnlUaXRsZShpdGVtczogQ2F0YWxvZ0l0ZW1bXSwgZGlyZWN0aW9uKSB7XHJcbiAgICBjb25zdCByZXR1cm5JdGVtID0gaXRlbXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCB0aXRsZUEgPSBhLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICBjb25zdCB0aXRsZUIgPSBiLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG5cclxuICAgICAgaWYgKHRpdGxlQSA8IHRpdGxlQikge1xyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGl0bGVBID4gdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ2FzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW07XHJcbiAgICAgIGNhc2UgJ2Rlc2MnOlxyXG4gICAgICAgIHJldHVybiByZXR1cm5JdGVtLnJldmVyc2UoKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCB0byBtYXBcclxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkR3JvdXBUb01hcChcclxuICAgIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXHJcbiAgKSB7XHJcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKGxheWVycy5yZXZlcnNlKCkgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVHcm91cEZyb21NYXAoZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXApIHtcclxuICAgIGNvbnN0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXllcihpdGVtKSAmJiBhZGRlZCA9PT0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKGxheWVycyBhcyBDYXRhbG9nSXRlbUxheWVyW10pO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIiBbc2VsZWN0aW9uXT1cImZhbHNlXCI+XHJcbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0dyb3VwKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwXHJcbiAgICAgICAgW2NhdGFsb2ddPVwiY2F0YWxvZ1wiXHJcbiAgICAgICAgW2dyb3VwXT1cIml0ZW1cIlxyXG4gICAgICAgIFttYXBdPVwibWFwXCJcclxuICAgICAgICBbc3RhdGVdPVwic3RvcmUuc3RhdGVcIlxyXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxyXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcclxuICAgICAgICBbY29sbGFwc2VkXT1cInN0b3JlLmNvdW50ID09PSAxID8gZmFsc2UgOiB0cnVlXCJcclxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25Hcm91cEFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChsYXllckFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXllcihpdGVtKVwiPlxyXG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllclxyXG4gICAgICAgIGlnb0xpc3RJdGVtXHJcbiAgICAgICAgW2xheWVyXT1cIml0ZW1cIlxyXG4gICAgICAgIFttYXBdPVwibWFwXCJcclxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcclxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXHJcbiAgICAgICAgW2FkZGVkXT1cInN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZFwiXHJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lnby1saXN0PlxyXG4iXX0=
@@ -213,11 +213,11 @@ export class AddCatalogDialogComponent {
213
213
  }
214
214
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCatalogDialogComponent, [{
215
215
  type: Component,
216
- args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\n matInput\n [matAutocomplete]=\"auto2\"\n />\n <mat-autocomplete\n #auto2=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.title }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"url\"\n placeholder=\"URL\"\n matInput\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.url }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select formControlName=\"type\" placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\"\n >\n <p matListItemTitle>{{ type }}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant(\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\n { value: addedCatalog.url, email: emailAddress }\n )\n }}\n </p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant('igo.geo.catalog.unavailable', {\n value: addedCatalog.url\n })\n }}\n </p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n {{ 'igo.geo.catalog.library.cancel' | translate }}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\"\n >\n {{ 'igo.geo.catalog.library.add' | translate }}\n </button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
216
+ args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">\r\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\r\n</h1>\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"title\"\r\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\r\n matInput\r\n [matAutocomplete]=\"auto2\"\r\n />\r\n <mat-autocomplete\r\n #auto2=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.title\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.title }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n formControlName=\"url\"\r\n placeholder=\"URL\"\r\n matInput\r\n [matAutocomplete]=\"auto\"\r\n />\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\r\n >\r\n <mat-option\r\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"predefinedCatalog.url\"\r\n [value]=\"predefinedCatalog\"\r\n >\r\n {{ predefinedCatalog.url }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"type\" placeholder=\"Type\">\r\n <mat-option\r\n *ngFor=\"let type of typeCapabilities\"\r\n [value]=\"type\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <p matListItemTitle>{{ type }}</p>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n <span *ngIf=\"error && addedCatalog && emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant(\r\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\r\n { value: addedCatalog.url, email: emailAddress }\r\n )\r\n }}\r\n </p>\r\n </span>\r\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\r\n <p class=\"error\">\r\n {{\r\n languageService.translate.instant('igo.geo.catalog.unavailable', {\r\n value: addedCatalog.url\r\n })\r\n }}\r\n </p>\r\n </span>\r\n</div>\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n {{ 'igo.geo.catalog.library.cancel' | translate }}\r\n </button>\r\n <button\r\n id=\"addCatalogBtnDialog\"\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"primary\"\r\n [disabled]=\"!form.valid\"\r\n (click)=\"addCatalog(form.value)\"\r\n >\r\n {{ 'igo.geo.catalog.library.add' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
217
217
  }], function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.LanguageService }, { type: i2.ConfigService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
218
218
  type: Optional
219
219
  }, {
220
220
  type: Inject,
221
221
  args: [MAT_DIALOG_DATA]
222
222
  }] }]; }, null); })();
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNLMUMsc0NBS0M7SUFDQyxZQUNGO0lBQUEsaUJBQWE7OztJQUpYLHVEQUFzQywrQkFBQTtJQUd0QyxlQUNGO0lBREUsMkRBQ0Y7OztJQWlCQSxzQ0FLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgscURBQW9DLCtCQUFBO0lBR3BDLGVBQ0Y7SUFERSx5REFDRjs7O0lBT0Esc0NBSUM7SUFEQyw4SEFBUyx3QkFBd0IsSUFBQztJQUVsQyw2QkFBb0I7SUFBQSxZQUFVO0lBQUEsaUJBQUksRUFBQTs7O0lBSGxDLCtCQUFjO0lBR00sZUFBVTtJQUFWLDZCQUFVOzs7O0lBTXhDLDRCQUFv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QUFDO1lBRXhELDBGQU9hOztZQUNmLGlCQUFtQixFQUFBLEVBQUE7WUFHdkIsK0JBQWlDLHNCQUFBO1lBRTdCLDRCQU1FO1lBQ0YsK0NBR0M7WUFEQyx5SUFBa0IseUNBQXFDLElBQUM7WUFFeEQsMEZBT2E7O1lBQ2YsaUJBQW1CLEVBQUEsRUFBQTtZQUd2QiwrQkFBaUMsc0JBQUEsc0JBQUE7WUFHM0IsMkZBTWE7WUFDZixpQkFBYSxFQUFBLEVBQUEsRUFBQTtZQUluQiwrRUFTTztZQUNQLCtFQVFPO1lBQ1QsaUJBQU07WUFDTixnQ0FBd0QsZUFBQSxrQkFBQTtZQUVaLHVHQUFTLFlBQVEsSUFBQztZQUN4RCxhQUNGOztZQUFBLGlCQUFTO1lBQ1QsbUNBT0M7WUFEQyx1R0FBUyw4QkFBc0IsSUFBQztZQUVoQyxhQUNGOztZQUFBLGlCQUFTLEVBQUEsRUFBQTs7OztZQXBHWCxlQUNGO1lBREUsMkZBQ0Y7WUFFeUIsZUFBa0I7WUFBbEIsb0NBQWtCO1lBTWpDLGVBQXlEO1lBQXpELHlGQUF5RDtZQUV6RCxxQ0FBeUI7WUFPTyxlQUFrQztZQUFsQyw2RUFBa0M7WUFpQmxFLGVBQXdCO1lBQXhCLHFDQUF3QjtZQU9RLGVBQWtDO1lBQWxDLDZFQUFrQztZQWMvQyxlQUFtQjtZQUFuQiw4Q0FBbUI7WUFVdkMsZUFBMkM7WUFBM0Msd0VBQTJDO1lBVTNDLGVBQTRDO1lBQTVDLHlFQUE0QztZQWEvQyxlQUNGO1lBREUseUZBQ0Y7WUFNRSxlQUF3QjtZQUF4QiwwQ0FBd0I7WUFHeEIsZUFDRjtZQURFLHNGQUNGOzs7dUZEaEZTLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3Qjs7c0JBc0IvQixRQUFROztzQkFDUixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUeXBlQ2FwYWJpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hZGQtY2F0YWxvZy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUgPSAnd21zJztcclxuICBwcml2YXRlIGFkZGVkQ2F0YWxvZ1R5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0YWxvZ1tdPihbXSk7XHJcbiAgdHlwZUNhcGFiaWxpdGllczogc3RyaW5nW107XHJcbiAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgZXJyb3IgPSBmYWxzZTtcclxuICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdG9yZVZpZXdBbGwkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiB7XHJcbiAgICAgIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdO1xyXG4gICAgICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgICAgIGVycm9yOiBib29sZWFuO1xyXG4gICAgICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgICB9XHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0b3JlID0gZGF0YS5zdG9yZTtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gZGF0YS5wcmVkZWZpbmVkQ2F0YWxvZ3M7XHJcbiAgICB0aGlzLmVycm9yID0gZGF0YS5lcnJvcjtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nID0gZGF0YS5hZGRlZENhdGFsb2c7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgaWQ6IFsnJywgW11dLFxyXG4gICAgICB0aXRsZTogWycnLCBbXV0sXHJcbiAgICAgIHVybDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICB0eXBlOiBbdGhpcy5kZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuICAgIHRoaXMudHlwZUNhcGFiaWxpdGllcyA9IE9iamVjdC5rZXlzKFR5cGVDYXBhYmlsaXRpZXMpO1xyXG5cclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkID0gdGhpcy5mb3JtXHJcbiAgICAgIC5nZXQoJ3R5cGUnKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICd3bXRzJykge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCk7XHJcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkID0gdGhpcy5zdG9yZS52aWV3XHJcbiAgICAgIC5hbGwkKClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSk7XHJcblxyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdlbWFpbEFkZHJlc3MnKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVVybE9yVGl0bGUoY2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoY2F0YWxvZyk7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSB7XHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9nc0xpc3QkLm5leHQoXHJcbiAgICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLmZpbHRlcigoYykgPT4gIXRoaXMuc3RvcmUuZ2V0KGMuaWQpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShhZGRlZENhdGFsb2cpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkVGl0bGUnIHwgdHJhbnNsYXRlIH19XG48L2gxPlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICA8Zm9ybSBjbGFzcz1cImlnby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLnByaW50Rm9ybS50aXRsZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvMlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgI2F1dG8yPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlVXJsT3JUaXRsZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkIHwgYXN5bmNcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy50aXRsZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJlZGVmaW5lZENhdGFsb2dcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnRpdGxlIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1cmxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVVJMXCJcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VVcmxPclRpdGxlKCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJlZGVmaW5lZENhdGFsb2cgb2YgcHJlZGVmaW5lZENhdGFsb2dzTGlzdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnVybFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJlZGVmaW5lZENhdGFsb2dcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnVybCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCIgcGxhY2Vob2xkZXI9XCJUeXBlXCI+XG4gICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVDYXBhYmlsaXRpZXNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInR5cGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1UaXRsZT57eyB0eXBlIH19PC9wPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8c3BhbiAqbmdJZj1cImVycm9yICYmIGFkZGVkQ2F0YWxvZyAmJiBlbWFpbEFkZHJlc3NcIj5cbiAgICA8cCBjbGFzcz1cImVycm9yXCI+XG4gICAgICB7e1xuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLnVuYXZhaWxhYmxlV2l0aEVtYWlsJyxcbiAgICAgICAgICB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsLCBlbWFpbDogZW1haWxBZGRyZXNzIH1cbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L3A+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgIWVtYWlsQWRkcmVzc1wiPlxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgIHt7XG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLnVuYXZhaWxhYmxlJywge1xuICAgICAgICAgIHZhbHVlOiBhZGRlZENhdGFsb2cudXJsXG4gICAgICAgIH0pXG4gICAgICB9fVxuICAgIDwvcD5cbiAgPC9zcGFuPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBzdHlsZT1cImp1c3RpZnktY29udGVudDogY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgYWRkLWNhdGFsb2ctYnV0dG9uLXRvcC1wYWRkaW5nXCI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwiYWRkQ2F0YWxvZ0J0bkRpYWxvZ1wiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCJcbiAgICAgIChjbGljayk9XCJhZGRDYXRhbG9nKGZvcm0udmFsdWUpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNLMUMsc0NBS0M7SUFDQyxZQUNGO0lBQUEsaUJBQWE7OztJQUpYLHVEQUFzQywrQkFBQTtJQUd0QyxlQUNGO0lBREUsMkRBQ0Y7OztJQWlCQSxzQ0FLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgscURBQW9DLCtCQUFBO0lBR3BDLGVBQ0Y7SUFERSx5REFDRjs7O0lBT0Esc0NBSUM7SUFEQyw4SEFBUyx3QkFBd0IsSUFBQztJQUVsQyw2QkFBb0I7SUFBQSxZQUFVO0lBQUEsaUJBQUksRUFBQTs7O0lBSGxDLCtCQUFjO0lBR00sZUFBVTtJQUFWLDZCQUFVOzs7O0lBTXhDLDRCQUFv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QUFDO1lBRXhELDBGQU9hOztZQUNmLGlCQUFtQixFQUFBLEVBQUE7WUFHdkIsK0JBQWlDLHNCQUFBO1lBRTdCLDRCQU1FO1lBQ0YsK0NBR0M7WUFEQyx5SUFBa0IseUNBQXFDLElBQUM7WUFFeEQsMEZBT2E7O1lBQ2YsaUJBQW1CLEVBQUEsRUFBQTtZQUd2QiwrQkFBaUMsc0JBQUEsc0JBQUE7WUFHM0IsMkZBTWE7WUFDZixpQkFBYSxFQUFBLEVBQUEsRUFBQTtZQUluQiwrRUFTTztZQUNQLCtFQVFPO1lBQ1QsaUJBQU07WUFDTixnQ0FBd0QsZUFBQSxrQkFBQTtZQUVaLHVHQUFTLFlBQVEsSUFBQztZQUN4RCxhQUNGOztZQUFBLGlCQUFTO1lBQ1QsbUNBT0M7WUFEQyx1R0FBUyw4QkFBc0IsSUFBQztZQUVoQyxhQUNGOztZQUFBLGlCQUFTLEVBQUEsRUFBQTs7OztZQXBHWCxlQUNGO1lBREUsMkZBQ0Y7WUFFeUIsZUFBa0I7WUFBbEIsb0NBQWtCO1lBTWpDLGVBQXlEO1lBQXpELHlGQUF5RDtZQUV6RCxxQ0FBeUI7WUFPTyxlQUFrQztZQUFsQyw2RUFBa0M7WUFpQmxFLGVBQXdCO1lBQXhCLHFDQUF3QjtZQU9RLGVBQWtDO1lBQWxDLDZFQUFrQztZQWMvQyxlQUFtQjtZQUFuQiw4Q0FBbUI7WUFVdkMsZUFBMkM7WUFBM0Msd0VBQTJDO1lBVTNDLGVBQTRDO1lBQTVDLHlFQUE0QztZQWEvQyxlQUNGO1lBREUseUZBQ0Y7WUFNRSxlQUF3QjtZQUF4QiwwQ0FBd0I7WUFHeEIsZUFDRjtZQURFLHNGQUNGOzs7dUZEaEZTLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3Qjs7c0JBc0IvQixRQUFROztzQkFDUixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUeXBlQ2FwYWJpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hZGQtY2F0YWxvZy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUgPSAnd21zJztcclxuICBwcml2YXRlIGFkZGVkQ2F0YWxvZ1R5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0YWxvZ1tdPihbXSk7XHJcbiAgdHlwZUNhcGFiaWxpdGllczogc3RyaW5nW107XHJcbiAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgZXJyb3IgPSBmYWxzZTtcclxuICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdG9yZVZpZXdBbGwkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiB7XHJcbiAgICAgIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdO1xyXG4gICAgICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgICAgIGVycm9yOiBib29sZWFuO1xyXG4gICAgICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgICB9XHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0b3JlID0gZGF0YS5zdG9yZTtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gZGF0YS5wcmVkZWZpbmVkQ2F0YWxvZ3M7XHJcbiAgICB0aGlzLmVycm9yID0gZGF0YS5lcnJvcjtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nID0gZGF0YS5hZGRlZENhdGFsb2c7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgaWQ6IFsnJywgW11dLFxyXG4gICAgICB0aXRsZTogWycnLCBbXV0sXHJcbiAgICAgIHVybDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICB0eXBlOiBbdGhpcy5kZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuICAgIHRoaXMudHlwZUNhcGFiaWxpdGllcyA9IE9iamVjdC5rZXlzKFR5cGVDYXBhYmlsaXRpZXMpO1xyXG5cclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkID0gdGhpcy5mb3JtXHJcbiAgICAgIC5nZXQoJ3R5cGUnKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICd3bXRzJykge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCk7XHJcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkID0gdGhpcy5zdG9yZS52aWV3XHJcbiAgICAgIC5hbGwkKClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSk7XHJcblxyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdlbWFpbEFkZHJlc3MnKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVVybE9yVGl0bGUoY2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoY2F0YWxvZyk7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSB7XHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9nc0xpc3QkLm5leHQoXHJcbiAgICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLmZpbHRlcigoYykgPT4gIXRoaXMuc3RvcmUuZ2V0KGMuaWQpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShhZGRlZENhdGFsb2cpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRUaXRsZScgfCB0cmFuc2xhdGUgfX1cclxuPC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8ucHJpbnRGb3JtLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvMlwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAgICAgI2F1dG8yPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VVcmxPclRpdGxlKCRldmVudC5vcHRpb24udmFsdWUpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJlZGVmaW5lZENhdGFsb2cgb2YgcHJlZGVmaW5lZENhdGFsb2dzTGlzdCQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy50aXRsZVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnRpdGxlIH19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1cmxcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJVUkxcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZVVybE9yVGl0bGUoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcmVkZWZpbmVkQ2F0YWxvZyBvZiBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnVybFwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcmVkZWZpbmVkQ2F0YWxvZ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnVybCB9fVxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInR5cGVcIiBwbGFjZWhvbGRlcj1cIlR5cGVcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVDYXBhYmlsaXRpZXNcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8cCBtYXRMaXN0SXRlbVRpdGxlPnt7IHR5cGUgfX08L3A+XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmIGVtYWlsQWRkcmVzc1wiPlxyXG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPlxyXG4gICAgICB7e1xyXG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmNhdGFsb2cuZXh0ZXJuYWxQcm92aWRlci51bmF2YWlsYWJsZVdpdGhFbWFpbCcsXHJcbiAgICAgICAgICB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsLCBlbWFpbDogZW1haWxBZGRyZXNzIH1cclxuICAgICAgICApXHJcbiAgICAgIH19XHJcbiAgICA8L3A+XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmICFlbWFpbEFkZHJlc3NcIj5cclxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj5cclxuICAgICAge3tcclxuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2F0YWxvZy51bmF2YWlsYWJsZScsIHtcclxuICAgICAgICAgIHZhbHVlOiBhZGRlZENhdGFsb2cudXJsXHJcbiAgICAgICAgfSlcclxuICAgICAgfX1cclxuICAgIDwvcD5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBzdHlsZT1cImp1c3RpZnktY29udGVudDogY2VudGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cCBhZGQtY2F0YWxvZy1idXR0b24tdG9wLXBhZGRpbmdcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGlkPVwiYWRkQ2F0YWxvZ0J0bkRpYWxvZ1wiXHJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxyXG4gICAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZyhmb3JtLnZhbHVlKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -78,7 +78,7 @@ export class CatalogLibaryItemComponent {
78
78
  }
79
79
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryItemComponent, [{
80
80
  type: Component,
81
- args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <span matListItemTitle>\n {{ title }}\n </span>\n <div matListItemMeta>\n <mat-icon\n *ngIf=\"catalog.externalProvider\"\n matListItemIcon\n class=\"igo-external-provider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\"\n >\n </mat-icon>\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button\n >\n <mat-icon svgIcon=\"blank\"></mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
81
+ args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\r\n <span matListItemTitle>\r\n {{ title }}\r\n </span>\r\n <div matListItemMeta>\r\n <mat-icon\r\n *ngIf=\"catalog.externalProvider\"\r\n matListItemIcon\r\n class=\"igo-external-provider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n <button\r\n *ngIf=\"catalog.removable\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\r\n color=\"warn\"\r\n (click)=\"removeCatalogFromLibrary($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"igo-blank\"\r\n *ngIf=\"!catalog.removable\"\r\n disabled=\"true\"\r\n mat-icon-button\r\n >\r\n <mat-icon svgIcon=\"blank\"></mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
82
82
  }], null, { catalog: [{
83
83
  type: Input
84
84
  }], map: [{
@@ -86,4 +86,4 @@ export class CatalogLibaryItemComponent {
86
86
  }], catalogRemove: [{
87
87
  type: Output
88
88
  }] }); })();
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7SUNOakQsbUNBVUM7SUFGQywwSEFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVc7O0lBTFQsNkZBQXFFOzs7O0lBTXZFLGlDQVFDO0lBREMsZ0xBQVMsZUFBQSx1Q0FBZ0MsQ0FBQSxJQUFDOztJQUUxQyw4QkFBc0M7SUFDeEMsaUJBQVM7O0lBTFAsbUZBQTJEOzs7SUFPN0QsaUNBS0M7SUFDQyw4QkFBcUM7SUFDdkMsaUJBQVM7O0FEdkJiOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7T0FFRztJQUNNLE9BQU8sQ0FBVTtJQUUxQjs7T0FFRztJQUNNLEdBQUcsQ0FBUztJQUVYLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdDOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7b0ZBdkJVLDBCQUEwQjs2REFBMUIsMEJBQTBCO1lDdEJ2QyxxQ0FBZSxjQUFBO1lBRVgsWUFDRjtZQUFBLGlCQUFPO1lBQ1AsOEJBQXFCO1lBQ25CLHFGQVdXO1lBQ1gsaUZBVVM7WUFFVCxpRkFPUztZQUNYLGlCQUFNLEVBQUE7O1lBbkNKLGVBQ0Y7WUFERSwwQ0FDRjtZQUdLLGVBQThCO1lBQTlCLG1EQUE4QjtZQVk5QixlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFhdkIsZUFBd0I7WUFBeEIsNkNBQXdCOzs7dUZEVGxCLDBCQUEwQjtjQU50QyxTQUFTOzJCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTtnQkFNdEMsT0FBTztrQkFBZixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBRUksYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQgeyBDYXRhbG9nIH0gZnJvbSAnLi4vc2hhcmVkL2NhdGFsb2cuYWJzdHJhY3QnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgbGlicmFyeSBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWxpYnJhcnktaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctbGlicmFyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWxpYnJhcnktaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nTGliYXJ5SXRlbUNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBhZGQgdGhlIGNhdGFsb2cgaXRlbXMgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQE91dHB1dCgpIGNhdGFsb2dSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuY2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDYXRhbG9nRnJvbUxpYnJhcnkoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jYXRhbG9nUmVtb3ZlLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XG4gIDxzcGFuIG1hdExpc3RJdGVtVGl0bGU+XG4gICAge3sgdGl0bGUgfX1cbiAgPC9zcGFuPlxuICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyXCJcbiAgICAgIG1hdExpc3RJdGVtSWNvblxuICAgICAgY2xhc3M9XCJpZ28tZXh0ZXJuYWwtcHJvdmlkZXJcIlxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmNhdGFsb2cnIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIHN2Z0ljb249XCJlYXJ0aC1hcnJvdy1yaWdodFwiXG4gICAgPlxuICAgIDwvbWF0LWljb24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJjYXRhbG9nLnJlbW92YWJsZVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAoY2xpY2spPVwicmVtb3ZlQ2F0YWxvZ0Zyb21MaWJyYXJ5KCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiaWdvLWJsYW5rXCJcbiAgICAgICpuZ0lmPVwiIWNhdGFsb2cucmVtb3ZhYmxlXCJcbiAgICAgIGRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICA+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImJsYW5rXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1saXN0LWl0ZW0+XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvY2F0YWxvZy9jYXRhbG9nLWxpYnJhcnkvY2F0YWxvZy1saWJyYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7SUNOakQsbUNBVUM7SUFGQywwSEFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVc7O0lBTFQsNkZBQXFFOzs7O0lBTXZFLGlDQVFDO0lBREMsZ0xBQVMsZUFBQSx1Q0FBZ0MsQ0FBQSxJQUFDOztJQUUxQyw4QkFBc0M7SUFDeEMsaUJBQVM7O0lBTFAsbUZBQTJEOzs7SUFPN0QsaUNBS0M7SUFDQyw4QkFBcUM7SUFDdkMsaUJBQVM7O0FEdkJiOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQzs7T0FFRztJQUNNLE9BQU8sQ0FBVTtJQUUxQjs7T0FFRztJQUNNLEdBQUcsQ0FBUztJQUVYLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdDOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7b0ZBdkJVLDBCQUEwQjs2REFBMUIsMEJBQTBCO1lDdEJ2QyxxQ0FBZSxjQUFBO1lBRVgsWUFDRjtZQUFBLGlCQUFPO1lBQ1AsOEJBQXFCO1lBQ25CLHFGQVdXO1lBQ1gsaUZBVVM7WUFFVCxpRkFPUztZQUNYLGlCQUFNLEVBQUE7O1lBbkNKLGVBQ0Y7WUFERSwwQ0FDRjtZQUdLLGVBQThCO1lBQTlCLG1EQUE4QjtZQVk5QixlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFhdkIsZUFBd0I7WUFBeEIsNkNBQXdCOzs7dUZEVGxCLDBCQUEwQjtjQU50QyxTQUFTOzJCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTtnQkFNdEMsT0FBTztrQkFBZixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBRUksYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQgeyBDYXRhbG9nIH0gZnJvbSAnLi4vc2hhcmVkL2NhdGFsb2cuYWJzdHJhY3QnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgbGlicmFyeSBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWxpYnJhcnktaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctbGlicmFyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWxpYnJhcnktaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nTGliYXJ5SXRlbUNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBhZGQgdGhlIGNhdGFsb2cgaXRlbXMgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQE91dHB1dCgpIGNhdGFsb2dSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuY2F0YWxvZyk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDYXRhbG9nRnJvbUxpYnJhcnkoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jYXRhbG9nUmVtb3ZlLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XHJcbiAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZT5cclxuICAgIHt7IHRpdGxlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgICpuZ0lmPVwiY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyXCJcclxuICAgICAgbWF0TGlzdEl0ZW1JY29uXHJcbiAgICAgIGNsYXNzPVwiaWdvLWV4dGVybmFsLXByb3ZpZGVyXCJcclxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZXh0ZXJuYWxQcm92aWRlci5jYXRhbG9nJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtaWNvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJjYXRhbG9nLnJlbW92YWJsZVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LnJlbW92ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAoY2xpY2spPVwicmVtb3ZlQ2F0YWxvZ0Zyb21MaWJyYXJ5KCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiaWdvLWJsYW5rXCJcclxuICAgICAgKm5nSWY9XCIhY2F0YWxvZy5yZW1vdmFibGVcIlxyXG4gICAgICBkaXNhYmxlZD1cInRydWVcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgID5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJibGFua1wiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG4iXX0=
@@ -215,7 +215,7 @@ export class CatalogLibaryComponent {
215
215
  }
216
216
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryComponent, [{
217
217
  type: Component,
218
- args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\">\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\n <igo-catalog-library-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [catalog]=\"catalog\"\n (catalogRemove)=\"onCatalogRemove(catalog)\"\n (select)=\"onCatalogSelect(catalog)\"\n >\n </igo-catalog-library-item>\n </ng-template>\n</igo-list>\n\n<div *ngIf=\"addCatalogAllowed\" class=\"btnAddCatalog\">\n <button\n mat-raised-button\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"addCatalogDialog()\"\n >\n {{ 'igo.geo.catalog.library.addBtn' | translate }}\n <mat-icon svgIcon=\"earth-plus\"></mat-icon>\n </button>\n</div>\n", styles: [":host igo-list{height:auto}:host .btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"] }]
218
+ args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\">\r\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\r\n <igo-catalog-library-item\r\n igoListItem\r\n color=\"accent\"\r\n [map]=\"map\"\r\n [catalog]=\"catalog\"\r\n (catalogRemove)=\"onCatalogRemove(catalog)\"\r\n (select)=\"onCatalogSelect(catalog)\"\r\n >\r\n </igo-catalog-library-item>\r\n </ng-template>\r\n</igo-list>\r\n\r\n<div *ngIf=\"addCatalogAllowed\" class=\"btnAddCatalog\">\r\n <button\r\n mat-raised-button\r\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\r\n matTooltipPosition=\"above\"\r\n color=\"primary\"\r\n (click)=\"addCatalogDialog()\"\r\n >\r\n {{ 'igo.geo.catalog.library.addBtn' | translate }}\r\n <mat-icon svgIcon=\"earth-plus\"></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host igo-list{height:auto}:host .btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"] }]
219
219
  }], function () { return [{ type: i1.CapabilitiesService }, { type: i2.MessageService }, { type: i2.StorageService }, { type: i3.MatDialog }]; }, { store: [{
220
220
  type: Input
221
221
  }], map: [{
@@ -227,4 +227,4 @@ export class CatalogLibaryComponent {
227
227
  }], catalogSelectChange: [{
228
228
  type: Output
229
229
  }] }); })();
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0lDckJ2RSxtREFPQztJQUZDLDJRQUFpQixlQUFBLGtDQUF3QixDQUFBLElBQUMsZ1BBQ2hDLGVBQUEsa0NBQXdCLENBQUEsSUFEUTtJQUc1Qyxp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Q0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztnRkE1TVUsc0JBQXNCOzZEQUF0QixzQkFBc0I7WUNsQ25DLG1DQUErQjtZQUM3Qix1RkFVYzs7WUFDaEIsaUJBQVc7WUFFWCx1RUFXTTs7WUF6Qkksa0NBQW9CO1lBQ0csZUFBaUM7WUFBakMsaUVBQWlDO1lBYTVELGVBQXVCO1lBQXZCLDRDQUF1Qjs7O3VGRG9CaEIsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07d0pBTXRDLEtBQUs7a0JBQWIsS0FBSztZQUtHLEdBQUc7a0JBQVgsS0FBSztZQUtHLGlCQUFpQjtrQkFBekIsS0FBSztZQUtHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUtJLG1CQUFtQjtrQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuXHJcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7IHN0YW5kYXJkaXplVXJsIH0gZnJvbSAnLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuaW1wb3J0IHsgQWRkQ2F0YWxvZ0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHRvIGJyb3dzZSBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNhdGFsb2dzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWxpYnJhcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nTGliYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2dzXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2c+O1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgdG8gYWRkIHRoZSBjYXRhbG9nIGl0ZW1zIHRvXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZSBpZiB0aGUgZm9ybSB0byBhZGQgYSBjYXRhbG9nIGlzIGFsbG93ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBhZGRDYXRhbG9nQWxsb3dlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGZvcm0gdG8gYWRkIGEgY2F0YWxvZyBpcyBhbGxvd2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCBhIGNhdGFsb2cgaXMgc2VsZWN0ZWQgb3IgdW5zZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjYXRhbG9nU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIGNhdGFsb2c6IENhdGFsb2c7XHJcbiAgfT4oKTtcclxuXHJcbiAgc3VibWl0RGlzYWJsZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgYWRkaW5nQ2F0YWxvZyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBhZGRlZENhdGFsb2dzKCk6IENhdGFsb2dbXSB7XHJcbiAgICByZXR1cm4gKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdhZGRlZENhdGFsb2dzJykgfHwgW10pIGFzIENhdGFsb2dbXTtcclxuICB9XHJcbiAgc2V0IGFkZGVkQ2F0YWxvZ3MoY2F0YWxvZ3M6IENhdGFsb2dbXSkge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoJ2FkZGVkQ2F0YWxvZ3MnLCBjYXRhbG9ncyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuXHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9ncyA9IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLm1hcCgoYykgPT4ge1xyXG4gICAgICBjLmlkID0gTWQ1Lmhhc2hTdHIoKGMudHlwZSB8fCAnd21zJykgKyBzdGFuZGFyZGl6ZVVybChjLnVybCkpIGFzIHN0cmluZztcclxuICAgICAgYy50aXRsZSA9IGMudGl0bGUgPT09ICcnIHx8ICFjLnRpdGxlID8gYy51cmwgOiBjLnRpdGxlO1xyXG4gICAgICByZXR1cm4gYztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0YWxvZ3MoKTogT2JzZXJ2YWJsZTxDYXRhbG9nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnZpZXcuYWxsJCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGNhdGFsb2cgaXMgc2VsZWN0ZWQsIHVwZGF0ZSBpdCdzIHN0YXRlIGluIHRoZSBzdG9yZVxyXG4gICAqIGFuZCBlbWl0IHRoZSBjYXRhbG9nIHNlbGVjdCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbkNhdGFsb2dTZWxlY3QoY2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoXHJcbiAgICAgIGNhdGFsb2csXHJcbiAgICAgIHtcclxuICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgICBmb2N1c2VkOiB0cnVlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICB0aGlzLmNhdGFsb2dTZWxlY3RDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCBjYXRhbG9nIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFkZGluZ0NhdGFsb2coKSB7XHJcbiAgICBpZiAodGhpcy5hZGRpbmdDYXRhbG9nJCQpIHtcclxuICAgICAgdGhpcy5hZGRpbmdDYXRhbG9nJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICBpZiAoIWFkZGVkQ2F0YWxvZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgaWQgPSBNZDUuaGFzaFN0cihcclxuICAgICAgYWRkZWRDYXRhbG9nLnR5cGUgKyBzdGFuZGFyZGl6ZVVybChhZGRlZENhdGFsb2cudXJsKVxyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICBjb25zdCBwcmVkZWZpbmVkQ2F0YWxvZyA9IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLmZpbmQoXHJcbiAgICAgIChjKSA9PiBjLmlkID09PSBhZGRlZENhdGFsb2cuaWRcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHByZWRlZmluZWRDYXRhbG9nKSB7XHJcbiAgICAgIGFkZGVkQ2F0YWxvZy52ZXJzaW9uID0gcHJlZGVmaW5lZENhdGFsb2cudmVyc2lvbjtcclxuICAgICAgYWRkZWRDYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIgPSBwcmVkZWZpbmVkQ2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyO1xyXG4gICAgICBpZCA9IHByZWRlZmluZWRDYXRhbG9nLmlkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN0b3JlLmdldChpZCkpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcclxuICAgICAgICAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuaW5saXN0Lm1lc3NhZ2UnLFxyXG4gICAgICAgICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5pbmxpc3QudGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCk7XHJcblxyXG4gICAgdGhpcy5hZGRpbmdDYXRhbG9nJCQgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcclxuICAgICAgLmdldENhcGFiaWxpdGllcyhcclxuICAgICAgICBhZGRlZENhdGFsb2cudHlwZSBhcyBhbnksXHJcbiAgICAgICAgYWRkZWRDYXRhbG9nLnVybCxcclxuICAgICAgICBhZGRlZENhdGFsb2cudmVyc2lvblxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcclxuICAgICAgICAgIGlmIChlLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkQ2F0YWxvZ0RpYWxvZyh0cnVlLCBhZGRlZENhdGFsb2cpO1xyXG4gICAgICAgICAgICBlLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy51bmF2YWlsYWJsZScsXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGVUaXRsZScsXHJcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgeyB2YWx1ZTogYWRkZWRDYXRhbG9nLnVybCB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNhcGFiaWxpdGllcykgPT4ge1xyXG4gICAgICAgIGxldCB0aXRsZTtcclxuICAgICAgICBsZXQgdmVyc2lvbjtcclxuICAgICAgICBzd2l0Y2ggKGFkZGVkQ2F0YWxvZy50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlICd3bXMnOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGFkZGVkQ2F0YWxvZy50aXRsZSB8fCBjYXBhYmlsaXRpZXMuU2VydmljZS5UaXRsZTtcclxuICAgICAgICAgICAgdmVyc2lvbiA9IGFkZGVkQ2F0YWxvZy52ZXJzaW9uIHx8IGNhcGFiaWxpdGllcy52ZXJzaW9uO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGUgfHwgY2FwYWJpbGl0aWVzLm1hcE5hbWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnd210cyc6XHJcbiAgICAgICAgICAgIHRpdGxlID1cclxuICAgICAgICAgICAgICBhZGRlZENhdGFsb2cudGl0bGUgfHxcclxuICAgICAgICAgICAgICBjYXBhYmlsaXRpZXMuU2VydmljZUlkZW50aWZpY2F0aW9uLlNlcnZpY2VUeXBlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHRpdGxlID0gYWRkZWRDYXRhbG9nLnRpdGxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY2F0YWxvZ1RvQWRkID0gT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihcclxuICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgIHByZWRlZmluZWRDYXRhbG9nLFxyXG4gICAgICAgICAgICBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xyXG4gICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgICAgIHVybDogYWRkZWRDYXRhbG9nLnVybCxcclxuICAgICAgICAgICAgICB0eXBlOiBhZGRlZENhdGFsb2cudHlwZSB8fCAnd21zJyxcclxuICAgICAgICAgICAgICBleHRlcm5hbFByb3ZpZGVyOiBhZGRlZENhdGFsb2cuZXh0ZXJuYWxQcm92aWRlciB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgdmVyc2lvblxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKSBhcyBDYXRhbG9nXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnN0b3JlLmluc2VydChjYXRhbG9nVG9BZGQpO1xyXG4gICAgICAgIGNvbnN0IG5ld0NhdGFsb2dzID0gdGhpcy5hZGRlZENhdGFsb2dzLnNsaWNlKDApO1xyXG4gICAgICAgIG5ld0NhdGFsb2dzLnB1c2goY2F0YWxvZ1RvQWRkKTtcclxuICAgICAgICB0aGlzLmFkZGVkQ2F0YWxvZ3MgPSBuZXdDYXRhbG9ncztcclxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZUFkZGluZ0NhdGFsb2coKTtcclxuICB9XHJcblxyXG4gIG9uQ2F0YWxvZ1JlbW92ZShjYXRhbG9nKSB7XHJcbiAgICB0aGlzLnN0b3JlLmRlbGV0ZShjYXRhbG9nKTtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9ncyA9IHRoaXMuYWRkZWRDYXRhbG9nc1xyXG4gICAgICAuc2xpY2UoMClcclxuICAgICAgLmZpbHRlcigoYykgPT4gYy5pZCAhPT0gY2F0YWxvZy5pZCk7XHJcbiAgfVxyXG5cclxuICBhZGRDYXRhbG9nRGlhbG9nKGVycm9yPywgYWRkZWRDYXRhbG9nPzogQ2F0YWxvZykge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNzAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcHJlZGVmaW5lZENhdGFsb2dzOiB0aGlzLnByZWRlZmluZWRDYXRhbG9ncyxcclxuICAgICAgICBzdG9yZTogdGhpcy5zdG9yZSxcclxuICAgICAgICBlcnJvcixcclxuICAgICAgICBhZGRlZENhdGFsb2dcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChjYXRhbG9nKSA9PiB7XHJcbiAgICAgIHRoaXMuYWRkQ2F0YWxvZyhjYXRhbG9nKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIj5cbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jYXRhbG9nIFtuZ0Zvck9mXT1cImdldENhdGFsb2dzKCkgfCBhc3luY1wiPlxuICAgIDxpZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW1cbiAgICAgIGlnb0xpc3RJdGVtXG4gICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcbiAgICAgIChjYXRhbG9nUmVtb3ZlKT1cIm9uQ2F0YWxvZ1JlbW92ZShjYXRhbG9nKVwiXG4gICAgICAoc2VsZWN0KT1cIm9uQ2F0YWxvZ1NlbGVjdChjYXRhbG9nKVwiXG4gICAgPlxuICAgIDwvaWdvLWNhdGFsb2ctbGlicmFyeS1pdGVtPlxuICA8L25nLXRlbXBsYXRlPlxuPC9pZ28tbGlzdD5cblxuPGRpdiAqbmdJZj1cImFkZENhdGFsb2dBbGxvd2VkXCIgY2xhc3M9XCJidG5BZGRDYXRhbG9nXCI+XG4gIDxidXR0b25cbiAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlXCJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZ0RpYWxvZygpXCJcbiAgPlxuICAgIHt7ICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5hZGRCdG4nIHwgdHJhbnNsYXRlIH19XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJlYXJ0aC1wbHVzXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1saWJyYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0lDckJ2RSxtREFPQztJQUZDLDJRQUFpQixlQUFBLGtDQUF3QixDQUFBLElBQUMsZ1BBQ2hDLGVBQUEsa0NBQXdCLENBQUEsSUFEUTtJQUc1Qyxp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Q0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztnRkE1TVUsc0JBQXNCOzZEQUF0QixzQkFBc0I7WUNsQ25DLG1DQUErQjtZQUM3Qix1RkFVYzs7WUFDaEIsaUJBQVc7WUFFWCx1RUFXTTs7WUF6Qkksa0NBQW9CO1lBQ0csZUFBaUM7WUFBakMsaUVBQWlDO1lBYTVELGVBQXVCO1lBQXZCLDRDQUF1Qjs7O3VGRG9CaEIsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07d0pBTXRDLEtBQUs7a0JBQWIsS0FBSztZQUtHLEdBQUc7a0JBQVgsS0FBSztZQUtHLGlCQUFpQjtrQkFBekIsS0FBSztZQUtHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUtJLG1CQUFtQjtrQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcclxuXHJcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7IHN0YW5kYXJkaXplVXJsIH0gZnJvbSAnLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgQ2F0YWxvZyB9IGZyb20gJy4uL3NoYXJlZC9jYXRhbG9nLmFic3RyYWN0JztcclxuaW1wb3J0IHsgQWRkQ2F0YWxvZ0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IHRvIGJyb3dzZSBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNhdGFsb2dzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWxpYnJhcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWxpYnJhcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctbGlicmFyeS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nTGliYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2dzXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2c+O1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgdG8gYWRkIHRoZSBjYXRhbG9nIGl0ZW1zIHRvXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZSBpZiB0aGUgZm9ybSB0byBhZGQgYSBjYXRhbG9nIGlzIGFsbG93ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBhZGRDYXRhbG9nQWxsb3dlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGZvcm0gdG8gYWRkIGEgY2F0YWxvZyBpcyBhbGxvd2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCBhIGNhdGFsb2cgaXMgc2VsZWN0ZWQgb3IgdW5zZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjYXRhbG9nU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIGNhdGFsb2c6IENhdGFsb2c7XHJcbiAgfT4oKTtcclxuXHJcbiAgc3VibWl0RGlzYWJsZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgYWRkaW5nQ2F0YWxvZyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBhZGRlZENhdGFsb2dzKCk6IENhdGFsb2dbXSB7XHJcbiAgICByZXR1cm4gKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdhZGRlZENhdGFsb2dzJykgfHwgW10pIGFzIENhdGFsb2dbXTtcclxuICB9XHJcbiAgc2V0IGFkZGVkQ2F0YWxvZ3MoY2F0YWxvZ3M6IENhdGFsb2dbXSkge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoJ2FkZGVkQ2F0YWxvZ3MnLCBjYXRhbG9ncyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuXHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9ncyA9IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLm1hcCgoYykgPT4ge1xyXG4gICAgICBjLmlkID0gTWQ1Lmhhc2hTdHIoKGMudHlwZSB8fCAnd21zJykgKyBzdGFuZGFyZGl6ZVVybChjLnVybCkpIGFzIHN0cmluZztcclxuICAgICAgYy50aXRsZSA9IGMudGl0bGUgPT09ICcnIHx8ICFjLnRpdGxlID8gYy51cmwgOiBjLnRpdGxlO1xyXG4gICAgICByZXR1cm4gYztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0YWxvZ3MoKTogT2JzZXJ2YWJsZTxDYXRhbG9nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnZpZXcuYWxsJCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGNhdGFsb2cgaXMgc2VsZWN0ZWQsIHVwZGF0ZSBpdCdzIHN0YXRlIGluIHRoZSBzdG9yZVxyXG4gICAqIGFuZCBlbWl0IHRoZSBjYXRhbG9nIHNlbGVjdCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbkNhdGFsb2dTZWxlY3QoY2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoXHJcbiAgICAgIGNhdGFsb2csXHJcbiAgICAgIHtcclxuICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgICBmb2N1c2VkOiB0cnVlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICB0aGlzLmNhdGFsb2dTZWxlY3RDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCBjYXRhbG9nIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFkZGluZ0NhdGFsb2coKSB7XHJcbiAgICBpZiAodGhpcy5hZGRpbmdDYXRhbG9nJCQpIHtcclxuICAgICAgdGhpcy5hZGRpbmdDYXRhbG9nJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICBpZiAoIWFkZGVkQ2F0YWxvZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgaWQgPSBNZDUuaGFzaFN0cihcclxuICAgICAgYWRkZWRDYXRhbG9nLnR5cGUgKyBzdGFuZGFyZGl6ZVVybChhZGRlZENhdGFsb2cudXJsKVxyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICBjb25zdCBwcmVkZWZpbmVkQ2F0YWxvZyA9IHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLmZpbmQoXHJcbiAgICAgIChjKSA9PiBjLmlkID09PSBhZGRlZENhdGFsb2cuaWRcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHByZWRlZmluZWRDYXRhbG9nKSB7XHJcbiAgICAgIGFkZGVkQ2F0YWxvZy52ZXJzaW9uID0gcHJlZGVmaW5lZENhdGFsb2cudmVyc2lvbjtcclxuICAgICAgYWRkZWRDYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIgPSBwcmVkZWZpbmVkQ2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyO1xyXG4gICAgICBpZCA9IHByZWRlZmluZWRDYXRhbG9nLmlkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN0b3JlLmdldChpZCkpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcclxuICAgICAgICAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuaW5saXN0Lm1lc3NhZ2UnLFxyXG4gICAgICAgICdpZ28uZ2VvLmNhdGFsb2cubGlicmFyeS5pbmxpc3QudGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudW5zdWJzY3JpYmVBZGRpbmdDYXRhbG9nKCk7XHJcblxyXG4gICAgdGhpcy5hZGRpbmdDYXRhbG9nJCQgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcclxuICAgICAgLmdldENhcGFiaWxpdGllcyhcclxuICAgICAgICBhZGRlZENhdGFsb2cudHlwZSBhcyBhbnksXHJcbiAgICAgICAgYWRkZWRDYXRhbG9nLnVybCxcclxuICAgICAgICBhZGRlZENhdGFsb2cudmVyc2lvblxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcclxuICAgICAgICAgIGlmIChlLmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkQ2F0YWxvZ0RpYWxvZyh0cnVlLCBhZGRlZENhdGFsb2cpO1xyXG4gICAgICAgICAgICBlLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy51bmF2YWlsYWJsZScsXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLmNhdGFsb2cudW5hdmFpbGFibGVUaXRsZScsXHJcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgeyB2YWx1ZTogYWRkZWRDYXRhbG9nLnVybCB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNhcGFiaWxpdGllcykgPT4ge1xyXG4gICAgICAgIGxldCB0aXRsZTtcclxuICAgICAgICBsZXQgdmVyc2lvbjtcclxuICAgICAgICBzd2l0Y2ggKGFkZGVkQ2F0YWxvZy50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlICd3bXMnOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGFkZGVkQ2F0YWxvZy50aXRsZSB8fCBjYXBhYmlsaXRpZXMuU2VydmljZS5UaXRsZTtcclxuICAgICAgICAgICAgdmVyc2lvbiA9IGFkZGVkQ2F0YWxvZy52ZXJzaW9uIHx8IGNhcGFiaWxpdGllcy52ZXJzaW9uO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgICAgdGl0bGUgPSBhZGRlZENhdGFsb2cudGl0bGUgfHwgY2FwYWJpbGl0aWVzLm1hcE5hbWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnd210cyc6XHJcbiAgICAgICAgICAgIHRpdGxlID1cclxuICAgICAgICAgICAgICBhZGRlZENhdGFsb2cudGl0bGUgfHxcclxuICAgICAgICAgICAgICBjYXBhYmlsaXRpZXMuU2VydmljZUlkZW50aWZpY2F0aW9uLlNlcnZpY2VUeXBlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHRpdGxlID0gYWRkZWRDYXRhbG9nLnRpdGxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY2F0YWxvZ1RvQWRkID0gT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihcclxuICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgIHByZWRlZmluZWRDYXRhbG9nLFxyXG4gICAgICAgICAgICBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xyXG4gICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgICAgIHVybDogYWRkZWRDYXRhbG9nLnVybCxcclxuICAgICAgICAgICAgICB0eXBlOiBhZGRlZENhdGFsb2cudHlwZSB8fCAnd21zJyxcclxuICAgICAgICAgICAgICBleHRlcm5hbFByb3ZpZGVyOiBhZGRlZENhdGFsb2cuZXh0ZXJuYWxQcm92aWRlciB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgdmVyc2lvblxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKSBhcyBDYXRhbG9nXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnN0b3JlLmluc2VydChjYXRhbG9nVG9BZGQpO1xyXG4gICAgICAgIGNvbnN0IG5ld0NhdGFsb2dzID0gdGhpcy5hZGRlZENhdGFsb2dzLnNsaWNlKDApO1xyXG4gICAgICAgIG5ld0NhdGFsb2dzLnB1c2goY2F0YWxvZ1RvQWRkKTtcclxuICAgICAgICB0aGlzLmFkZGVkQ2F0YWxvZ3MgPSBuZXdDYXRhbG9ncztcclxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWRkaW5nQ2F0YWxvZygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZUFkZGluZ0NhdGFsb2coKTtcclxuICB9XHJcblxyXG4gIG9uQ2F0YWxvZ1JlbW92ZShjYXRhbG9nKSB7XHJcbiAgICB0aGlzLnN0b3JlLmRlbGV0ZShjYXRhbG9nKTtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9ncyA9IHRoaXMuYWRkZWRDYXRhbG9nc1xyXG4gICAgICAuc2xpY2UoMClcclxuICAgICAgLmZpbHRlcigoYykgPT4gYy5pZCAhPT0gY2F0YWxvZy5pZCk7XHJcbiAgfVxyXG5cclxuICBhZGRDYXRhbG9nRGlhbG9nKGVycm9yPywgYWRkZWRDYXRhbG9nPzogQ2F0YWxvZykge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNzAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcHJlZGVmaW5lZENhdGFsb2dzOiB0aGlzLnByZWRlZmluZWRDYXRhbG9ncyxcclxuICAgICAgICBzdG9yZTogdGhpcy5zdG9yZSxcclxuICAgICAgICBlcnJvcixcclxuICAgICAgICBhZGRlZENhdGFsb2dcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChjYXRhbG9nKSA9PiB7XHJcbiAgICAgIHRoaXMuYWRkQ2F0YWxvZyhjYXRhbG9nKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIj5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNhdGFsb2cgW25nRm9yT2ZdPVwiZ2V0Q2F0YWxvZ3MoKSB8IGFzeW5jXCI+XHJcbiAgICA8aWdvLWNhdGFsb2ctbGlicmFyeS1pdGVtXHJcbiAgICAgIGlnb0xpc3RJdGVtXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcclxuICAgICAgKGNhdGFsb2dSZW1vdmUpPVwib25DYXRhbG9nUmVtb3ZlKGNhdGFsb2cpXCJcclxuICAgICAgKHNlbGVjdCk9XCJvbkNhdGFsb2dTZWxlY3QoY2F0YWxvZylcIlxyXG4gICAgPlxyXG4gICAgPC9pZ28tY2F0YWxvZy1saWJyYXJ5LWl0ZW0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9pZ28tbGlzdD5cclxuXHJcbjxkaXYgKm5nSWY9XCJhZGRDYXRhbG9nQWxsb3dlZFwiIGNsYXNzPVwiYnRuQWRkQ2F0YWxvZ1wiPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkQnRuJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgKGNsaWNrKT1cImFkZENhdGFsb2dEaWFsb2coKVwiXHJcbiAgPlxyXG4gICAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZEJ0bicgfCB0cmFuc2xhdGUgfX1cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZWFydGgtcGx1c1wiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class DataService {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsV0FBVztDQUVoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhU2VydmljZSB7XG4gIGFic3RyYWN0IGdldERhdGEoKTogc3RyaW5nO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsV0FBVztDQUVoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhU2VydmljZSB7XHJcbiAgYWJzdHJhY3QgZ2V0RGF0YSgpOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -9,4 +9,4 @@ export class OSMDataSource extends DataSource {
9
9
  }
10
10
  onUnwatch() { }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9vc20tZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsZ0RBQWdELENBQUM7U0FDckU7UUFDRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUyxLQUFJLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VPU00gZnJvbSAnb2wvc291cmNlL09TTSc7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgT1NNRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL29zbS1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBPU01EYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IE9TTURhdGFTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgZGVjbGFyZSBvbDogb2xTb3VyY2VPU007XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlT1NNIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy51cmwpIHtcbiAgICAgIHRoaXMub3B0aW9ucy51cmwgPSAnaHR0cHM6Ly90aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyc7XG4gICAgfVxuICAgIHJldHVybiBuZXcgb2xTb3VyY2VPU00odGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7fVxufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9vc20tZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsZ0RBQWdELENBQUM7U0FDckU7UUFDRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUyxLQUFJLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VPU00gZnJvbSAnb2wvc291cmNlL09TTSc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgT1NNRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL29zbS1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgT1NNRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xyXG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IE9TTURhdGFTb3VyY2VPcHRpb25zO1xyXG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZU9TTTtcclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlT1NNIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLnVybCkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMudXJsID0gJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBvbFNvdXJjZU9TTSh0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVW53YXRjaCgpIHt9XHJcbn1cclxuIl19
@@ -12,4 +12,4 @@ export class TileDebugDataSource extends DataSource {
12
12
  }
13
13
  onUnwatch() { }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWRlYnVnLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy90aWxlZGVidWctZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBSXZDLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3ZHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDekIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzVCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1RDtRQUNELE9BQU8sSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFNBQVMsS0FBSSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRpbGVEZWJ1ZyBmcm9tICdvbC9zb3VyY2UvVGlsZURlYnVnJztcbmltcG9ydCBUaWxlR3JpZCBmcm9tICdvbC90aWxlZ3JpZC9UaWxlR3JpZCc7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgVGlsZURlYnVnRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3RpbGVkZWJ1Zy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUaWxlRGVidWdEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IFRpbGVEZWJ1Z0RhdGFTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgZGVjbGFyZSBvbDogVGlsZURlYnVnO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBUaWxlRGVidWcge1xuICAgIGNvbnN0IGJhc2VPcHRpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm9wdGlvbnMpKTsgLy8gdG8gYXZvaWQgdG8gYWx0ZXIgdGhlIG9yaWdpbmFsIG9wdGlvbnNcbiAgICBpZiAodGhpcy5vcHRpb25zLnRpbGVHcmlkKSB7XG4gICAgICBkZWxldGUgYmFzZU9wdGlvbnMudGlsZUdyaWQ7XG4gICAgICBiYXNlT3B0aW9ucy50aWxlR3JpZCA9IG5ldyBUaWxlR3JpZCh0aGlzLm9wdGlvbnMudGlsZUdyaWQpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFRpbGVEZWJ1ZyhiYXNlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge31cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWRlYnVnLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy90aWxlZGVidWctZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBSXZDLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3ZHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDekIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzVCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1RDtRQUNELE9BQU8sSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFNBQVMsS0FBSSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRpbGVEZWJ1ZyBmcm9tICdvbC9zb3VyY2UvVGlsZURlYnVnJztcclxuaW1wb3J0IFRpbGVHcmlkIGZyb20gJ29sL3RpbGVncmlkL1RpbGVHcmlkJztcclxuXHJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBUaWxlRGVidWdEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vdGlsZWRlYnVnLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUaWxlRGVidWdEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XHJcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogVGlsZURlYnVnRGF0YVNvdXJjZU9wdGlvbnM7XHJcbiAgcHVibGljIGRlY2xhcmUgb2w6IFRpbGVEZWJ1ZztcclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IFRpbGVEZWJ1ZyB7XHJcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7IC8vIHRvIGF2b2lkIHRvIGFsdGVyIHRoZSBvcmlnaW5hbCBvcHRpb25zXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnRpbGVHcmlkKSB7XHJcbiAgICAgIGRlbGV0ZSBiYXNlT3B0aW9ucy50aWxlR3JpZDtcclxuICAgICAgYmFzZU9wdGlvbnMudGlsZUdyaWQgPSBuZXcgVGlsZUdyaWQodGhpcy5vcHRpb25zLnRpbGVHcmlkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgVGlsZURlYnVnKGJhc2VPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7fVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWRhdGFzb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2Vic29ja2V0LWRhdGFzb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2ZlYXR1cmUtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlNvY2tldERhdGFTb3VyY2VPcHRpb25zIGV4dGVuZHMgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zIHtcbiAgb25tZXNzYWdlPzogJ2FkZCcgfCAnZGVsZXRlJyB8ICd1cGRhdGUnO1xuICBvbm9wZW4/OiBhbnk7XG4gIG9uY2xvc2U/OiBhbnk7XG4gIG9uZXJyb3I/OiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWRhdGFzb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2Vic29ja2V0LWRhdGFzb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2ZlYXR1cmUtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJTb2NrZXREYXRhU291cmNlT3B0aW9ucyBleHRlbmRzIEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucyB7XHJcbiAgb25tZXNzYWdlPzogJ2FkZCcgfCAnZGVsZXRlJyB8ICd1cGRhdGUnO1xyXG4gIG9ub3Blbj86IGFueTtcclxuICBvbmNsb3NlPzogYW55O1xyXG4gIG9uZXJyb3I/OiBhbnk7XHJcbn1cclxuIl19
@@ -13,4 +13,4 @@ export class WMTSDataSource extends DataSource {
13
13
  }
14
14
  onUnwatch() { }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBSTVDLFlBQVksT0FBOEI7UUFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDO1lBQ0UsUUFBUSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztTQUNuRSxFQUNELElBQUksQ0FBQyxPQUFPLENBQ0YsQ0FBQztRQUViLE9BQU8sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVMsS0FBSSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ29sL3NvdXJjZS9XTVRTJztcbmltcG9ydCBvbFNvdXJjZVdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnO1xuXG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGlsZUdyaWQgfSBmcm9tICcuLi8uLi91dGlscy90aWxlZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXTVRTRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGVjbGFyZSBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVdNVFM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VXTVRTIHtcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgdGlsZUdyaWQ6IGNyZWF0ZURlZmF1bHRUaWxlR3JpZCh0aGlzLm9wdGlvbnMucHJvamVjdGlvbiBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKSBhcyBPcHRpb25zO1xuXG4gICAgcmV0dXJuIG5ldyBvbFNvdXJjZVdNVFMoc291cmNlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge31cbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBSTVDLFlBQVksT0FBOEI7UUFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDO1lBQ0UsUUFBUSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztTQUNuRSxFQUNELElBQUksQ0FBQyxPQUFPLENBQ0YsQ0FBQztRQUViLE9BQU8sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVMsS0FBSSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ29sL3NvdXJjZS9XTVRTJztcclxuaW1wb3J0IG9sU291cmNlV01UUyBmcm9tICdvbC9zb3VyY2UvV01UUyc7XHJcblxyXG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGlsZUdyaWQgfSBmcm9tICcuLi8uLi91dGlscy90aWxlZ3JpZCc7XHJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBXTVRTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dtdHMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdNVFNEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XHJcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zO1xyXG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVdNVFM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFdNVFNEYXRhU291cmNlT3B0aW9ucykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VXTVRTIHtcclxuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxyXG4gICAgICB7XHJcbiAgICAgICAgdGlsZUdyaWQ6IGNyZWF0ZURlZmF1bHRUaWxlR3JpZCh0aGlzLm9wdGlvbnMucHJvamVjdGlvbiBhcyBzdHJpbmcpXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMub3B0aW9uc1xyXG4gICAgKSBhcyBPcHRpb25zO1xyXG5cclxuICAgIHJldHVybiBuZXcgb2xTb3VyY2VXTVRTKHNvdXJjZU9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVW53YXRjaCgpIHt9XHJcbn1cclxuIl19
@@ -6,4 +6,4 @@ export class XYZDataSource extends DataSource {
6
6
  }
7
7
  onUnwatch() { }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUyxLQUFJLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VYWVogZnJvbSAnb2wvc291cmNlL1hZWic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgWFlaRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBYWVpEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IFhZWkRhdGFTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgZGVjbGFyZSBvbDogb2xTb3VyY2VYWVo7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlWFlaIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlWFlaKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge31cbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUyxLQUFJLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VYWVogZnJvbSAnb2wvc291cmNlL1hZWic7XHJcblxyXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgWFlaRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgWFlaRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xyXG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IFhZWkRhdGFTb3VyY2VPcHRpb25zO1xyXG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVhZWjtcclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlWFlaIHtcclxuICAgIHJldHVybiBuZXcgb2xTb3VyY2VYWVoodGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7fVxyXG59XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export class OptionsService {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvb3B0aW9ucy9vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFnQixjQUFjO0NBZ0JuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucyxcbiAgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi4vZGF0YXNvdXJjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xuICBhYnN0cmFjdCBnZXRXTVNPcHRpb25zKFxuICAgIF9iYXNlT3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8V01TRGF0YVNvdXJjZU9wdGlvbnM+O1xuICBhYnN0cmFjdCBnZXRBcmNnaXNSZXN0T3B0aW9ucyhcbiAgICBfYmFzZU9wdGlvbnM6XG4gICAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICAgIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPFxuICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgIHwgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICA+O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvb3B0aW9ucy9vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFnQixjQUFjO0NBZ0JuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxyXG4gIEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zLFxyXG4gIFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcclxufSBmcm9tICcuLi9kYXRhc291cmNlcyc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xyXG4gIGFic3RyYWN0IGdldFdNU09wdGlvbnMoXHJcbiAgICBfYmFzZU9wdGlvbnM6IFdNU0RhdGFTb3VyY2VPcHRpb25zLFxyXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxXTVNEYXRhU291cmNlT3B0aW9ucz47XHJcbiAgYWJzdHJhY3QgZ2V0QXJjZ2lzUmVzdE9wdGlvbnMoXHJcbiAgICBfYmFzZU9wdGlvbnM6XHJcbiAgICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXHJcbiAgICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcclxuICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxyXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxcclxuICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXHJcbiAgICB8IEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zXHJcbiAgICB8IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcclxuICA+O1xyXG59XHJcbiJdfQ==
@@ -248,7 +248,7 @@ export class DirectionsButtonsComponent {
248
248
  }
249
249
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsButtonsComponent, [{
250
250
  type: Component,
251
- args: [{ selector: 'igo-directions-buttons', template: "<div class=\"igo-form-button-group\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\"\n color=\"primary\"\n (click)=\"addStop()\"\n >\n <mat-icon svgIcon=\"map-marker-plus\"></mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"\n (routesFeatureStore.count$ | async) >= 1 ||\n (stopsStore.count$ | async) >= 1\n \"\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\"\n color=\"warn\"\n (click)=\"resetStops()\"\n >\n <mat-icon svgIcon=\"file-restore\"></mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"zoomRoute()\"\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyDirectionsToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyLinkToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"link\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"printDirections()\"\n [disabled]=\"disabled$ | async\"\n [matTooltip]=\"'igo.geo.directionsForm.print' | translate\"\n color=\"primary\"\n >\n <mat-icon svgIcon=\"printer\"></mat-icon>\n </button>\n</div>\n" }]
251
+ args: [{ selector: 'igo-directions-buttons', template: "<div class=\"igo-form-button-group\">\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\"\r\n color=\"primary\"\r\n (click)=\"addStop()\"\r\n >\r\n <mat-icon svgIcon=\"map-marker-plus\"></mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n *ngIf=\"\r\n (routesFeatureStore.count$ | async) >= 1 ||\r\n (stopsStore.count$ | async) >= 1\r\n \"\r\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\"\r\n color=\"warn\"\r\n (click)=\"resetStops()\"\r\n >\r\n <mat-icon svgIcon=\"file-restore\"></mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\r\n (click)=\"zoomRoute()\"\r\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"magnify-plus-outline\"></mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\r\n (click)=\"copyDirectionsToClipboard()\"\r\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\r\n (click)=\"copyLinkToClipboard()\"\r\n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"link\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\r\n (click)=\"printDirections()\"\r\n [disabled]=\"disabled$ | async\"\r\n [matTooltip]=\"'igo.geo.directionsForm.print' | translate\"\r\n color=\"primary\"\r\n >\r\n <mat-icon svgIcon=\"printer\"></mat-icon>\r\n </button>\r\n</div>\r\n" }]
252
252
  }], function () { return [{ type: i1.LanguageService }, { type: i1.MessageService }, { type: i1.RouteService, decorators: [{
253
253
  type: Optional
254
254
  }] }, { type: i2.DirectionsService }]; }, { contextUri: [{
@@ -262,4 +262,4 @@ export class DirectionsButtonsComponent {
262
262
  }], stepFeatureStore: [{
263
263
  type: Input
264
264
  }] }); })();
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1idXR0b25zL2RpcmVjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtYnV0dG9ucy9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDWCxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztJQ1R2QixpQ0FXQztJQURDLDBLQUFTLGVBQUEsbUJBQVksQ0FBQSxJQUFDOztJQUV0Qiw4QkFBNEM7SUFDOUMsaUJBQVM7O0lBTFAsOEZBQXNFOzs7O0lBTXhFLGlDQVFDO0lBSEMsMEtBQVMsZUFBQSxrQkFBVyxDQUFBLElBQUM7O0lB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UzsyQkFDRSx3QkFBd0I7O3NCQXFCL0IsUUFBUTt3REFYRixVQUFVO2tCQUFsQixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlLCBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyByb3VuZENvb3JkVG8gfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgRmVhdHVyZVdpdGhEaXJlY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIGFkZFN0b3BUb1N0b3JlLFxyXG4gIGZvcm1hdERpc3RhbmNlLFxyXG4gIGZvcm1hdER1cmF0aW9uLFxyXG4gIGZvcm1hdEluc3RydWN0aW9uXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZGlyZWN0aW9ucy1idXR0b25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc0J1dHRvbnNDb21wb25lbnQge1xyXG4gIGdldCBhY3RpdmVSb3V0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZVxyXG4gICAgICAuYWxsKClcclxuICAgICAgLmZpbmQoKHJvdXRlKSA9PiByb3V0ZS5wcm9wZXJ0aWVzLmFjdGl2ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGNvbnRleHRVcmk6IHN0cmluZztcclxuICBASW5wdXQoKSB6b29tVG9BY3RpdmVSb3V0ZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBJbnB1dCgpIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmU7XHJcbiAgQElucHV0KCkgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmU7XHJcbiAgQElucHV0KCkgc3RlcEZlYXR1cmVTdG9yZTogU3RlcEZlYXR1cmVTdG9yZTtcclxuXHJcbiAgcHVibGljIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IFJvdXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlyZWN0aW9uc1NlcnZpY2U6IERpcmVjdGlvbnNTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICByZXNldFN0b3BzKCkge1xyXG4gICAgdGhpcy5zdG9wc1N0b3JlLmNsZWFyU3RvcHMoKTtcclxuICB9XHJcblxyXG4gIC8vIHN0b3AgYXJlIGFsd2F5cyBhZGRlZCBiZWZvcmUgdGhlIGxhc3Qgc3RvcC5cclxuICBhZGRTdG9wKCk6IHZvaWQge1xyXG4gICAgYWRkU3RvcFRvU3RvcmUodGhpcy5zdG9wc1N0b3JlKTtcclxuICB9XHJcblxyXG4gIGNvcHlMaW5rVG9DbGlwYm9hcmQoKSB7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGhpcy5nZXRVcmwoKSk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZGlhbG9nLmNvcHlNc2dMaW5rJyxcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kaWFsb2cuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgem9vbVJvdXRlKCkge1xyXG4gICAgdGhpcy56b29tVG9BY3RpdmVSb3V0ZSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgY29weURpcmVjdGlvbnNUb0NsaXBib2FyZCgpIHtcclxuICAgIGNvbnN0IGRpcmVjdGlvbnNCb2R5ID0gdGhpcy5kaXJlY3Rpb25zVG9UZXh0KCk7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkoZGlyZWN0aW9uc0JvZHkpO1xyXG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmRpYWxvZy5jb3B5TXNnJyxcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kaWFsb2cuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXJlY3Rpb25zVG9UZXh0KCkge1xyXG4gICAgY29uc3QgaW5kZW50ID0gJ1xcdCc7XHJcbiAgICBsZXQgYWN0aXZlUm91dGVEaXJlY3RpdmUgPVxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5pbnN0cnVjdGlvbnMnXHJcbiAgICAgICkgKyAnOlxcbic7XHJcbiAgICBsZXQgd2F5UG9pbnRMaXN0ID0gJyc7XHJcbiAgICBjb25zdCBzdW1tYXJ5ID1cclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3VtbWFyeScpICtcclxuICAgICAgJzogXFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb24udGl0bGUgK1xyXG4gICAgICAnXFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIGZvcm1hdERpc3RhbmNlKHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb24uZGlzdGFuY2UpICtcclxuICAgICAgJ1xcbicgK1xyXG4gICAgICBpbmRlbnQgK1xyXG4gICAgICBmb3JtYXREdXJhdGlvbih0aGlzLmFjdGl2ZVJvdXRlLnByb3BlcnRpZXMuZGlyZWN0aW9uLmR1cmF0aW9uKSArXHJcbiAgICAgICdcXG5cXG4nICtcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3RvcHNMaXN0J1xyXG4gICAgICApICtcclxuICAgICAgJzpcXG4nO1xyXG5cclxuICAgIGNvbnN0IHVybCA9XHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmxpbmsnKSArXHJcbiAgICAgICc6XFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIHRoaXMuZ2V0VXJsKCk7XHJcblxyXG4gICAgbGV0IHdheVBvaW50c0NudCA9IDE7XHJcbiAgICB0aGlzLnN0b3BzU3RvcmUudmlldy5hbGwoKS5mb3JFYWNoKChzdG9wKSA9PiB7XHJcbiAgICAgIGxldCBjb29yZCA9ICcnO1xyXG4gICAgICBsZXQgc3RvcFRleHQgPSAnJztcclxuICAgICAgaWYgKHN0b3AudGV4dCAhPT0gcm91bmRDb29yZFRvKHN0b3AuY29vcmRpbmF0ZXMpLmpvaW4oJywnKSkge1xyXG4gICAgICAgIHN0b3BUZXh0ID0gc3RvcC50ZXh0O1xyXG4gICAgICAgIGNvb3JkID0gYCAoICR7cm91bmRDb29yZFRvKHN0b3AuY29vcmRpbmF0ZXMpLmpvaW4oJywnKX0gKWA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3RvcFRleHQgPSByb3VuZENvb3JkVG8oc3RvcC5jb29yZGluYXRlcykuam9pbignLCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3YXlQb2ludExpc3QgPVxyXG4gICAgICAgIHdheVBvaW50TGlzdCArXHJcbiAgICAgICAgaW5kZW50ICtcclxuICAgICAgICB3YXlQb2ludHNDbnQudG9Mb2NhbGVTdHJpbmcoKSArXHJcbiAgICAgICAgJy4gJyArXHJcbiAgICAgICAgc3RvcFRleHQgK1xyXG4gICAgICAgIGNvb3JkICtcclxuICAgICAgICAnXFxuJztcclxuICAgICAgd2F5UG9pbnRzQ250Kys7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgbG9jYWxDbnQgPSAwO1xyXG4gICAgdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbi5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluc3RydWN0aW9uID0gdGhpcy5mb3JtYXRTdGVwKHN0ZXAsIGxvY2FsQ250KS5pbnN0cnVjdGlvbjtcclxuICAgICAgY29uc3QgZGlzdGFuY2UgPVxyXG4gICAgICAgIGZvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpID09PSB1bmRlZmluZWRcclxuICAgICAgICAgID8gJydcclxuICAgICAgICAgIDogJyAoJyArIGZvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpICsgJyknO1xyXG4gICAgICBhY3RpdmVSb3V0ZURpcmVjdGl2ZSA9XHJcbiAgICAgICAgYWN0aXZlUm91dGVEaXJlY3RpdmUgK1xyXG4gICAgICAgIGluZGVudCArXHJcbiAgICAgICAgKGxvY2FsQ250ICsgMSkudG9Mb2NhbGVTdHJpbmcoKSArXHJcbiAgICAgICAgJy4gJyArXHJcbiAgICAgICAgaW5zdHJ1Y3Rpb24gK1xyXG4gICAgICAgIGRpc3RhbmNlICtcclxuICAgICAgICAnXFxuJztcclxuICAgICAgbG9jYWxDbnQrKztcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGRpcmVjdGlvbnNCb2R5ID1cclxuICAgICAgc3VtbWFyeSArIHdheVBvaW50TGlzdCArICdcXG4nICsgdXJsICsgJ1xcblxcbicgKyBhY3RpdmVSb3V0ZURpcmVjdGl2ZTtcclxuXHJcbiAgICByZXR1cm4gZGlyZWN0aW9uc0JvZHk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRTdGVwKHN0ZXAsIGNudCkge1xyXG4gICAgcmV0dXJuIGZvcm1hdEluc3RydWN0aW9uKFxyXG4gICAgICBzdGVwLm1hbmV1dmVyLnR5cGUsXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIubW9kaWZpZXIsXHJcbiAgICAgIHN0ZXAubmFtZSxcclxuICAgICAgc3RlcC5tYW5ldXZlci5iZWFyaW5nX2FmdGVyLFxyXG4gICAgICBjbnQsXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIuZXhpdCxcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXHJcbiAgICAgIGNudCA9PT0gdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRVcmwoKSB7XHJcbiAgICBpZiAoIXRoaXMucm91dGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNvbnRleHQgPSAnJztcclxuICAgIGlmICh0aGlzLmNvbnRleHRVcmkpIHtcclxuICAgICAgY29udGV4dCA9IGBjb250ZXh0PSR7dGhpcy5jb250ZXh0VXJpfSZgO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBvcyA9IHRoaXMucm91dGVzRmVhdHVyZVN0b3JlXHJcbiAgICAgIC5hbGwoKVxyXG4gICAgICAubWFwKChkaXJlY3Rpb246IEZlYXR1cmVXaXRoRGlyZWN0aW9uKSA9PiBkaXJlY3Rpb24ucHJvcGVydGllcy5pZClcclxuICAgICAgLmluZGV4T2YodGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmlkKTtcclxuICAgIGxldCByb3V0aW5nT3B0aW9ucyA9ICcnO1xyXG4gICAgaWYgKHBvcyAhPT0gMCkge1xyXG4gICAgICBjb25zdCByb3V0aW5nT3B0aW9uc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5kaXJlY3Rpb25zT3B0aW9uc0tleTtcclxuICAgICAgcm91dGluZ09wdGlvbnMgPSBgJiR7cm91dGluZ09wdGlvbnNLZXl9PXJlc3VsdDoke3Bvc31gO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGlyZWN0aW9uc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5kaXJlY3Rpb25zQ29vcmRLZXk7XHJcbiAgICBjb25zdCBzdG9wc0Nvb3JkaW5hdGVzID0gdGhpcy5zdG9wc1N0b3JlLnZpZXdcclxuICAgICAgLmFsbCgpXHJcbiAgICAgIC5tYXAoKHN0b3ApID0+IHJvdW5kQ29vcmRUbyhzdG9wLmNvb3JkaW5hdGVzLCA2KSk7XHJcbiAgICBsZXQgZGlyZWN0aW9uc1VybCA9ICcnO1xyXG4gICAgaWYgKHN0b3BzQ29vcmRpbmF0ZXMubGVuZ3RoID49IDIpIHtcclxuICAgICAgZGlyZWN0aW9uc1VybCA9IGAke2RpcmVjdGlvbnNLZXl9PSR7c3RvcHNDb29yZGluYXRlcy5qb2luKCc7Jyl9YDtcclxuICAgICAgcmV0dXJuIGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9dG9vbD1kaXJlY3Rpb25zJnNpZGVuYXY9MSYke2RpcmVjdGlvbnNVcmx9JHtyb3V0aW5nT3B0aW9uc31gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHJpbnREaXJlY3Rpb25zKCkge1xyXG4gICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmNsZWFyKCk7XHJcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kaXJlY3Rpb25zU2VydmljZVxyXG4gICAgICAuZG93bmxvYWREaXJlY3Rpb24oXHJcbiAgICAgICAgdGhpcy5yb3V0ZXNGZWF0dXJlU3RvcmUubWFwLFxyXG4gICAgICAgIHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb25cclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXBcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uYWRkU3RvcCcgfCB0cmFuc2xhdGVcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKGNsaWNrKT1cImFkZFN0b3AoKVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hcC1tYXJrZXItcGx1c1wiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAqbmdJZj1cIlxuICAgICAgKHJvdXRlc0ZlYXR1cmVTdG9yZS5jb3VudCQgfCBhc3luYykgPj0gMSB8fFxuICAgICAgKHN0b3BzU3RvcmUuY291bnQkIHwgYXN5bmMpID49IDFcbiAgICBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnJlc2V0RGlyZWN0aW9uc0J0bicgfCB0cmFuc2xhdGVcIlxuICAgIGNvbG9yPVwid2FyblwiXG4gICAgKGNsaWNrKT1cInJlc2V0U3RvcHMoKVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImZpbGUtcmVzdG9yZVwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAqbmdJZj1cIihyb3V0ZXNGZWF0dXJlU3RvcmUuY291bnQkIHwgYXN5bmMpID49IDFcIlxuICAgIChjbGljayk9XCJ6b29tUm91dGUoKVwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uem9vbVJvdXRlJyB8IHRyYW5zbGF0ZVwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWFnbmlmeS1wbHVzLW91dGxpbmVcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgKm5nSWY9XCIocm91dGVzRmVhdHVyZVN0b3JlLmNvdW50JCB8IGFzeW5jKSA+PSAxXCJcbiAgICAoY2xpY2spPVwiY29weURpcmVjdGlvbnNUb0NsaXBib2FyZCgpXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5jb3B5JyB8IHRyYW5zbGF0ZVwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICpuZ0lmPVwiKHJvdXRlc0ZlYXR1cmVTdG9yZS5jb3VudCQgfCBhc3luYykgPj0gMVwiXG4gICAgKGNsaWNrKT1cImNvcHlMaW5rVG9DbGlwYm9hcmQoKVwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ubGluaycgfCB0cmFuc2xhdGVcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImxpbmtcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAqbmdJZj1cIihyb3V0ZXNGZWF0dXJlU3RvcmUuY291bnQkIHwgYXN5bmMpID49IDFcIlxuICAgIChjbGljayk9XCJwcmludERpcmVjdGlvbnMoKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5wcmludCcgfCB0cmFuc2xhdGVcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cInByaW50ZXJcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1idXR0b25zL2RpcmVjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtYnV0dG9ucy9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDWCxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztJQ1R2QixpQ0FXQztJQURDLDBLQUFTLGVBQUEsbUJBQVksQ0FBQSxJQUFDOztJQUV0Qiw4QkFBNEM7SUFDOUMsaUJBQVM7O0lBTFAsOEZBQXNFOzs7O0lBTXhFLGlDQVFDO0lBSEMsMEtBQVMsZUFBQSxrQkFBVyxDQUFBLElBQUM7O0lB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UzsyQkFDRSx3QkFBd0I7O3NCQXFCL0IsUUFBUTt3REFYRixVQUFVO2tCQUFsQixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlLCBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyByb3VuZENvb3JkVG8gfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgRmVhdHVyZVdpdGhEaXJlY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIGFkZFN0b3BUb1N0b3JlLFxyXG4gIGZvcm1hdERpc3RhbmNlLFxyXG4gIGZvcm1hdER1cmF0aW9uLFxyXG4gIGZvcm1hdEluc3RydWN0aW9uXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZGlyZWN0aW9ucy1idXR0b25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc0J1dHRvbnNDb21wb25lbnQge1xyXG4gIGdldCBhY3RpdmVSb3V0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZVxyXG4gICAgICAuYWxsKClcclxuICAgICAgLmZpbmQoKHJvdXRlKSA9PiByb3V0ZS5wcm9wZXJ0aWVzLmFjdGl2ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGNvbnRleHRVcmk6IHN0cmluZztcclxuICBASW5wdXQoKSB6b29tVG9BY3RpdmVSb3V0ZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBJbnB1dCgpIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmU7XHJcbiAgQElucHV0KCkgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmU7XHJcbiAgQElucHV0KCkgc3RlcEZlYXR1cmVTdG9yZTogU3RlcEZlYXR1cmVTdG9yZTtcclxuXHJcbiAgcHVibGljIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IFJvdXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlyZWN0aW9uc1NlcnZpY2U6IERpcmVjdGlvbnNTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICByZXNldFN0b3BzKCkge1xyXG4gICAgdGhpcy5zdG9wc1N0b3JlLmNsZWFyU3RvcHMoKTtcclxuICB9XHJcblxyXG4gIC8vIHN0b3AgYXJlIGFsd2F5cyBhZGRlZCBiZWZvcmUgdGhlIGxhc3Qgc3RvcC5cclxuICBhZGRTdG9wKCk6IHZvaWQge1xyXG4gICAgYWRkU3RvcFRvU3RvcmUodGhpcy5zdG9wc1N0b3JlKTtcclxuICB9XHJcblxyXG4gIGNvcHlMaW5rVG9DbGlwYm9hcmQoKSB7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGhpcy5nZXRVcmwoKSk7XHJcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZGlhbG9nLmNvcHlNc2dMaW5rJyxcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kaWFsb2cuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgem9vbVJvdXRlKCkge1xyXG4gICAgdGhpcy56b29tVG9BY3RpdmVSb3V0ZSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgY29weURpcmVjdGlvbnNUb0NsaXBib2FyZCgpIHtcclxuICAgIGNvbnN0IGRpcmVjdGlvbnNCb2R5ID0gdGhpcy5kaXJlY3Rpb25zVG9UZXh0KCk7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkoZGlyZWN0aW9uc0JvZHkpO1xyXG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmRpYWxvZy5jb3B5TXNnJyxcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5kaWFsb2cuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXJlY3Rpb25zVG9UZXh0KCkge1xyXG4gICAgY29uc3QgaW5kZW50ID0gJ1xcdCc7XHJcbiAgICBsZXQgYWN0aXZlUm91dGVEaXJlY3RpdmUgPVxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5pbnN0cnVjdGlvbnMnXHJcbiAgICAgICkgKyAnOlxcbic7XHJcbiAgICBsZXQgd2F5UG9pbnRMaXN0ID0gJyc7XHJcbiAgICBjb25zdCBzdW1tYXJ5ID1cclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3VtbWFyeScpICtcclxuICAgICAgJzogXFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb24udGl0bGUgK1xyXG4gICAgICAnXFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIGZvcm1hdERpc3RhbmNlKHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb24uZGlzdGFuY2UpICtcclxuICAgICAgJ1xcbicgK1xyXG4gICAgICBpbmRlbnQgK1xyXG4gICAgICBmb3JtYXREdXJhdGlvbih0aGlzLmFjdGl2ZVJvdXRlLnByb3BlcnRpZXMuZGlyZWN0aW9uLmR1cmF0aW9uKSArXHJcbiAgICAgICdcXG5cXG4nICtcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3RvcHNMaXN0J1xyXG4gICAgICApICtcclxuICAgICAgJzpcXG4nO1xyXG5cclxuICAgIGNvbnN0IHVybCA9XHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmxpbmsnKSArXHJcbiAgICAgICc6XFxuJyArXHJcbiAgICAgIGluZGVudCArXHJcbiAgICAgIHRoaXMuZ2V0VXJsKCk7XHJcblxyXG4gICAgbGV0IHdheVBvaW50c0NudCA9IDE7XHJcbiAgICB0aGlzLnN0b3BzU3RvcmUudmlldy5hbGwoKS5mb3JFYWNoKChzdG9wKSA9PiB7XHJcbiAgICAgIGxldCBjb29yZCA9ICcnO1xyXG4gICAgICBsZXQgc3RvcFRleHQgPSAnJztcclxuICAgICAgaWYgKHN0b3AudGV4dCAhPT0gcm91bmRDb29yZFRvKHN0b3AuY29vcmRpbmF0ZXMpLmpvaW4oJywnKSkge1xyXG4gICAgICAgIHN0b3BUZXh0ID0gc3RvcC50ZXh0O1xyXG4gICAgICAgIGNvb3JkID0gYCAoICR7cm91bmRDb29yZFRvKHN0b3AuY29vcmRpbmF0ZXMpLmpvaW4oJywnKX0gKWA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3RvcFRleHQgPSByb3VuZENvb3JkVG8oc3RvcC5jb29yZGluYXRlcykuam9pbignLCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3YXlQb2ludExpc3QgPVxyXG4gICAgICAgIHdheVBvaW50TGlzdCArXHJcbiAgICAgICAgaW5kZW50ICtcclxuICAgICAgICB3YXlQb2ludHNDbnQudG9Mb2NhbGVTdHJpbmcoKSArXHJcbiAgICAgICAgJy4gJyArXHJcbiAgICAgICAgc3RvcFRleHQgK1xyXG4gICAgICAgIGNvb3JkICtcclxuICAgICAgICAnXFxuJztcclxuICAgICAgd2F5UG9pbnRzQ250Kys7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgbG9jYWxDbnQgPSAwO1xyXG4gICAgdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbi5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluc3RydWN0aW9uID0gdGhpcy5mb3JtYXRTdGVwKHN0ZXAsIGxvY2FsQ250KS5pbnN0cnVjdGlvbjtcclxuICAgICAgY29uc3QgZGlzdGFuY2UgPVxyXG4gICAgICAgIGZvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpID09PSB1bmRlZmluZWRcclxuICAgICAgICAgID8gJydcclxuICAgICAgICAgIDogJyAoJyArIGZvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpICsgJyknO1xyXG4gICAgICBhY3RpdmVSb3V0ZURpcmVjdGl2ZSA9XHJcbiAgICAgICAgYWN0aXZlUm91dGVEaXJlY3RpdmUgK1xyXG4gICAgICAgIGluZGVudCArXHJcbiAgICAgICAgKGxvY2FsQ250ICsgMSkudG9Mb2NhbGVTdHJpbmcoKSArXHJcbiAgICAgICAgJy4gJyArXHJcbiAgICAgICAgaW5zdHJ1Y3Rpb24gK1xyXG4gICAgICAgIGRpc3RhbmNlICtcclxuICAgICAgICAnXFxuJztcclxuICAgICAgbG9jYWxDbnQrKztcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGRpcmVjdGlvbnNCb2R5ID1cclxuICAgICAgc3VtbWFyeSArIHdheVBvaW50TGlzdCArICdcXG4nICsgdXJsICsgJ1xcblxcbicgKyBhY3RpdmVSb3V0ZURpcmVjdGl2ZTtcclxuXHJcbiAgICByZXR1cm4gZGlyZWN0aW9uc0JvZHk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRTdGVwKHN0ZXAsIGNudCkge1xyXG4gICAgcmV0dXJuIGZvcm1hdEluc3RydWN0aW9uKFxyXG4gICAgICBzdGVwLm1hbmV1dmVyLnR5cGUsXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIubW9kaWZpZXIsXHJcbiAgICAgIHN0ZXAubmFtZSxcclxuICAgICAgc3RlcC5tYW5ldXZlci5iZWFyaW5nX2FmdGVyLFxyXG4gICAgICBjbnQsXHJcbiAgICAgIHN0ZXAubWFuZXV2ZXIuZXhpdCxcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXHJcbiAgICAgIGNudCA9PT0gdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRVcmwoKSB7XHJcbiAgICBpZiAoIXRoaXMucm91dGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNvbnRleHQgPSAnJztcclxuICAgIGlmICh0aGlzLmNvbnRleHRVcmkpIHtcclxuICAgICAgY29udGV4dCA9IGBjb250ZXh0PSR7dGhpcy5jb250ZXh0VXJpfSZgO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBvcyA9IHRoaXMucm91dGVzRmVhdHVyZVN0b3JlXHJcbiAgICAgIC5hbGwoKVxyXG4gICAgICAubWFwKChkaXJlY3Rpb246IEZlYXR1cmVXaXRoRGlyZWN0aW9uKSA9PiBkaXJlY3Rpb24ucHJvcGVydGllcy5pZClcclxuICAgICAgLmluZGV4T2YodGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmlkKTtcclxuICAgIGxldCByb3V0aW5nT3B0aW9ucyA9ICcnO1xyXG4gICAgaWYgKHBvcyAhPT0gMCkge1xyXG4gICAgICBjb25zdCByb3V0aW5nT3B0aW9uc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5kaXJlY3Rpb25zT3B0aW9uc0tleTtcclxuICAgICAgcm91dGluZ09wdGlvbnMgPSBgJiR7cm91dGluZ09wdGlvbnNLZXl9PXJlc3VsdDoke3Bvc31gO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGlyZWN0aW9uc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5kaXJlY3Rpb25zQ29vcmRLZXk7XHJcbiAgICBjb25zdCBzdG9wc0Nvb3JkaW5hdGVzID0gdGhpcy5zdG9wc1N0b3JlLnZpZXdcclxuICAgICAgLmFsbCgpXHJcbiAgICAgIC5tYXAoKHN0b3ApID0+IHJvdW5kQ29vcmRUbyhzdG9wLmNvb3JkaW5hdGVzLCA2KSk7XHJcbiAgICBsZXQgZGlyZWN0aW9uc1VybCA9ICcnO1xyXG4gICAgaWYgKHN0b3BzQ29vcmRpbmF0ZXMubGVuZ3RoID49IDIpIHtcclxuICAgICAgZGlyZWN0aW9uc1VybCA9IGAke2RpcmVjdGlvbnNLZXl9PSR7c3RvcHNDb29yZGluYXRlcy5qb2luKCc7Jyl9YDtcclxuICAgICAgcmV0dXJuIGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9dG9vbD1kaXJlY3Rpb25zJnNpZGVuYXY9MSYke2RpcmVjdGlvbnNVcmx9JHtyb3V0aW5nT3B0aW9uc31gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHJpbnREaXJlY3Rpb25zKCkge1xyXG4gICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmNsZWFyKCk7XHJcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kaXJlY3Rpb25zU2VydmljZVxyXG4gICAgICAuZG93bmxvYWREaXJlY3Rpb24oXHJcbiAgICAgICAgdGhpcy5yb3V0ZXNGZWF0dXJlU3RvcmUubWFwLFxyXG4gICAgICAgIHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb25cclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXBcIj5cclxuICA8YnV0dG9uXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmFkZFN0b3AnIHwgdHJhbnNsYXRlXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAoY2xpY2spPVwiYWRkU3RvcCgpXCJcclxuICA+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hcC1tYXJrZXItcGx1c1wiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAqbmdJZj1cIlxyXG4gICAgICAocm91dGVzRmVhdHVyZVN0b3JlLmNvdW50JCB8IGFzeW5jKSA+PSAxIHx8XHJcbiAgICAgIChzdG9wc1N0b3JlLmNvdW50JCB8IGFzeW5jKSA+PSAxXHJcbiAgICBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ucmVzZXREaXJlY3Rpb25zQnRuJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgKGNsaWNrKT1cInJlc2V0U3RvcHMoKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJmaWxlLXJlc3RvcmVcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgKm5nSWY9XCIocm91dGVzRmVhdHVyZVN0b3JlLmNvdW50JCB8IGFzeW5jKSA+PSAxXCJcclxuICAgIChjbGljayk9XCJ6b29tUm91dGUoKVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS56b29tUm91dGUnIHwgdHJhbnNsYXRlXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYWduaWZ5LXBsdXMtb3V0bGluZVwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAqbmdJZj1cIihyb3V0ZXNGZWF0dXJlU3RvcmUuY291bnQkIHwgYXN5bmMpID49IDFcIlxyXG4gICAgKGNsaWNrKT1cImNvcHlEaXJlY3Rpb25zVG9DbGlwYm9hcmQoKVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5jb3B5JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICpuZ0lmPVwiKHJvdXRlc0ZlYXR1cmVTdG9yZS5jb3VudCQgfCBhc3luYykgPj0gMVwiXHJcbiAgICAoY2xpY2spPVwiY29weUxpbmtUb0NsaXBib2FyZCgpXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmxpbmsnIHwgdHJhbnNsYXRlXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJsaW5rXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAqbmdJZj1cIihyb3V0ZXNGZWF0dXJlU3RvcmUuY291bnQkIHwgYXN5bmMpID49IDFcIlxyXG4gICAgKGNsaWNrKT1cInByaW50RGlyZWN0aW9ucygpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5wcmludCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICA+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cInByaW50ZXJcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19