@igo2/geo 17.0.1-next.2 → 18.0.0-next.10

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 (418) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +4 -4
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -9
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +16 -13
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +4 -4
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +4 -4
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -5
  9. package/esm2022/lib/catalog/catalog.module.mjs +5 -5
  10. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.service.mjs +4 -4
  12. package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
  13. package/esm2022/lib/datasource/shared/datasource.service.mjs +4 -4
  14. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
  16. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
  18. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
  20. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
  22. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
  24. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
  26. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
  28. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +73 -2
  37. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +4 -4
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
  41. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +4 -4
  46. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
  47. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +10 -4
  51. package/esm2022/lib/directions/directions.module.mjs +5 -5
  52. package/esm2022/lib/directions/shared/directions.service.mjs +4 -4
  53. package/esm2022/lib/download/download-button/download-button.component.mjs +10 -22
  54. package/esm2022/lib/download/download.module.mjs +5 -5
  55. package/esm2022/lib/download/shared/download.service.mjs +4 -4
  56. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
  57. package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
  58. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +4 -4
  59. package/esm2022/lib/draw/draw/draw.component.mjs +8 -15
  60. package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
  61. package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
  62. package/esm2022/lib/draw/shared/draw-icon.service.mjs +4 -4
  63. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  64. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +5 -5
  65. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
  66. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +5 -5
  67. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
  68. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
  69. package/esm2022/lib/feature/feature.module.mjs +5 -5
  70. package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
  71. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  72. package/esm2022/lib/feature/shared/store.mjs +1 -1
  73. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
  74. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
  75. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
  76. package/esm2022/lib/filter/filter.module.mjs +5 -5
  77. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
  78. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +4 -4
  79. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
  80. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +4 -4
  81. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +4 -4
  82. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +4 -4
  83. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +5 -5
  84. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -6
  85. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +4 -4
  86. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +11 -4
  87. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +4 -4
  88. package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
  89. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +4 -4
  90. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +4 -4
  91. package/esm2022/lib/filter/shared/time-filter.service.mjs +4 -4
  92. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -11
  94. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +5 -11
  95. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +5 -5
  96. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +15 -12
  97. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +5 -5
  98. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +7 -5
  99. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +7 -18
  100. package/esm2022/lib/geo.module.mjs +5 -5
  101. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +4 -4
  102. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +4 -4
  103. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -5
  104. package/esm2022/lib/geometry/geometry.module.mjs +5 -5
  105. package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -20
  106. package/esm2022/lib/import-export/import-export/import-export.component.mjs +215 -323
  107. package/esm2022/lib/import-export/import-export.module.mjs +5 -5
  108. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -4
  109. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  110. package/esm2022/lib/import-export/shared/export.service.mjs +257 -91
  111. package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
  112. package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
  113. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  114. package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
  115. package/esm2022/lib/layer/index.mjs +10 -5
  116. package/esm2022/lib/layer/layer-group/index.mjs +2 -0
  117. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
  118. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +62 -129
  119. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -10
  120. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
  121. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -9
  122. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +16 -23
  123. package/esm2022/lib/layer/layer-list/index.mjs +1 -3
  124. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +177 -776
  125. package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
  126. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +52 -85
  127. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
  128. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +57 -17
  129. package/esm2022/lib/layer/layer-search/index.mjs +2 -0
  130. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
  131. package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
  132. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
  133. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
  134. package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
  135. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
  136. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
  137. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
  138. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
  139. package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
  140. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
  141. package/esm2022/lib/layer/layer.module.mjs +54 -36
  142. package/esm2022/lib/layer/shared/index.mjs +2 -1
  143. package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
  144. package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
  145. package/esm2022/lib/layer/shared/layer.service.mjs +73 -27
  146. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
  150. package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
  151. package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
  152. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
  153. package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
  154. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
  155. package/esm2022/lib/layer/shared/layers/layer.mjs +114 -118
  156. package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
  157. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
  158. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
  159. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
  160. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
  161. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +22 -19
  162. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
  163. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +4 -4
  164. package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
  165. package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
  166. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
  167. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -9
  168. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +4 -4
  169. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
  170. package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
  171. package/esm2022/lib/map/map-browser/map-browser.component.mjs +4 -4
  172. package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
  173. package/esm2022/lib/map/map.module.mjs +5 -5
  174. package/esm2022/lib/map/menu-button/menu-button.component.mjs +4 -4
  175. package/esm2022/lib/map/offline-button/offline-button.component.mjs +4 -4
  176. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +4 -4
  177. package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -13
  178. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
  179. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  180. package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
  181. package/esm2022/lib/map/shared/map.mjs +7 -243
  182. package/esm2022/lib/map/shared/map.service.mjs +4 -4
  183. package/esm2022/lib/map/shared/mapOffline.directive.mjs +12 -8
  184. package/esm2022/lib/map/shared/projection.service.mjs +4 -4
  185. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
  186. package/esm2022/lib/map/utils/index.mjs +2 -0
  187. package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
  188. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
  189. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
  190. package/esm2022/lib/measure/measure.module.mjs +5 -5
  191. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
  192. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
  193. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  194. package/esm2022/lib/measure/measurer/measurer.component.mjs +10 -28
  195. package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
  196. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -23
  197. package/esm2022/lib/metadata/metadata.module.mjs +5 -5
  198. package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
  199. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -8
  200. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +21 -22
  201. package/esm2022/lib/offline/index.mjs +3 -1
  202. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +16 -17
  203. package/esm2022/lib/offline/offline.interface.mjs +2 -0
  204. package/esm2022/lib/offline/offline.provider.mjs +51 -0
  205. package/esm2022/lib/offline/shared/geo-network.service.mjs +15 -16
  206. package/esm2022/lib/overlay/shared/overlay.mjs +3 -2
  207. package/esm2022/lib/print/print/print.component.mjs +4 -4
  208. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  209. package/esm2022/lib/print/print.module.mjs +5 -5
  210. package/esm2022/lib/print/shared/print.service.mjs +6 -6
  211. package/esm2022/lib/query/query.module.mjs +5 -5
  212. package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
  213. package/esm2022/lib/query/shared/query.directive.mjs +12 -8
  214. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  215. package/esm2022/lib/query/shared/query.utils.mjs +5 -1
  216. package/esm2022/lib/search/search-bar/search-bar.component.mjs +4 -4
  217. package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
  218. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  219. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +18 -12
  220. package/esm2022/lib/search/search-results/search-results-item.component.mjs +4 -4
  221. package/esm2022/lib/search/search-results/search-results.component.mjs +4 -4
  222. package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
  223. package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
  224. package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
  225. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  226. package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
  227. package/esm2022/lib/search/search.module.mjs +5 -5
  228. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -14
  229. package/esm2022/lib/search/shared/search.service.mjs +4 -4
  230. package/esm2022/lib/search/shared/sources/cadastre.mjs +4 -4
  231. package/esm2022/lib/search/shared/sources/coordinates.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/icherche.mjs +10 -10
  233. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  234. package/esm2022/lib/search/shared/sources/ilayer.mjs +7 -7
  235. package/esm2022/lib/search/shared/sources/nominatim.mjs +4 -4
  236. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  237. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/workspace.mjs +4 -4
  239. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  240. package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
  241. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +4 -4
  242. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +4 -4
  243. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
  244. package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
  245. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  246. package/esm2022/lib/style/style.module.mjs +5 -5
  247. package/esm2022/lib/toast/toast.component.mjs +4 -4
  248. package/esm2022/lib/toast/toast.module.mjs +5 -5
  249. package/esm2022/lib/utils/id-generator.mjs +1 -1
  250. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +4 -4
  251. package/esm2022/lib/wkt/shared/wkt.service.mjs +4 -4
  252. package/esm2022/lib/wkt/wkt.module.mjs +5 -5
  253. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
  254. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
  255. package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
  256. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +22 -20
  257. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +4 -4
  258. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +20 -5
  259. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +25 -7
  260. package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
  261. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
  262. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
  263. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -5
  264. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
  265. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  266. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
  267. package/esm2022/lib/workspace/workspace.module.mjs +5 -5
  268. package/fesm2022/igo2-geo.mjs +19275 -18300
  269. package/fesm2022/igo2-geo.mjs.map +1 -1
  270. package/lib/catalog/shared/catalog.enum.d.ts +1 -3
  271. package/lib/datasource/shared/capabilities.service.d.ts +7 -2
  272. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
  273. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
  274. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
  275. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
  276. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
  277. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
  278. package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
  279. package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
  280. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
  281. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
  282. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
  283. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
  284. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
  285. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
  286. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
  287. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
  288. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
  289. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
  290. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +16 -0
  291. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
  292. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
  293. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +7 -7
  294. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
  295. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
  296. package/lib/download/download-button/download-button.component.d.ts +4 -8
  297. package/lib/download/shared/download.service.d.ts +1 -1
  298. package/lib/draw/draw/draw.component.d.ts +2 -2
  299. package/lib/environment/environment.interface.d.ts +2 -0
  300. package/lib/feature/shared/feature-store.utils.d.ts +2 -2
  301. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  302. package/lib/feature/shared/store.d.ts +2 -2
  303. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  304. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  305. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
  306. package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
  307. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
  308. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
  309. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
  310. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  311. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
  312. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  313. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
  314. package/lib/import-export/export-button/export-button.component.d.ts +3 -7
  315. package/lib/import-export/import-export/import-export.component.d.ts +23 -16
  316. package/lib/import-export/shared/export.interface.d.ts +10 -3
  317. package/lib/import-export/shared/export.service.d.ts +28 -15
  318. package/lib/import-export/shared/export.type.d.ts +8 -16
  319. package/lib/import-export/shared/export.utils.d.ts +2 -0
  320. package/lib/layer/index.d.ts +9 -4
  321. package/lib/layer/layer-group/index.d.ts +1 -0
  322. package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
  323. package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
  324. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
  325. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
  326. package/lib/layer/layer-list/index.d.ts +0 -2
  327. package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
  328. package/lib/layer/layer-list-tool/index.d.ts +0 -1
  329. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
  330. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
  331. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
  332. package/lib/layer/layer-search/index.d.ts +1 -0
  333. package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
  334. package/lib/layer/layer-unavailable/index.d.ts +2 -0
  335. package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
  336. package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
  337. package/lib/layer/layer-viewer/index.d.ts +2 -0
  338. package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
  339. package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
  340. package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
  341. package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
  342. package/lib/layer/layer-visibility-button/index.d.ts +1 -0
  343. package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
  344. package/lib/layer/layer.module.d.ts +18 -6
  345. package/lib/layer/shared/index.d.ts +1 -0
  346. package/lib/layer/shared/layer-controller.d.ts +81 -0
  347. package/lib/layer/shared/layer-selection.d.ts +14 -0
  348. package/lib/layer/shared/layer.service.d.ts +17 -8
  349. package/lib/layer/shared/layers/any-layer.d.ts +3 -6
  350. package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
  351. package/lib/layer/shared/layers/image-layer.d.ts +5 -2
  352. package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
  353. package/lib/layer/shared/layers/index.d.ts +5 -0
  354. package/lib/layer/shared/layers/layer-base.d.ts +75 -0
  355. package/lib/layer/shared/layers/layer-group.d.ts +32 -0
  356. package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
  357. package/lib/layer/shared/layers/layer.d.ts +28 -49
  358. package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
  359. package/lib/layer/shared/layers/linked/index.d.ts +3 -0
  360. package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
  361. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
  362. package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
  363. package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
  364. package/lib/layer/shared/layers/vector-layer.d.ts +8 -7
  365. package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
  366. package/lib/layer/utils/layer.utils.d.ts +12 -2
  367. package/lib/layer/utils/outputLegend.d.ts +2 -2
  368. package/lib/map/shared/hover-feature.directive.d.ts +0 -1
  369. package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
  370. package/lib/map/shared/map.abstract.d.ts +12 -29
  371. package/lib/map/shared/map.d.ts +10 -85
  372. package/lib/map/shared/map.service.d.ts +1 -1
  373. package/lib/map/utils/index.d.ts +1 -0
  374. package/lib/map/utils/layer-watcher.d.ts +18 -8
  375. package/lib/measure/measurer/measurer.component.d.ts +0 -8
  376. package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
  377. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  378. package/lib/offline/index.d.ts +2 -0
  379. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  380. package/lib/offline/offline.interface.d.ts +3 -0
  381. package/lib/offline/offline.provider.d.ts +3 -0
  382. package/lib/offline/shared/geo-network.service.d.ts +3 -3
  383. package/lib/overlay/shared/overlay.d.ts +2 -1
  384. package/lib/query/shared/query.service.d.ts +1 -1
  385. package/lib/query/shared/query.utils.d.ts +2 -1
  386. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  387. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
  388. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  389. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  390. package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
  391. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  392. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  393. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  394. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  395. package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
  396. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  397. package/lib/utils/id-generator.d.ts +5 -5
  398. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  399. package/locale/en.geo.json +27 -3
  400. package/locale/fr.geo.json +26 -3
  401. package/package.json +6 -7
  402. package/src/_index.scss +2 -1
  403. package/src/geo-theme.scss +1 -1
  404. package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
  405. package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
  406. package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
  407. package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
  408. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
  409. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
  410. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
  411. package/src/lib/layer/layer.theming.scss +14 -3
  412. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
  413. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  414. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  415. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
  416. package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
  417. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
  418. package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
@@ -192,10 +192,10 @@ export class CatalogBrowserGroupComponent {
192
192
  onTitleClick() {
193
193
  this.collapsed = !this.collapsed;
194
194
  }
195
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n\n <ng-container\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\n >\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n </ng-template>\n </div>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution\"\n [map]=\"map\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n\n <ng-container\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\n >\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n </ng-template>\n </div>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution\"\n [map]=\"map\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
197
  }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
199
199
  type: Component,
200
200
  args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
201
201
  MatListModule,
@@ -231,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
231
231
  }], layerAddedChange: [{
232
232
  type: Output
233
233
  }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9B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ekMsa2dGQXVGQSx5U0QxQ0ksYUFBYSxtYkFDYixhQUFhLG9MQUNiLGlCQUFpQiwrR0FDakIsZ0JBQWdCLDZUQUNoQixJQUFJLDRGQUNKLGVBQWUsNElBQ2YsS0FBSyxtSEFDTCw0QkFBNEIsOExBQzVCLGlCQUFpQix3UkFDakIsU0FBUyw2Q0FDVCxpQkFBaUI7OzJGQUdSLDRCQUE0QjtrQkFwQnhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osZUFBZTt3QkFDZixLQUFLO3dCQUNMLDRCQUE0Qjt3QkFDNUIsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULGlCQUFpQjtxQkFDbEI7OEJBd0JRLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFTRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9jb2xsYXBzaWJsZSc7XG5pbXBvcnQgdHlwZSB7IEVudGl0eVN0YXRlTWFuYWdlciB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2xpc3QnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7XG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXG4gIENhdGFsb2csXG4gIENhdGFsb2dJdGVtLFxuICBDYXRhbG9nSXRlbUdyb3VwLFxuICBDYXRhbG9nSXRlbVN0YXRlLFxuICBDYXRhbG9nSXRlbVR5cGVcbn0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQnO1xuXG4vKipcbiAqIENhdGFsb2cgYnJvd3NlciBncm91cCBpdGVtXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIENvbGxhcHNlRGlyZWN0aXZlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogR3JvdXAncyBpdGVtcyBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0b3JlID0gbmV3IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPihbXSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFyZSBhZGRlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFkZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcmV2aWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBkaXNhYmxlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nXG4gICAqL1xuICBASW5wdXQoKSBjYXRhbG9nOiBDYXRhbG9nO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKSBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cDtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgaXMgY29sbGFwc2VkXG4gICAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxuICAgKi9cbiAgQElucHV0KCkgdG9nZ2xlQ29sbGFwc2VkID0gdHJ1ZTtcblxuICAvKipcbiAgICogUGFyZW50IGNhdGFsb2cncyBpdGVtcyBzdG9yZSBzdGF0ZS4gR3JvdXBzIHNoYXJlIGEgdW5pcXVlXG4gICAqIEVudGl0eVN0YXRlIHRoYXQgdHJhY2tzIHRoZSBncm91cCBhbmQgaXQncyBsYXllcnMgc3RhdGUgKHdoZXRoZXIgdGhleSBhcmUgYWRkZWQgb3Igbm90KS5cbiAgICogU2hhcmluZyBhIHVuaXF1ZSBzdGF0ZSB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGV4cGFuZCB0aGlzIGNvbXBvbmVudCB0byBhbGxvd1xuICAgKiB0aGUgc2VsZWN0aW9uIG9mIGEgbGF5ZXIgd2hpbGUgdW5zZWxlY3RpbmcgYW55IGxheWVyIGFscmVhZHkgc2VsZWN0ZWQgaW4gYW5vdGhlciBncm91cC5cbiAgICogVGhpcyBjb3VsZCBiZSB1c2VmdWwgdG8gZGlzcGxheSBzb21lIGxheWVyIGluZm8gYmVmb3JlIGFkZGluZyBpdCwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBASW5wdXQoKSBzdGF0ZTogRW50aXR5U3RhdGVNYW5hZ2VyPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiB0aGUgZ3JvdXAgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUdyb3VwRW1pdHRlcj4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiBhIGxheWVyIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUVtaXR0ZXI+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLmxvYWQodGhpcy5ncm91cC5pdGVtcyk7XG4gICAgdGhpcy5ldmFsdWF0ZUFkZGVkKCk7XG4gICAgdGhpcy5ldmFsdWF0ZURpc2FibGVkKHRoaXMuY29sbGFwc2VkKTtcbiAgICBpZiAodGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUudmlldy5zb3J0KHtcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmdyb3VwLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgaXNMYXllcihpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLnZhbHVlID8gdGhpcy5yZW1vdmUoZXZlbnQpIDogdGhpcy5hZGQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uVG9nZ2xlQ29sbGFwc2VkKGNvbGxhcHNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBldmFsdWF0ZSBpZiBhbGwgdGhlIGxheWVycyBvZiB0aGUgZ3JvdXBcbiAgICogYXJlIG5vdyBhZGRlZCBvciByZW1vdmVkLiBJZiBzbywgY29uc2lkZXIgdGhhdCB0aGUgZ3JvdXAgaXRzZWxmIGlzIGFkZGVkXG4gICAqIG9yIHJlbW92ZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIHRoaXMubGF5ZXJBZGRlZENoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLnRyeVRvZ2dsZUdyb3VwKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5hZGRlZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xuICAgICAgYWRkZWQ6IHRydWUsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7XG4gICAgICBhZGRlZDogZmFsc2UsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICBvbkxheWVyUHJldmlldyhldmVudCkge1xuICAgIHRoaXMucHJldmlldyQubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgdGhlIGdyb3VwIGl0c2VsZi5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBsYXN0IGxheWVyIGFkZGVkIGNoYW5nZSBldmVudCB0byBvY2N1clxuICAgKi9cbiAgcHJpdmF0ZSB0cnlUb2dnbGVHcm91cChldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XG4gICAgY29uc3QgYWRkZWQgPSBldmVudC5hZGRlZDtcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xuXG4gICAgY29uc3QgbGF5ZXJzQWRkZWQgPSB0aGlzLnN0b3JlLnZpZXdcbiAgICAgIC5hbGwoKVxuICAgICAgLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0uaWQgIT09IGxheWVyLmlkKVxuICAgICAgLm1hcCgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKTtcblxuICAgIGlmIChsYXllcnNBZGRlZC5ldmVyeSgodmFsdWUpID0+IHZhbHVlID09PSBhZGRlZCkpIHtcbiAgICAgIGFkZGVkID8gdGhpcy5hZGQoZXZlbnQuZXZlbnQpIDogdGhpcy5yZW1vdmUoZXZlbnQuZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRlZCQudmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVBZGRlZCgpIHtcbiAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuYWxsKCkuZXZlcnkoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gKHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKSA9PT0gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFkZGVkJC5uZXh0KGFkZGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50b2dnbGVDb2xsYXBzZWQgPT09IGZhbHNlKSB7XG4gICAgICBkaXNhYmxlZCA9IGNvbGxhcHNlZDtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlZCk7XG4gIH1cblxuICBvblRpdGxlQ2xpY2soKSB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8bWF0LWljb25cbiAgICBtYXRMaXN0SXRlbUljb25cbiAgICBpZ29Db2xsYXBzZVxuICAgIGNsYXNzPVwiaWdvLWNoZXZyb24gY2F0YWxvZy1icm93c2VyLWdyb3VwLWNhcnJldFwiXG4gICAgW3RhcmdldF09XCJpdGVtc1wiXG4gICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRcIlxuICAgICh0b2dnbGUpPVwib25Ub2dnbGVDb2xsYXBzZWQoJGV2ZW50KVwiXG4gID5cbiAgICBleHBhbmRfbGVzc1xuICA8L21hdC1pY29uPlxuXG4gIDxzcGFuXG4gICAgY2xhc3M9XCJpZ28tY2F0YWxvZy1ncm91cC10aXRsZVwiXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcbiAgICAoY2xpY2spPVwib25UaXRsZUNsaWNrKClcIlxuICAgID57eyB0aXRsZSB9fTwvc3BhblxuICA+XG5cbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2dyb3VwLWV4dGVybmFsLWljb25cIlxuICAgICAgICAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmdyb3VwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPlxuICAgICAgICBwdWJsaWNcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIihhZGRlZCQgfCBhc3luYykgJiYgKHByZXZpZXckIHwgYXN5bmMpID09PSBmYWxzZTsgZWxzZSBub3RhZGRlZFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZ3JvdXAucmVtb3ZlRnJvbU1hcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm90YWRkZWQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5hZGRUb01hcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbWF0LWxpc3QtaXRlbT5cblxuPGRpdiAjaXRlbXM+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cbiAgICAgIDwhLS0gdG9kbzogYWRkIGRpc3BsYXkgYW5zIG1hbmFnZSBDYXRhbG9nSXRlbUdyb3VwIC0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllclxuICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICBbbGF5ZXJdPVwiJGFueShpdGVtKVwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb25cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICAgICAgW2FkZGVkXT1cInN0YXRlLmdldChpdGVtKS5hZGRlZFwiXG4gICAgICAgIChhZGRlZExheWVySXNQcmV2aWV3KT1cIm9uTGF5ZXJQcmV2aWV3KCRldmVudClcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWxheWVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9B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ekMsa2dGQXVGQSx5U0QxQ0ksYUFBYSxtYkFDYixhQUFhLG9MQUNiLGlCQUFpQiwrR0FDakIsZ0JBQWdCLDZUQUNoQixJQUFJLDRGQUNKLGVBQWUsNElBQ2YsS0FBSyxtSEFDTCw0QkFBNEIsOExBQzVCLGlCQUFpQix3UkFDakIsU0FBUyw2Q0FDVCxpQkFBaUI7OzRGQUdSLDRCQUE0QjtrQkFwQnhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osZUFBZTt3QkFDZixLQUFLO3dCQUNMLDRCQUE0Qjt3QkFDNUIsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULGlCQUFpQjtxQkFDbEI7OEJBd0JRLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFTRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9jb2xsYXBzaWJsZSc7XG5pbXBvcnQgdHlwZSB7IEVudGl0eVN0YXRlTWFuYWdlciB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2xpc3QnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7XG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXG4gIENhdGFsb2csXG4gIENhdGFsb2dJdGVtLFxuICBDYXRhbG9nSXRlbUdyb3VwLFxuICBDYXRhbG9nSXRlbVN0YXRlLFxuICBDYXRhbG9nSXRlbVR5cGVcbn0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQnO1xuXG4vKipcbiAqIENhdGFsb2cgYnJvd3NlciBncm91cCBpdGVtXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIENvbGxhcHNlRGlyZWN0aXZlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogR3JvdXAncyBpdGVtcyBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0b3JlID0gbmV3IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPihbXSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFyZSBhZGRlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFkZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcmV2aWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBkaXNhYmxlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nXG4gICAqL1xuICBASW5wdXQoKSBjYXRhbG9nOiBDYXRhbG9nO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKSBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cDtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgaXMgY29sbGFwc2VkXG4gICAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxuICAgKi9cbiAgQElucHV0KCkgdG9nZ2xlQ29sbGFwc2VkID0gdHJ1ZTtcblxuICAvKipcbiAgICogUGFyZW50IGNhdGFsb2cncyBpdGVtcyBzdG9yZSBzdGF0ZS4gR3JvdXBzIHNoYXJlIGEgdW5pcXVlXG4gICAqIEVudGl0eVN0YXRlIHRoYXQgdHJhY2tzIHRoZSBncm91cCBhbmQgaXQncyBsYXllcnMgc3RhdGUgKHdoZXRoZXIgdGhleSBhcmUgYWRkZWQgb3Igbm90KS5cbiAgICogU2hhcmluZyBhIHVuaXF1ZSBzdGF0ZSB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGV4cGFuZCB0aGlzIGNvbXBvbmVudCB0byBhbGxvd1xuICAgKiB0aGUgc2VsZWN0aW9uIG9mIGEgbGF5ZXIgd2hpbGUgdW5zZWxlY3RpbmcgYW55IGxheWVyIGFscmVhZHkgc2VsZWN0ZWQgaW4gYW5vdGhlciBncm91cC5cbiAgICogVGhpcyBjb3VsZCBiZSB1c2VmdWwgdG8gZGlzcGxheSBzb21lIGxheWVyIGluZm8gYmVmb3JlIGFkZGluZyBpdCwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBASW5wdXQoKSBzdGF0ZTogRW50aXR5U3RhdGVNYW5hZ2VyPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiB0aGUgZ3JvdXAgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUdyb3VwRW1pdHRlcj4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiBhIGxheWVyIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUVtaXR0ZXI+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLmxvYWQodGhpcy5ncm91cC5pdGVtcyk7XG4gICAgdGhpcy5ldmFsdWF0ZUFkZGVkKCk7XG4gICAgdGhpcy5ldmFsdWF0ZURpc2FibGVkKHRoaXMuY29sbGFwc2VkKTtcbiAgICBpZiAodGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUudmlldy5zb3J0KHtcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmdyb3VwLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgaXNMYXllcihpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLnZhbHVlID8gdGhpcy5yZW1vdmUoZXZlbnQpIDogdGhpcy5hZGQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uVG9nZ2xlQ29sbGFwc2VkKGNvbGxhcHNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBldmFsdWF0ZSBpZiBhbGwgdGhlIGxheWVycyBvZiB0aGUgZ3JvdXBcbiAgICogYXJlIG5vdyBhZGRlZCBvciByZW1vdmVkLiBJZiBzbywgY29uc2lkZXIgdGhhdCB0aGUgZ3JvdXAgaXRzZWxmIGlzIGFkZGVkXG4gICAqIG9yIHJlbW92ZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIHRoaXMubGF5ZXJBZGRlZENoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLnRyeVRvZ2dsZUdyb3VwKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5hZGRlZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xuICAgICAgYWRkZWQ6IHRydWUsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7XG4gICAgICBhZGRlZDogZmFsc2UsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICBvbkxheWVyUHJldmlldyhldmVudCkge1xuICAgIHRoaXMucHJldmlldyQubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgdGhlIGdyb3VwIGl0c2VsZi5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBsYXN0IGxheWVyIGFkZGVkIGNoYW5nZSBldmVudCB0byBvY2N1clxuICAgKi9cbiAgcHJpdmF0ZSB0cnlUb2dnbGVHcm91cChldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XG4gICAgY29uc3QgYWRkZWQgPSBldmVudC5hZGRlZDtcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xuXG4gICAgY29uc3QgbGF5ZXJzQWRkZWQgPSB0aGlzLnN0b3JlLnZpZXdcbiAgICAgIC5hbGwoKVxuICAgICAgLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0uaWQgIT09IGxheWVyLmlkKVxuICAgICAgLm1hcCgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKTtcblxuICAgIGlmIChsYXllcnNBZGRlZC5ldmVyeSgodmFsdWUpID0+IHZhbHVlID09PSBhZGRlZCkpIHtcbiAgICAgIGFkZGVkID8gdGhpcy5hZGQoZXZlbnQuZXZlbnQpIDogdGhpcy5yZW1vdmUoZXZlbnQuZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRlZCQudmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVBZGRlZCgpIHtcbiAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuYWxsKCkuZXZlcnkoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gKHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKSA9PT0gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFkZGVkJC5uZXh0KGFkZGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50b2dnbGVDb2xsYXBzZWQgPT09IGZhbHNlKSB7XG4gICAgICBkaXNhYmxlZCA9IGNvbGxhcHNlZDtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlZCk7XG4gIH1cblxuICBvblRpdGxlQ2xpY2soKSB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8bWF0LWljb25cbiAgICBtYXRMaXN0SXRlbUljb25cbiAgICBpZ29Db2xsYXBzZVxuICAgIGNsYXNzPVwiaWdvLWNoZXZyb24gY2F0YWxvZy1icm93c2VyLWdyb3VwLWNhcnJldFwiXG4gICAgW3RhcmdldF09XCJpdGVtc1wiXG4gICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRcIlxuICAgICh0b2dnbGUpPVwib25Ub2dnbGVDb2xsYXBzZWQoJGV2ZW50KVwiXG4gID5cbiAgICBleHBhbmRfbGVzc1xuICA8L21hdC1pY29uPlxuXG4gIDxzcGFuXG4gICAgY2xhc3M9XCJpZ28tY2F0YWxvZy1ncm91cC10aXRsZVwiXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcbiAgICAoY2xpY2spPVwib25UaXRsZUNsaWNrKClcIlxuICAgID57eyB0aXRsZSB9fTwvc3BhblxuICA+XG5cbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2dyb3VwLWV4dGVybmFsLWljb25cIlxuICAgICAgICAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmdyb3VwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPlxuICAgICAgICBwdWJsaWNcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIihhZGRlZCQgfCBhc3luYykgJiYgKHByZXZpZXckIHwgYXN5bmMpID09PSBmYWxzZTsgZWxzZSBub3RhZGRlZFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZ3JvdXAucmVtb3ZlRnJvbU1hcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm90YWRkZWQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5hZGRUb01hcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbWF0LWxpc3QtaXRlbT5cblxuPGRpdiAjaXRlbXM+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cbiAgICAgIDwhLS0gdG9kbzogYWRkIGRpc3BsYXkgYW5zIG1hbmFnZSBDYXRhbG9nSXRlbUdyb3VwIC0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllclxuICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICBbbGF5ZXJdPVwiJGFueShpdGVtKVwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb25cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICAgICAgW2FkZGVkXT1cInN0YXRlLmdldChpdGVtKS5hZGRlZFwiXG4gICAgICAgIChhZGRlZExheWVySXNQcmV2aWV3KT1cIm9uTGF5ZXJQcmV2aWV3KCRldmVudClcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWxheWVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -71,7 +71,7 @@ export class CatalogBrowserLayerComponent {
71
71
  }
72
72
  ngOnInit() {
73
73
  this.isPreview$$ = this.isPreview$.subscribe((value) => this.addedLayerIsPreview.emit(value));
74
- this.layers$$ = this.map.layers$.subscribe(() => {
74
+ this.layers$$ = this.map.layerController.all$.subscribe(() => {
75
75
  this.isVisible();
76
76
  });
77
77
  this.resolution$$ = this.map.viewController.resolution$.subscribe((resolution) => {
@@ -203,10 +203,8 @@ export class CatalogBrowserLayerComponent {
203
203
  }
204
204
  isVisible() {
205
205
  if (this.layer?.id) {
206
- const oLayer = this.map.getLayerById(this.layer?.id);
207
- oLayer
208
- ? this.isVisible$.next(oLayer.visible)
209
- : this.isVisible$.next(false);
206
+ const layer = this.map.layerController.getById(this.layer?.id);
207
+ this.isVisible$.next(layer?.displayed);
210
208
  }
211
209
  }
212
210
  getBadgeIcon() {
@@ -237,10 +235,10 @@ export class CatalogBrowserLayerComponent {
237
235
  : 'igo.geo.catalog.layer.addToMapOutRange';
238
236
  }
239
237
  }
240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n *ngIf=\"haveGroup()\"\n class=\"catalog-browser-layer-carret\"\n matListItemIcon\n ></mat-icon>\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"$any(layer)\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ (isPreview$ | async) ? 'plus' : added ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\n \"\n [layer]=\"igoLayer$ | async\"\n >\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n *ngIf=\"haveGroup()\"\n class=\"catalog-browser-layer-carret\"\n matListItemIcon\n ></mat-icon>\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"$any(layer)\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ (isPreview$ | async) ? 'plus' : added ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\n \"\n [layer]=\"igoLayer$ | async\"\n >\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
242
240
  }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
244
242
  type: Component,
245
243
  args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
246
244
  MatListModule,
@@ -271,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
271
269
  }], addedLayerIsPreview: [{
272
270
  type: Output
273
271
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFD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LE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsSUFBSTt3QkFDSixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCO2lGQWdCUSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29CYWRnZUljb25EaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24vYmFkZ2UnO1xuaW1wb3J0IHsgZ2V0RW50aXR5SWNvbiwgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTGF5ZXJMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXllci9sYXllci1sZWdlbmQvbGF5ZXItbGVnZW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMYXllciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWV0YWRhdGFMYXllck9wdGlvbnMgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9zaGFyZWQvbWV0YWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFkZGVkQ2hhbmdlRW1pdHRlciwgQ2F0YWxvZ0l0ZW1MYXllciB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbi8qKlxuICogQ2F0YWxvZyBicm93c2VyIGxheWVyIGl0ZW1cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICAgIE1hdEJhZGdlTW9kdWxlLFxuICAgIElnb0JhZGdlSWNvbkRpcmVjdGl2ZSxcbiAgICBMYXllckxlZ2VuZENvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaW5SYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwdWJsaWMgaXNQcmV2aWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGlzUHJldmlldyQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XG5cbiAgcHVibGljIGxheWVyTGVnZW5kU2hvd24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBpZ29MYXllciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgbW91c2VJbnNpZGVBZGQgPSBmYWxzZTtcblxuICBASW5wdXQoKSByZXNvbHV0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIEBJbnB1dCgpIGxheWVyOiBDYXRhbG9nSXRlbUxheWVyO1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYXllciBpcyBhbHJlYWR5IGFkZGVkIHRvIHRoZSBtYXBcbiAgICovXG4gIEBJbnB1dCgpIGFkZGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWRkL3JlbW92ZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUVtaXR0ZXI+KCk7XG5cbiAgQE91dHB1dCgpIGFkZGVkTGF5ZXJJc1ByZXZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMubGF5ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5SWNvbih0aGlzLmxheWVyKSB8fCAnbGF5ZXJzJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1ByZXZpZXckJCA9IHRoaXMuaXNQcmV2aWV3JC5zdWJzY3JpYmUoKHZhbHVlKSA9PlxuICAgICAgdGhpcy5hZGRlZExheWVySXNQcmV2aWV3LmVtaXQodmFsdWUpXG4gICAgKTtcblxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5zdWJzY3JpYmUoXG4gICAgICAocmVzb2x1dGlvbikgPT4ge1xuICAgICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb24pO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmlzUHJldmlldyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjb21wdXRlVGl0bGVUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGF5ZXJPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zO1xuICAgIGlmICghbGF5ZXJPcHRpb25zLnRvb2x0aXApIHtcbiAgICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmxheWVyKTtcbiAgICB9XG4gICAgY29uc3QgbGF5ZXJUb29sdGlwID0gbGF5ZXJPcHRpb25zLnRvb2x0aXA7XG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xuICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnRvb2x0aXAudHlwZSkge1xuICAgICAgY2FzZSBUb29sdGlwVHlwZS5USVRMRTpcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLkFCU1RSQUNUOlxuICAgICAgICBpZiAobGF5ZXJNZXRhZGF0YSAmJiBsYXllck1ldGFkYXRhLmFic3RyYWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQ1VTVE9NOlxuICAgICAgICBpZiAobGF5ZXJUb29sdGlwICYmIGxheWVyVG9vbHRpcC50ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT24gbW91c2UgZXZlbnQsIG1vdXNlZW50ZXIgL21vdXNlbGVhdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvbk1vdXNlRXZlbnQoZXZlbnQpIHtcbiAgICB0aGlzLm9uVG9nZ2xlQ2xpY2soZXZlbnQpO1xuICB9XG5cbiAgYXNrRm9yTGVnZW5kKCkge1xuICAgIHRoaXMubGF5ZXJMZWdlbmRTaG93biQubmV4dCghdGhpcy5sYXllckxlZ2VuZFNob3duJC52YWx1ZSk7XG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHRoaXMubGF5ZXIub3B0aW9ucylcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChsYXllcikgPT4gdGhpcy5pZ29MYXllciQubmV4dChsYXllcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0KTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJyAmJiB0aGlzLm1vdXNlSW5zaWRlQWRkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAnY2xpY2snOlxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZShldmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQoZmFsc2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSAmJiAhdGhpcy5hZGRlZCkge1xuICAgICAgICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubW91c2VJbnNpZGVBZGQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxuICAgICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXG4gICAqL1xuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZShldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IGZhbHNlLCBsYXllcjogdGhpcy5sYXllciwgZXZlbnQgfSk7XG4gICAgfVxuICB9XG5cbiAgaGF2ZUdyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKCF0aGlzLmxheWVyLmFkZHJlc3MgfHwgdGhpcy5sYXllci5hZGRyZXNzLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKTtcbiAgfVxuXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPVxuICAgICAgIXRoaXMubGF5ZXIub3B0aW9ucy5taW5SZXNvbHV0aW9uIHx8XG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pXG4gICAgICAgID8gMFxuICAgICAgICA6IHRoaXMubGF5ZXIub3B0aW9ucy5taW5SZXNvbHV0aW9uO1xuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxuICAgICAgIXRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8XG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24pXG4gICAgICAgID8gSW5maW5pdHlcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWF4UmVzb2x1dGlvbjtcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXG4gICAgKTtcbiAgfVxuXG4gIGlzVmlzaWJsZSgpIHtcbiAgICBpZiAodGhpcy5sYXllcj8uaWQpIHtcbiAgICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyPy5pZCk7XG4gICAgICBvTGF5ZXJcbiAgICAgICAgPyB0aGlzLmlzVmlzaWJsZSQubmV4dChvTGF5ZXIudmlzaWJsZSlcbiAgICAgICAgOiB0aGlzLmlzVmlzaWJsZSQubmV4dChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QmFkZ2VJY29uKCkge1xuICAgIGlmICh0aGlzLmluUmFuZ2UkLmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQuZ2V0VmFsdWUoKSA/ICcnIDogJ3Zpc2liaWxpdHlfb2ZmJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICd2aXNpYmlsaXR5X29mZic7XG4gICAgfVxuICB9XG5cbiAgY29tcHV0ZVRvb2x0aXAoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgaWYgKHRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlJC52YWx1ZVxuICAgICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwJ1xuICAgICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwTm90VmlzaWJsZSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwT3V0UmFuZ2UnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5pblJhbmdlJC52YWx1ZVxuICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXG4gICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcE91dFJhbmdlJztcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cImhhdmVHcm91cCgpXCJcbiAgICBjbGFzcz1cImNhdGFsb2ctYnJvd3Nlci1sYXllci1jYXJyZXRcIlxuICAgIG1hdExpc3RJdGVtSWNvblxuICA+PC9tYXQtaWNvbj5cbiAgPHNwYW5cbiAgICBtYXRMaXN0SXRlbVRpdGxlXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW25nQ2xhc3NdPVwiY2F0YWxvZ0FsbG93TGVnZW5kID8gJ2lnby1jYXRhbG9nbGF5ZXItdGl0bGUnIDogJydcIlxuICAgIChjbGljayk9XCJhc2tGb3JMZWdlbmQoKVwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRpdGxlVG9vbHRpcCgpXCJcbiAgPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvc3Bhbj5cblxuICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICA8YnV0dG9uICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBjbGFzcz1cImlnby1jYXRhbG9nbGF5ZXItZXh0ZXJuYWwtaWNvblwiXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+XG4gICAgICAgIHB1YmxpY1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwiJGFueShsYXllcilcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2NvbG9yXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJycgOiBhZGRlZCA/ICd3YXJuJyA6ICcnXCJcbiAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcbiAgICAgICAgW2lnb01hdEJhZGdlSWNvbl09XCJnZXRCYWRnZUljb24oKVwiXG4gICAgICAgIGlnb01hdEJhZGdlQ29sb3I9XCJyZ2JhKDAsMCwwLDAuODcpXCJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcbiAgICAgICAgW2lnb01hdEJhZGdlSW52ZXJzZUNvbG9yXT1cInRydWVcIlxuICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiXG4gICAgICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNWaXNpYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSkgfHxcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHxcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmIChpc1ByZXZpZXckIHwgYXN5bmMpKVxuICAgICAgICBcIlxuICAgICAgICBbbWF0QmFkZ2VEaXNhYmxlZF09XCIoaW5SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgPlxuICAgICAgICB7eyAoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAnYWRkJyB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1saXN0LWl0ZW0+XG5cbjxkaXYgI2xlZ2VuZCBjbGFzcz1cImlnby1jYXRhbG9nbGF5ZXItbGVnZW5kLWNvbnRhaW5lclwiPlxuICA8aWdvLWxheWVyLWxlZ2VuZFxuICAgICpuZ0lmPVwiXG4gICAgICAobGF5ZXJMZWdlbmRTaG93biQgfCBhc3luYykgJiYgKGlnb0xheWVyJCB8IGFzeW5jKSAmJiBjYXRhbG9nQWxsb3dMZWdlbmRcbiAgICBcIlxuICAgIFtsYXllcl09XCJpZ29MYXllciQgfCBhc3luY1wiXG4gID5cbiAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuPC9kaXY+XG4iXX0=
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFD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Q2IsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULGlCQUFpQjtxQkFDbEI7aUZBZ0JRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0JhZGdlSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9iYWRnZSc7XG5pbXBvcnQgeyBnZXRFbnRpdHlJY29uLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheWVyL2xheWVyLWxlZ2VuZC9sYXllci1sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IExheWVyLCBUb29sdGlwVHlwZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgTWV0YWRhdGFCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tZXRhZGF0YS1idXR0b24vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWRkZWRDaGFuZ2VFbWl0dGVyLCBDYXRhbG9nSXRlbUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkJztcblxuLyoqXG4gKiBDYXRhbG9nIGJyb3dzZXIgbGF5ZXIgaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgSWdvQmFkZ2VJY29uRGlyZWN0aXZlLFxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpblJhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyBpc1ByZXZpZXckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBpc1Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgaXNQcmV2aWV3JCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcblxuICBwdWJsaWMgbGF5ZXJMZWdlbmRTaG93biQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIGlnb0xheWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2F0YWxvZyBsYXllclxuICAgKi9cbiAgQElucHV0KCkgbGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXI7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxuICAgKi9cbiAgQElucHV0KCkgYWRkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgYWRkZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFkZGVkQ2hhbmdlRW1pdHRlcj4oKTtcblxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlJY29uKHRoaXMubGF5ZXIpIHx8ICdsYXllcnMnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUHJldmlldyQkID0gdGhpcy5pc1ByZXZpZXckLnN1YnNjcmliZSgodmFsdWUpID0+XG4gICAgICB0aGlzLmFkZGVkTGF5ZXJJc1ByZXZpZXcuZW1pdCh2YWx1ZSlcbiAgICApO1xuXG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5zdWJzY3JpYmUoXG4gICAgICAocmVzb2x1dGlvbikgPT4ge1xuICAgICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb24pO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmlzUHJldmlldyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjb21wdXRlVGl0bGVUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGF5ZXJPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zO1xuICAgIGlmICghbGF5ZXJPcHRpb25zLnRvb2x0aXApIHtcbiAgICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmxheWVyKTtcbiAgICB9XG4gICAgY29uc3QgbGF5ZXJUb29sdGlwID0gbGF5ZXJPcHRpb25zLnRvb2x0aXA7XG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xuICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnRvb2x0aXAudHlwZSkge1xuICAgICAgY2FzZSBUb29sdGlwVHlwZS5USVRMRTpcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLkFCU1RSQUNUOlxuICAgICAgICBpZiAobGF5ZXJNZXRhZGF0YSAmJiBsYXllck1ldGFkYXRhLmFic3RyYWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQ1VTVE9NOlxuICAgICAgICBpZiAobGF5ZXJUb29sdGlwICYmIGxheWVyVG9vbHRpcC50ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT24gbW91c2UgZXZlbnQsIG1vdXNlZW50ZXIgL21vdXNlbGVhdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvbk1vdXNlRXZlbnQoZXZlbnQpIHtcbiAgICB0aGlzLm9uVG9nZ2xlQ2xpY2soZXZlbnQpO1xuICB9XG5cbiAgYXNrRm9yTGVnZW5kKCkge1xuICAgIHRoaXMubGF5ZXJMZWdlbmRTaG93biQubmV4dCghdGhpcy5sYXllckxlZ2VuZFNob3duJC52YWx1ZSk7XG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHRoaXMubGF5ZXIub3B0aW9ucylcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChsYXllcikgPT4gdGhpcy5pZ29MYXllciQubmV4dChsYXllcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0KTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJyAmJiB0aGlzLm1vdXNlSW5zaWRlQWRkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAnY2xpY2snOlxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZShldmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQoZmFsc2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSAmJiAhdGhpcy5hZGRlZCkge1xuICAgICAgICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubW91c2VJbnNpZGVBZGQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxuICAgICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXG4gICAqL1xuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZShldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IGZhbHNlLCBsYXllcjogdGhpcy5sYXllciwgZXZlbnQgfSk7XG4gICAgfVxuICB9XG5cbiAgaGF2ZUdyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKCF0aGlzLmxheWVyLmFkZHJlc3MgfHwgdGhpcy5sYXllci5hZGRyZXNzLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKTtcbiAgfVxuXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPVxuICAgICAgIXRoaXMubGF5ZXIub3B0aW9ucy5taW5SZXNvbHV0aW9uIHx8XG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pXG4gICAgICAgID8gMFxuICAgICAgICA6IHRoaXMubGF5ZXIub3B0aW9ucy5taW5SZXNvbHV0aW9uO1xuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxuICAgICAgIXRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8XG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24pXG4gICAgICAgID8gSW5maW5pdHlcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWF4UmVzb2x1dGlvbjtcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXG4gICAgKTtcbiAgfVxuXG4gIGlzVmlzaWJsZSgpIHtcbiAgICBpZiAodGhpcy5sYXllcj8uaWQpIHtcbiAgICAgIGNvbnN0IGxheWVyID0gdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLmdldEJ5SWQodGhpcy5sYXllcj8uaWQpO1xuICAgICAgdGhpcy5pc1Zpc2libGUkLm5leHQobGF5ZXI/LmRpc3BsYXllZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QmFkZ2VJY29uKCkge1xuICAgIGlmICh0aGlzLmluUmFuZ2UkLmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQuZ2V0VmFsdWUoKSA/ICcnIDogJ3Zpc2liaWxpdHlfb2ZmJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICd2aXNpYmlsaXR5X29mZic7XG4gICAgfVxuICB9XG5cbiAgY29tcHV0ZVRvb2x0aXAoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgaWYgKHRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlJC52YWx1ZVxuICAgICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwJ1xuICAgICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwTm90VmlzaWJsZSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwT3V0UmFuZ2UnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5pblJhbmdlJC52YWx1ZVxuICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXG4gICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcE91dFJhbmdlJztcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cImhhdmVHcm91cCgpXCJcbiAgICBjbGFzcz1cImNhdGFsb2ctYnJvd3Nlci1sYXllci1jYXJyZXRcIlxuICAgIG1hdExpc3RJdGVtSWNvblxuICA+PC9tYXQtaWNvbj5cbiAgPHNwYW5cbiAgICBtYXRMaXN0SXRlbVRpdGxlXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW25nQ2xhc3NdPVwiY2F0YWxvZ0FsbG93TGVnZW5kID8gJ2lnby1jYXRhbG9nbGF5ZXItdGl0bGUnIDogJydcIlxuICAgIChjbGljayk9XCJhc2tGb3JMZWdlbmQoKVwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRpdGxlVG9vbHRpcCgpXCJcbiAgPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvc3Bhbj5cblxuICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICA8YnV0dG9uICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBjbGFzcz1cImlnby1jYXRhbG9nbGF5ZXItZXh0ZXJuYWwtaWNvblwiXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+XG4gICAgICAgIHB1YmxpY1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwiJGFueShsYXllcilcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2NvbG9yXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJycgOiBhZGRlZCA/ICd3YXJuJyA6ICcnXCJcbiAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcbiAgICAgICAgW2lnb01hdEJhZGdlSWNvbl09XCJnZXRCYWRnZUljb24oKVwiXG4gICAgICAgIGlnb01hdEJhZGdlQ29sb3I9XCJyZ2JhKDAsMCwwLDAuODcpXCJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcbiAgICAgICAgW2lnb01hdEJhZGdlSW52ZXJzZUNvbG9yXT1cInRydWVcIlxuICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiXG4gICAgICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNWaXNpYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSkgfHxcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHxcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmIChpc1ByZXZpZXckIHwgYXN5bmMpKVxuICAgICAgICBcIlxuICAgICAgICBbbWF0QmFkZ2VEaXNhYmxlZF09XCIoaW5SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgPlxuICAgICAgICB7eyAoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAnYWRkJyB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1saXN0LWl0ZW0+XG5cbjxkaXYgI2xlZ2VuZCBjbGFzcz1cImlnby1jYXRhbG9nbGF5ZXItbGVnZW5kLWNvbnRhaW5lclwiPlxuICA8aWdvLWxheWVyLWxlZ2VuZFxuICAgICpuZ0lmPVwiXG4gICAgICAobGF5ZXJMZWdlbmRTaG93biQgfCBhc3luYykgJiYgKGlnb0xheWVyJCB8IGFzeW5jKSAmJiBjYXRhbG9nQWxsb3dMZWdlbmRcbiAgICBcIlxuICAgIFtsYXllcl09XCJpZ29MYXllciQgfCBhc3luY1wiXG4gID5cbiAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuPC9kaXY+XG4iXX0=
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@a
3
3
  import { EntityStore, EntityStoreWatcher } from '@igo2/common/entity';
4
4
  import { ListComponent, ListItemDirective } from '@igo2/common/list';
5
5
  import { zip } from 'rxjs';
6
+ import { isLayerItem } from '../../layer';
6
7
  import { LayerService } from '../../layer/shared/layer.service';
7
8
  import { IgoMap } from '../../map/shared/map';
8
9
  import { Catalog, CatalogItemType } from '../shared';
@@ -49,7 +50,9 @@ export class CatalogBrowserComponent {
49
50
  * @internal
50
51
  */
51
52
  ngOnInit() {
52
- const currentItems = this.map.layers.map((layer) => {
53
+ const currentItems = this.map.layerController.all
54
+ .filter((layer) => isLayerItem(layer))
55
+ .map((layer) => {
53
56
  return {
54
57
  id: layer.options.source.id,
55
58
  title: layer.title,
@@ -126,8 +129,8 @@ export class CatalogBrowserComponent {
126
129
  * Add multiple layers to map
127
130
  * @param layers Catalog layers
128
131
  */
129
- addLayersToMap(layers, event) {
130
- const layers$ = layers.map((layer) => {
132
+ addLayersToMap(catalogLayers, event) {
133
+ const layers$ = catalogLayers.map((layer) => {
131
134
  if (!layer.options.sourceOptions.optionsFromApi) {
132
135
  layer.options.sourceOptions.optionsFromApi = true;
133
136
  }
@@ -140,8 +143,8 @@ export class CatalogBrowserComponent {
140
143
  if (event.event.type === 'click' && event.added) {
141
144
  this.map.layersAddedByClick$.next(layers);
142
145
  }
143
- this.store.state.updateMany(layers, { added: true });
144
- this.map.addLayers(layers);
146
+ this.store.state.updateMany(catalogLayers, { added: true });
147
+ this.map.layerController.add(...layers.filter(Boolean));
145
148
  });
146
149
  }
147
150
  /**
@@ -152,15 +155,15 @@ export class CatalogBrowserComponent {
152
155
  layers.forEach((layer) => {
153
156
  this.store.state.update(layer, { added: false });
154
157
  if (layer.options.baseLayer === true) {
155
- const currLayer = this.map.getLayerById(layer.options.id);
158
+ const currLayer = this.map.layerController.getById(String(layer.options.id));
156
159
  if (currLayer !== undefined) {
157
- this.map.removeLayer(currLayer);
160
+ this.map.layerController.remove(currLayer);
158
161
  }
159
162
  }
160
163
  else {
161
- const currLayer = this.map.getLayerById(layer.id);
164
+ const currLayer = this.map.layerController.getById(layer.id);
162
165
  if (currLayer !== undefined) {
163
- this.map.removeLayer(currLayer);
166
+ this.map.layerController.remove(currLayer);
164
167
  }
165
168
  }
166
169
  });
@@ -215,10 +218,10 @@ export class CatalogBrowserComponent {
215
218
  });
216
219
  this.removeLayersFromMap(layers);
217
220
  }
218
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
219
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: CatalogBrowserComponent, isStandalone: true, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, 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]=\"$any(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", dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserComponent, isStandalone: true, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, 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]=\"$any(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", dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
220
223
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
222
225
  type: Component,
223
226
  args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
224
227
  ListComponent,
@@ -240,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
240
243
  }], toggleCollapsedGroup: [{
241
244
  type: Input
242
245
  }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJFLE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFakY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVCQUF1QjtJQW1DeEI7SUFDQTtJQW5DVjs7T0FFRztJQUNLLE9BQU8sQ0FBa0M7SUFFakQsc0NBQXND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dUJBQXVCLG1PQ2pEcEMsNm9DQWdDQSw0Q0RRSSxhQUFhLDBGQUNiLEtBQUssbUhBQ0wsSUFBSSw2RkFDSiw0QkFBNEIsc09BQzVCLDRCQUE0Qiw4TEFDNUIsaUJBQWlCLHdSQUNqQixTQUFTOzsyRkFHQSx1QkFBdUI7a0JBZm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLFNBQVM7cUJBQ1Y7aUhBY1Esa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUtHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24vbGlzdCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgemlwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQge1xuICBBZGRlZENoYW5nZUVtaXR0ZXIsXG4gIEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyLFxuICBDYXRhbG9nLFxuICBDYXRhbG9nSXRlbSxcbiAgQ2F0YWxvZ0l0ZW1Hcm91cCxcbiAgQ2F0YWxvZ0l0ZW1MYXllcixcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcbiAgQ2F0YWxvZ0l0ZW1UeXBlXG59IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSBvbiBhIG1hcC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3NlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExpc3RDb21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgTmdJZixcbiAgICBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50LFxuICAgIENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQsXG4gICAgTGlzdEl0ZW1EaXJlY3RpdmUsXG4gICAgQXN5bmNQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBDYXRhbG9nIGl0ZW1zIHN0b3JlIHdhdGNoZXJcbiAgICovXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPENhdGFsb2dJdGVtPjtcblxuICAvLyBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCByZXNvbHV0aW9uJCgpOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kO1xuICB9XG5cbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhdGFsb2dcbiAgICovXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2cncyBpdGVtc1xuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcblxuICAvKipcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xuICAgKi9cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBncm91cCBjYW4gYmUgdG9nZ2xlZCB3aGVuIGl0J3MgY29sbGFwc2VkXG4gICAqL1xuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWRHcm91cCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogbGF5ZXIub3B0aW9ucy5zb3VyY2UuaWQsXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcbiAgICAgICAgdHlwZTogQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShjdXJyZW50SXRlbXMsIHsgYWRkZWQ6IHRydWUgfSwgdHJ1ZSk7XG4gICAgaWYgKHRoaXMuY2F0YWxvZyAmJiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xuICAgIHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kID0gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgID8gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XG5cbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcbiAgICBldmVudC5hZGRlZFxuICAgICAgPyB0aGlzLmFkZExheWVyVG9NYXAobGF5ZXIsIGV2ZW50KVxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIGZyb3VwIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcbiAgICovXG4gIG9uR3JvdXBBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIpIHtcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGdyb3VwLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XG4gICAgZXZlbnQuYWRkZWRcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcbiAgICAgIDogdGhpcy5yZW1vdmVHcm91cEZyb21NYXAoZ3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBsYXllciB0byBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllciwgZXZlbnQ/OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbGF5ZXIgZnJvbSBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKFtsYXllcl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXG4gICAgbGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10sXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlciB8IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXG4gICkge1xuICAgIGNvbnN0IGxheWVycyQgPSBsYXllcnMubWFwKChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikgPT4ge1xuICAgICAgaWYgKCFsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkpIHtcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNhdGFsb2cucHJvZmlscz8ubGVuZ3RoKSB7XG4gICAgICAgIGxheWVyLm9wdGlvbnMuc2VjdXJpdHkgPSB7IHByb2ZpbHM6IHRoaXMuY2F0YWxvZy5wcm9maWxzIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihsYXllci5vcHRpb25zKTtcbiAgICB9KTtcbiAgICB6aXAoLi4ubGF5ZXJzJCkuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHtcbiAgICAgIGlmIChldmVudC5ldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmFkZGVkKSB7XG4gICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChsYXllcnMpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGxheWVycywgeyBhZGRlZDogdHJ1ZSB9KTtcbiAgICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBsYXllcnMgZnJvbSBtYXBcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVMYXllcnNGcm9tTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShsYXllciwgeyBhZGRlZDogZmFsc2UgfSk7XG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5iYXNlTGF5ZXIgPT09IHRydWUpIHtcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLm9wdGlvbnMuaWQpO1xuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB0aGUgbGF5ZXJzIGJ5IHRpdGxlLiBhc2Mgb3IgZGVzYy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGl0ZW1zOiBDYXRhbG9nSXRlbVtdLCBkaXJlY3Rpb24pIHtcbiAgICBjb25zdCByZXR1cm5JdGVtID0gaXRlbXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgdGl0bGVBID0gYS50aXRsZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcbiAgICAgIGNvbnN0IHRpdGxlQiA9IGIudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG5cbiAgICAgIGlmICh0aXRsZUEgPCB0aXRsZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKHRpdGxlQSA+IHRpdGxlQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH0pO1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdhc2MnOlxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbTtcbiAgICAgIGNhc2UgJ2Rlc2MnOlxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbS5yZXZlcnNlKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIHRvIG1hcFxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRHcm91cFRvTWFwKFxuICAgIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwLFxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxuICApIHtcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLmlzTGF5ZXIoaXRlbSkgJiYgYWRkZWQgPT09IGZhbHNlO1xuICAgIH0pO1xuICAgIGlmIChncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxheWVycyA9IHRoaXMuc29ydENhdGFsb2dJdGVtc0J5VGl0bGUobGF5ZXJzLCBncm91cC5zb3J0RGlyZWN0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5hZGRMYXllcnNUb01hcChsYXllcnMucmV2ZXJzZSgpIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSwgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIGZyb20gbWFwXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUdyb3VwRnJvbU1hcChncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCkge1xuICAgIGNvbnN0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSB0cnVlO1xuICAgIH0pO1xuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnMgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdKTtcbiAgfVxufVxuIiwiPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0dyb3VwKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cFxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcbiAgICAgICAgW2dyb3VwXT1cIml0ZW1cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdG9yZS5zdGF0ZVwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXG4gICAgICAgIFtjb2xsYXBzZWRdPVwic3RvcmUuY291bnQgPT09IDEgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uR3JvdXBBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGxheWVyQWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5ZXIoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXG4gICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgIFtsYXllcl09XCIkYW55KGl0ZW0pXCJcbiAgICAgICAgW21hcF09XCJtYXBcIlxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxuICAgICAgICBbYWRkZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaWdvLWxpc3Q+XG4iXX0=
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJFLE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBR0wsT0FBTyxFQUtQLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVqRjs7R0FFRztBQWdCSCxNQUFNLE9BQU8sdUJBQXVCO0lBbUN4QjtJQUNB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LENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBeE9VLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLG1PQ2pEcEMsNm9DQWdDQSw0Q0RRSSxhQUFhLDBGQUNiLEtBQUssbUhBQ0wsSUFBSSw2RkFDSiw0QkFBNEIsc09BQzVCLDRCQUE0Qiw4TEFDNUIsaUJBQWlCLHdSQUNqQixTQUFTOzs0RkFHQSx1QkFBdUI7a0JBZm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLFNBQVM7cUJBQ1Y7aUhBY1Esa0JBQWtCO3NCQUExQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUtHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24vbGlzdCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgemlwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExheWVyLCBpc0xheWVySXRlbSB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7XG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXG4gIENhdGFsb2csXG4gIENhdGFsb2dJdGVtLFxuICBDYXRhbG9nSXRlbUdyb3VwLFxuICBDYXRhbG9nSXRlbUxheWVyLFxuICBDYXRhbG9nSXRlbVN0YXRlLFxuICBDYXRhbG9nSXRlbVR5cGVcbn0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29tcG9uZW50IHRvIGJyb3dzZSBhIGNhdGFsb2cncyBncm91cHMgYW5kIGxheWVycyBhbmQgZGlzcGxheSB0aGVtIG9uIGEgbWFwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTGlzdENvbXBvbmVudCxcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIENhdGFsb2dCcm93c2VyR3JvdXBDb21wb25lbnQsXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIENhdGFsb2cgaXRlbXMgc3RvcmUgd2F0Y2hlclxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8Q2F0YWxvZ0l0ZW0+O1xuXG4gIC8vIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHJlc29sdXRpb24kKCk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQ7XG4gIH1cblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2F0YWxvZ1xuICAgKi9cbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcblxuICAvKipcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgY2F0YWxvZydzIGl0ZW1zXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZ0l0ZW0sIENhdGFsb2dJdGVtU3RhdGU+O1xuXG4gIC8qKlxuICAgKiBNYXAgdG8gYWRkIHRoZSBjYXRhbG9nIGl0ZW1zIHRvXG4gICAqL1xuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogV2hldGhlciBhIGdyb3VwIGNhbiBiZSB0b2dnbGVkIHdoZW4gaXQncyBjb2xsYXBzZWRcbiAgICovXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuYWxsXG4gICAgICAuZmlsdGVyKChsYXllcikgPT4gaXNMYXllckl0ZW0obGF5ZXIpKVxuICAgICAgLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IGxheWVyLm9wdGlvbnMuc291cmNlLmlkLFxuICAgICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcbiAgICAgICAgICB0eXBlOiBDYXRhbG9nSXRlbVR5cGUuTGF5ZXJcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShjdXJyZW50SXRlbXMsIHsgYWRkZWQ6IHRydWUgfSwgdHJ1ZSk7XG4gICAgaWYgKHRoaXMuY2F0YWxvZyAmJiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xuICAgIHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kID0gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgID8gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XG5cbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcbiAgICBldmVudC5hZGRlZFxuICAgICAgPyB0aGlzLmFkZExheWVyVG9NYXAobGF5ZXIsIGV2ZW50KVxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIGZyb3VwIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcbiAgICovXG4gIG9uR3JvdXBBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIpIHtcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGdyb3VwLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XG4gICAgZXZlbnQuYWRkZWRcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcbiAgICAgIDogdGhpcy5yZW1vdmVHcm91cEZyb21NYXAoZ3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBsYXllciB0byBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllciwgZXZlbnQ/OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbGF5ZXIgZnJvbSBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKFtsYXllcl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXG4gICAgY2F0YWxvZ0xheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdLFxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIgfCBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxuICApIHtcbiAgICBjb25zdCBsYXllcnMkID0gY2F0YWxvZ0xheWVycy5tYXAoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoIWxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSkge1xuICAgICAgICBsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2F0YWxvZy5wcm9maWxzPy5sZW5ndGgpIHtcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zZWN1cml0eSA9IHsgcHJvZmlsczogdGhpcy5jYXRhbG9nLnByb2ZpbHMgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKGxheWVyLm9wdGlvbnMpO1xuICAgIH0pO1xuICAgIHppcCguLi5sYXllcnMkKS5zdWJzY3JpYmUoKGxheWVycykgPT4ge1xuICAgICAgaWYgKGV2ZW50LmV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQuYWRkZWQpIHtcbiAgICAgICAgdGhpcy5tYXAubGF5ZXJzQWRkZWRCeUNsaWNrJC5uZXh0KGxheWVycyk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoY2F0YWxvZ0xheWVycywgeyBhZGRlZDogdHJ1ZSB9KTtcbiAgICAgIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hZGQoLi4ubGF5ZXJzLmZpbHRlcihCb29sZWFuKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIG11bHRpcGxlIGxheWVycyBmcm9tIG1hcFxuICAgKiBAcGFyYW0gbGF5ZXJzIENhdGFsb2cgbGF5ZXJzXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10pIHtcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGxheWVyLCB7IGFkZGVkOiBmYWxzZSB9KTtcbiAgICAgIGlmIChsYXllci5vcHRpb25zLmJhc2VMYXllciA9PT0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuZ2V0QnlJZChcbiAgICAgICAgICBTdHJpbmcobGF5ZXIub3B0aW9ucy5pZClcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGN1cnJMYXllciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLnJlbW92ZShjdXJyTGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuZ2V0QnlJZChsYXllci5pZCk7XG4gICAgICAgIGlmIChjdXJyTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5yZW1vdmUoY3VyckxheWVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnQgdGhlIGxheWVycyBieSB0aXRsZS4gYXNjIG9yIGRlc2MuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0Q2F0YWxvZ0l0ZW1zQnlUaXRsZShpdGVtczogQ2F0YWxvZ0l0ZW1bXSwgZGlyZWN0aW9uKSB7XG4gICAgY29uc3QgcmV0dXJuSXRlbSA9IGl0ZW1zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlQSA9IGEudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG4gICAgICBjb25zdCB0aXRsZUIgPSBiLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xuXG4gICAgICBpZiAodGl0bGVBIDwgdGl0bGVCKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGlmICh0aXRsZUEgPiB0aXRsZUIpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgY2FzZSAnYXNjJzpcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW07XG4gICAgICBjYXNlICdkZXNjJzpcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW0ucmV2ZXJzZSgpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCB0byBtYXBcbiAgICogQHBhcmFtIGdyb3VwIENhdGFsb2cgZ3JvdXBcbiAgICovXG4gIHByaXZhdGUgYWRkR3JvdXBUb01hcChcbiAgICBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCxcbiAgICBldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXJcbiAgKSB7XG4gICAgbGV0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcbiAgICB9KTtcbiAgICBpZiAoZ3JvdXAuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XG4gICAgfVxuICAgIHRoaXMuYWRkTGF5ZXJzVG9NYXAobGF5ZXJzLnJldmVyc2UoKSBhcyBDYXRhbG9nSXRlbUxheWVyW10sIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCBmcm9tIG1hcFxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVHcm91cEZyb21NYXAoZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXApIHtcbiAgICBjb25zdCBsYXllcnMgPSBncm91cC5pdGVtcy5maWx0ZXIoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMuaXNMYXllcihpdGVtKSAmJiBhZGRlZCA9PT0gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLnJlbW92ZUxheWVyc0Zyb21NYXAobGF5ZXJzIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSk7XG4gIH1cbn1cbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiIFtzZWxlY3Rpb25dPVwiZmFsc2VcIj5cbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cChpdGVtKVwiPlxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXBcbiAgICAgICAgW2NhdGFsb2ddPVwiY2F0YWxvZ1wiXG4gICAgICAgIFtncm91cF09XCJpdGVtXCJcbiAgICAgICAgW21hcF09XCJtYXBcIlxuICAgICAgICBbc3RhdGVdPVwic3RvcmUuc3RhdGVcIlxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxuICAgICAgICBbY29sbGFwc2VkXT1cInN0b3JlLmNvdW50ID09PSAxID8gZmFsc2UgOiB0cnVlXCJcbiAgICAgICAgW3RvZ2dsZUNvbGxhcHNlZF09XCJ0b2dnbGVDb2xsYXBzZWRHcm91cFwiXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkdyb3VwQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChsYXllckFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllclxuICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICBbbGF5ZXJdPVwiJGFueShpdGVtKVwiXG4gICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICAgICAgW2FkZGVkXT1cInN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZFwiXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2lnby1saXN0PlxuIl19
@@ -5,15 +5,15 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated import the CatalogBrowserComponent directly
6
6
  */
7
7
  export class IgoCatalogBrowserModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent], exports: [CatalogBrowserComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent], exports: [CatalogBrowserComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent] });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CatalogBrowserComponent],
16
16
  exports: [CatalogBrowserComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO3VHQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1QixZQUh4Qix1QkFBdUIsYUFDdkIsdUJBQXVCO3dHQUV0Qix1QkFBdUIsWUFIeEIsdUJBQXVCOzsyRkFHdEIsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NhdGFsb2dCcm93c2VyTW9kdWxlIHt9XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixZQUh4Qix1QkFBdUIsYUFDdkIsdUJBQXVCO3lHQUV0Qix1QkFBdUIsWUFIeEIsdUJBQXVCOzs0RkFHdEIsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBDYXRhbG9nQnJvd3NlckNvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NhdGFsb2dCcm93c2VyTW9kdWxlIHt9XG4iXX0=