@igo2/geo 16.0.0-rc.1 → 16.0.0-rc.2

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 (494) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
  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 +2 -2
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
  9. package/esm2022/lib/catalog/catalog.module.mjs +3 -3
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
  14. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  15. package/esm2022/lib/datasource/datasource.module.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
  17. package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
  21. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  22. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
  24. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  40. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  43. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  44. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  45. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  46. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +9 -9
  51. package/esm2022/lib/directions/directions.module.mjs +7 -7
  52. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  53. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  54. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  55. package/esm2022/lib/directions/shared/store.mjs +1 -1
  56. package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
  57. package/esm2022/lib/download/download.module.mjs +2 -2
  58. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  59. package/esm2022/lib/draw/draw/draw-popup.component.mjs +8 -8
  60. package/esm2022/lib/draw/draw/draw.component.mjs +29 -29
  61. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  62. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  63. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  64. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  65. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  66. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  67. package/esm2022/lib/environment/index.mjs +2 -0
  68. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +9 -9
  69. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  70. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  71. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  72. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  73. package/esm2022/lib/feature/feature.module.mjs +2 -2
  74. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  75. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  76. package/esm2022/lib/feature/shared/store.mjs +3 -3
  77. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  78. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  79. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  80. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  81. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  82. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  83. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  84. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  85. package/esm2022/lib/filter/filter.module.mjs +21 -21
  86. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  88. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  89. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  90. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  91. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
  92. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  94. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  95. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  96. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  97. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  98. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  99. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  100. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  101. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  102. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +15 -15
  103. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  104. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  105. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  106. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  107. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  108. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  109. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  110. package/esm2022/lib/geo.module.mjs +4 -4
  111. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  112. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +1 -1
  113. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  114. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  115. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  116. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  117. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  118. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  119. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  120. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  121. package/esm2022/lib/import-export/import-export/import-export.component.mjs +37 -37
  122. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  123. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  124. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  125. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  126. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  127. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  128. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  129. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  130. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  131. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +6 -6
  132. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  133. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  134. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
  135. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  136. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +8 -8
  137. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  138. package/esm2022/lib/layer/layer.module.mjs +9 -9
  139. package/esm2022/lib/layer/shared/layer.service.mjs +16 -16
  140. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  141. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  142. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  143. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  144. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  145. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  146. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  150. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  151. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  152. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  153. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  154. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  155. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  156. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  157. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  158. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  159. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  160. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +7 -9
  161. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  162. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  163. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  164. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
  165. package/esm2022/lib/map/map.module.mjs +14 -14
  166. package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
  167. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  168. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  169. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  170. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  171. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  172. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  173. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +4 -4
  174. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  175. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  176. package/esm2022/lib/map/shared/map.mjs +9 -6
  177. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  178. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  179. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  180. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  181. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  182. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  183. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
  184. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
  185. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  186. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  187. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  188. package/esm2022/lib/measure/measurer/measurer.component.mjs +12 -12
  189. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  190. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  191. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  192. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  193. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  194. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  195. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  196. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  197. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  198. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  199. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  200. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  201. package/esm2022/lib/print/print/print.component.mjs +2 -2
  202. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  203. package/esm2022/lib/print/print.module.mjs +4 -4
  204. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  205. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  206. package/esm2022/lib/query/query.module.mjs +3 -3
  207. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  208. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  209. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  210. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  211. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  212. package/esm2022/lib/search/search-bar/search-bar.component.mjs +5 -5
  213. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  214. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  215. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  216. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -14
  217. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  218. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  219. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  220. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  221. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  222. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  223. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  224. package/esm2022/lib/search/search.module.mjs +8 -8
  225. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  226. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  227. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  228. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  229. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  230. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  231. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  233. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  234. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  235. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  236. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  237. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  239. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  240. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  241. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  242. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  243. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  244. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  245. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  246. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  247. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  248. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  249. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  250. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  251. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  252. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  253. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  254. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  255. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  256. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  257. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  258. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  259. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
  260. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  261. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  262. package/esm2022/lib/style/style.module.mjs +4 -4
  263. package/esm2022/lib/toast/toast.component.mjs +2 -2
  264. package/esm2022/lib/toast/toast.module.mjs +3 -3
  265. package/esm2022/lib/utils/id-generator.mjs +2 -2
  266. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  267. package/esm2022/lib/wkt/shared/wkt.service.mjs +16 -16
  268. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  269. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  270. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  271. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  272. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  273. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  274. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  275. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  276. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  277. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  278. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  279. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  280. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  281. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  282. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  283. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  284. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  285. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  286. package/esm2022/public_api.mjs +2 -1
  287. package/fesm2022/igo2-geo.mjs +34181 -34233
  288. package/fesm2022/igo2-geo.mjs.map +1 -1
  289. package/geo-theme.scss +23 -21
  290. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  291. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  292. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  293. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  294. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  295. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  296. package/lib/catalog/catalog.theming.scss +5 -0
  297. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  298. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  299. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  300. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  301. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  302. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  303. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  304. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  305. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  306. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  307. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  308. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  309. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  310. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  311. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  312. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  313. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  314. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  315. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  316. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  317. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  318. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  319. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  320. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  321. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  322. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  323. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  324. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  325. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  326. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  327. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  328. package/lib/directions/directions.component.d.ts +3 -3
  329. package/lib/directions/shared/directions.interface.d.ts +1 -1
  330. package/lib/directions/shared/directions.service.d.ts +5 -5
  331. package/lib/directions/shared/directions.utils.d.ts +3 -3
  332. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  333. package/lib/draw/draw/draw.component.d.ts +12 -12
  334. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  335. package/lib/draw/shared/draw.interface.d.ts +3 -3
  336. package/lib/draw/shared/draw.utils.d.ts +4 -4
  337. package/lib/environment/environment.interface.d.ts +48 -0
  338. package/lib/environment/index.d.ts +1 -0
  339. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  340. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  341. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  342. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  343. package/lib/feature/shared/feature.utils.d.ts +4 -4
  344. package/lib/feature/shared/store.d.ts +1 -1
  345. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  346. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  347. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  348. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  349. package/lib/feature/shared/strategies/search.d.ts +1 -1
  350. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  351. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  352. package/lib/filter/filter.theming.scss +0 -3
  353. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  354. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  355. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  356. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  357. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  358. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  359. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  360. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  361. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  362. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  363. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  364. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  365. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  366. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  367. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  368. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  369. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  370. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  371. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  372. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  373. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  374. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  375. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  376. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  377. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  378. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  379. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  380. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  381. package/lib/import-export/shared/export.interface.d.ts +1 -1
  382. package/lib/import-export/shared/export.service.d.ts +2 -2
  383. package/lib/import-export/shared/import.interface.d.ts +1 -0
  384. package/lib/import-export/shared/import.utils.d.ts +3 -3
  385. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  386. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  387. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  388. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  389. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  390. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  391. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  392. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  393. package/lib/layer/layer.theming.scss +17 -24
  394. package/lib/layer/shared/layer.service.d.ts +5 -5
  395. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  396. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  397. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  398. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  399. package/lib/layer/shared/layers/layer.d.ts +6 -6
  400. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  401. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  402. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  403. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  404. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  405. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  407. package/lib/layer/utils/image-watcher.d.ts +1 -1
  408. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  409. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  410. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  411. package/lib/map/home-extent-button/index.d.ts +1 -0
  412. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  413. package/lib/map/shared/controllers/controller.d.ts +1 -1
  414. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  415. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  416. package/lib/map/shared/controllers/view.d.ts +2 -2
  417. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  418. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  419. package/lib/map/shared/map.abstract.d.ts +5 -5
  420. package/lib/map/shared/map.d.ts +14 -10
  421. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  422. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  423. package/lib/map/utils/layer-watcher.d.ts +2 -2
  424. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  425. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  426. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  427. package/lib/measure/shared/measure.utils.d.ts +5 -5
  428. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  429. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  430. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  431. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  432. package/lib/overlay/shared/overlay.d.ts +1 -1
  433. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  434. package/lib/print/print/print.component.d.ts +1 -1
  435. package/lib/print/print-form/print-form.component.d.ts +2 -2
  436. package/lib/print/shared/print.interface.d.ts +1 -1
  437. package/lib/print/shared/print.service.d.ts +2 -2
  438. package/lib/query/shared/query.directive.d.ts +4 -4
  439. package/lib/query/shared/query.interfaces.d.ts +3 -3
  440. package/lib/query/shared/query.service.d.ts +3 -3
  441. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  442. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  443. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  444. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  445. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  446. package/lib/search/search-results/search-results.component.d.ts +4 -4
  447. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  448. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  449. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  450. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  451. package/lib/search/shared/search.interfaces.d.ts +1 -1
  452. package/lib/search/shared/search.service.d.ts +2 -2
  453. package/lib/search/shared/search.utils.d.ts +1 -1
  454. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  455. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  456. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  457. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  458. package/lib/search/shared/sources/icherche.d.ts +4 -4
  459. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  460. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  461. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  462. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  463. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  464. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  465. package/lib/search/shared/sources/source.d.ts +2 -2
  466. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  467. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  468. package/lib/search/shared/sources/workspace.d.ts +1 -1
  469. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  470. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  471. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  472. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  473. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  474. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  475. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  476. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  477. package/lib/style/style-service/style.service.d.ts +3 -3
  478. package/lib/utils/id-generator.d.ts +2 -2
  479. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  480. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  481. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  482. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  483. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  484. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  485. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  486. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  487. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  488. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  489. package/locale/en.geo.json +9 -3
  490. package/locale/fr.geo.json +9 -3
  491. package/package.json +4 -4
  492. package/public_api.d.ts +1 -0
  493. package/style/style.css +0 -1
  494. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,8 +1,8 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
2
  import { EntityStore } from '@igo2/common';
4
- import { Catalog, CatalogItemType } from '../shared';
3
+ import { BehaviorSubject } from 'rxjs';
5
4
  import { IgoMap } from '../../map/shared';
5
+ import { Catalog, CatalogItemType } from '../shared';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "@angular/material/button";
@@ -257,7 +257,7 @@ export class CatalogBrowserGroupComponent {
257
257
  this.collapsed = !this.collapsed;
258
258
  }
259
259
  static ɵfac = function CatalogBrowserGroupComponent_Factory(t) { return new (t || CatalogBrowserGroupComponent)(); };
260
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserGroupComponent, selectors: [["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" }, decls: 15, vars: 14, consts: [["matListItemIcon", "", "svgIcon", "chevron-up", "igoCollapse", "", 1, "igo-chevron", 3, "target", "collapsed", "toggle"], ["matListItemTitle", "", "matTooltipShowDelay", "500", 1, "igo-catalog-group-title", 3, "matTooltip", "click"], ["matListItemMeta", ""], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["notadded", ""], ["items", ""], ["ngFor", "", 3, "ngForOf"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloggroup-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloggroup-external-icon", 3, "matTooltip", "click"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click"], ["svgIcon", "plus"], [4, "ngIf"], ["igoListItem", "", 3, "layer", "resolution", "map", "catalogAllowLegend", "added", "addedLayerIsPreview", "addedChange"]], template: function CatalogBrowserGroupComponent_Template(rf, ctx) { if (rf & 1) {
260
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserGroupComponent, selectors: [["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" }, decls: 15, vars: 14, consts: [["matListItemIcon", "", "svgIcon", "chevron-up", "igoCollapse", "", 1, "igo-chevron", "catalog-browser-group-carret", 3, "target", "collapsed", "toggle"], ["matListItemTitle", "", "matTooltipShowDelay", "500", 1, "igo-catalog-group-title", 3, "matTooltip", "click"], ["matListItemMeta", ""], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["notadded", ""], ["items", ""], ["ngFor", "", 3, "ngForOf"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloggroup-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloggroup-external-icon", 3, "matTooltip", "click"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click"], ["svgIcon", "plus"], [4, "ngIf"], ["igoListItem", "", 3, "layer", "resolution", "map", "catalogAllowLegend", "added", "addedLayerIsPreview", "addedChange"]], template: function CatalogBrowserGroupComponent_Template(rf, ctx) { if (rf & 1) {
261
261
  i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 0);
262
262
  i0.ɵɵlistener("toggle", function CatalogBrowserGroupComponent_Template_mat_icon_toggle_1_listener($event) { return ctx.onToggleCollapsed($event); });
263
263
  i0.ɵɵelementEnd();
@@ -291,11 +291,11 @@ export class CatalogBrowserGroupComponent {
291
291
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(7, 8, ctx.added$) && i0.ɵɵpipeBind1(8, 10, ctx.preview$) === false)("ngIfElse", _r2);
292
292
  i0.ɵɵadvance(7);
293
293
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(14, 12, ctx.store.view.all$()));
294
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatIconButton, i3.MatIcon, i4.MatListItem, i4.MatListItemIcon, i4.MatListItemTitle, i4.MatListItemMeta, i5.MatTooltip, i6.ListItemDirective, i6.CollapseDirective, i7.CatalogBrowserLayerComponent, i1.AsyncPipe, i8.TranslatePipe], styles: [".igo-catalog-group-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloggroup-external-icon[_ngcontent-%COMP%]{cursor:help}.igo-catalog-group-title[_ngcontent-%COMP%]{font-weight:500}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
294
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatIconButton, i3.MatIcon, i4.MatListItem, i4.MatListItemIcon, i4.MatListItemTitle, i4.MatListItemMeta, i5.MatTooltip, i6.ListItemDirective, i6.CollapseDirective, i7.CatalogBrowserLayerComponent, i1.AsyncPipe, i8.TranslatePipe], styles: [".igo-catalog-group-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloggroup-external-icon[_ngcontent-%COMP%]{cursor:help}.catalog-browser-group-carret[_ngcontent-%COMP%]{margin-right:16px}.igo-catalog-group-title[_ngcontent-%COMP%]{font-weight:500}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
295
295
  }
296
296
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserGroupComponent, [{
297
297
  type: Component,
298
- args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n svgIcon=\"chevron-up\"\n igoCollapse\n class=\"igo-chevron\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\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 svgIcon=\"earth-arrow-right\"\n >\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 svgIcon=\"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 svgIcon=\"plus\"></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]=\"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}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
298
+ args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\r\n <mat-icon\r\n matListItemIcon\r\n svgIcon=\"chevron-up\"\r\n igoCollapse\r\n class=\"igo-chevron catalog-browser-group-carret\"\r\n [target]=\"items\"\r\n [collapsed]=\"collapsed\"\r\n (toggle)=\"onToggleCollapsed($event)\"\r\n >\r\n </mat-icon>\r\n\r\n <span\r\n class=\"igo-catalog-group-title\"\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"title\"\r\n (click)=\"onTitleClick()\"\r\n >{{ title }}</span\r\n >\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloggroup-external-icon\"\r\n *ngIf=\"group.externalProvider\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <ng-container\r\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\r\n >\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\r\n color=\"warn\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #notadded>\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\r\n [disabled]=\"disabled$ | async\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon svgIcon=\"plus\"></mat-icon>\r\n </button>\r\n </ng-template>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #items>\r\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\r\n <ng-container *ngIf=\"isGroup(item)\">\r\n <!-- todo: add display ans manage CatalogItemGroup -->\r\n </ng-container>\r\n <ng-container *ngIf=\"isLayer(item)\">\r\n <igo-catalog-browser-layer\r\n igoListItem\r\n [layer]=\"item\"\r\n [resolution]=\"resolution\"\r\n [map]=\"map\"\r\n [catalogAllowLegend]=\"catalogAllowLegend\"\r\n [added]=\"state.get(item).added\"\r\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\r\n (addedChange)=\"onLayerAddedChange($event)\"\r\n >\r\n </igo-catalog-browser-layer>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\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"] }]
299
299
  }], null, { catalog: [{
300
300
  type: Input
301
301
  }], group: [{
@@ -317,4 +317,4 @@ export class CatalogBrowserGroupComponent {
317
317
  }], layerAddedChange: [{
318
318
  type: Output
319
319
  }] }); })();
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFHeEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzNDLE9BQU8sRUFHTCxPQUFPLEVBSVAsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7O0lDRHBDLG9DQVNDO0lBRkMscUlBQVMsd0JBQXdCLElBQUM7O0lBR3BDLGlCQUFXOztJQUxULDJGQUFtRTs7O0lBTnZFLGlDQUF1RTtJQUNyRSxnR0FVVztJQUNiLGlCQUFTOzs7SUFUSixlQUE0QjtJQUE1QixvREFBNEI7Ozs7SUFXakMsNkJBRUM7SUFDQyxrQ0FRQztJQURDLHdMQUFTLGVBQUEsNEJBQXFCLENBQUEsSUFBQzs7O0lBRS9CLCtCQUFzQztJQUN4QyxpQkFBUztJQUNYLDBCQUFlOzs7SUFQWCxlQUFnRTtJQUFoRSx3RkFBZ0Usb0RBQUE7Ozs7SUFVbEUsa0NBT0M7SUFEQyx5TEFBUyxlQUFBLDZCQUFxQixDQUFBLElBQUM7OztJQUUvQiwrQkFBb0M7SUFD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SUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztzRkFyTVUsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUNuQ3pDLHFDQUFlLGtCQUFBO1lBUVgsbUhBQVUsNkJBQXlCLElBQUM7WUFFdEMsaUJBQVc7WUFFWCwrQkFNRztZQURELHVHQUFTLGtCQUFjLElBQUM7WUFDdkIsWUFBVztZQUFBLGlCQUNiO1lBRUQsOEJBQXFCO1lBQ25CLG1GQVlTO1lBRVQsK0ZBY2U7OztZQUVmLDhIQVdjO1lBQ2hCLGlCQUFNLEVBQUE7WUFHUixxQ0FBWTtZQUNWLCtGQWlCYzs7WUFDaEIsaUJBQU07Ozs7WUFoRkYsZUFBZ0I7WUFBaEIsNEJBQWdCLDRCQUFBO1lBVWhCLGVBQW9CO1lBQXBCLHNDQUFvQjtZQUVuQixlQUFXO1lBQVgsK0JBQVc7WUFJSCxlQUE0QjtZQUE1QixpREFBNEI7WUFlbEMsZUFBd0Q7WUFBeEQsd0dBQXdELGlCQUFBO1lBK0JqQyxlQUFxQztZQUFyQyx1RUFBcUM7Ozt1RkRqQ3RELDRCQUE0QjtjQU54QyxTQUFTOzJCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTtnQkF3QnRDLE9BQU87a0JBQWYsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQUtHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsa0JBQWtCO2tCQUExQixLQUFLO1lBS0csZUFBZTtrQkFBdkIsS0FBSztZQVNHLEtBQUs7a0JBQWIsS0FBSztZQUtJLFdBQVc7a0JBQXBCLE1BQU07WUFLRyxnQkFBZ0I7a0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHlTdGF0ZU1hbmFnZXIgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQge1xuICBBZGRlZENoYW5nZUVtaXR0ZXIsXG4gIEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyLFxuICBDYXRhbG9nLFxuICBDYXRhbG9nSXRlbSxcbiAgQ2F0YWxvZ0l0ZW1Hcm91cCxcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcbiAgQ2F0YWxvZ0l0ZW1UeXBlXG59IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcblxuLyoqXG4gKiBDYXRhbG9nIGJyb3dzZXIgZ3JvdXAgaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogR3JvdXAncyBpdGVtcyBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0b3JlID0gbmV3IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPihbXSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFyZSBhZGRlZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFkZGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByZXZpZXckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRvZ2dsZSBidXR0b24gaXMgZGlzYWJsZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nXG4gICAqL1xuICBASW5wdXQoKSBjYXRhbG9nOiBDYXRhbG9nO1xuXG4gIC8qKlxuICAgKiBDYXRhbG9nIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKSBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cDtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgaXMgY29sbGFwc2VkXG4gICAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxuICAgKi9cbiAgQElucHV0KCkgdG9nZ2xlQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogUGFyZW50IGNhdGFsb2cncyBpdGVtcyBzdG9yZSBzdGF0ZS4gR3JvdXBzIHNoYXJlIGEgdW5pcXVlXG4gICAqIEVudGl0eVN0YXRlIHRoYXQgdHJhY2tzIHRoZSBncm91cCBhbmQgaXQncyBsYXllcnMgc3RhdGUgKHdoZXRoZXIgdGhleSBhcmUgYWRkZWQgb3Igbm90KS5cbiAgICogU2hhcmluZyBhIHVuaXF1ZSBzdGF0ZSB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGV4cGFuZCB0aGlzIGNvbXBvbmVudCB0byBhbGxvd1xuICAgKiB0aGUgc2VsZWN0aW9uIG9mIGEgbGF5ZXIgd2hpbGUgdW5zZWxlY3RpbmcgYW55IGxheWVyIGFscmVhZHkgc2VsZWN0ZWQgaW4gYW5vdGhlciBncm91cC5cbiAgICogVGhpcyBjb3VsZCBiZSB1c2VmdWwgdG8gZGlzcGxheSBzb21lIGxheWVyIGluZm8gYmVmb3JlIGFkZGluZyBpdCwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBASW5wdXQoKSBzdGF0ZTogRW50aXR5U3RhdGVNYW5hZ2VyPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiB0aGUgZ3JvdXAgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUdyb3VwRW1pdHRlcj4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiBhIGxheWVyIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUVtaXR0ZXI+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLmxvYWQodGhpcy5ncm91cC5pdGVtcyk7XG4gICAgdGhpcy5ldmFsdWF0ZUFkZGVkKCk7XG4gICAgdGhpcy5ldmFsdWF0ZURpc2FibGVkKHRoaXMuY29sbGFwc2VkKTtcbiAgICBpZiAodGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUudmlldy5zb3J0KHtcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmdyb3VwLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgaXNMYXllcihpdGVtOiBDYXRhbG9nSXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLnZhbHVlID8gdGhpcy5yZW1vdmUoZXZlbnQpIDogdGhpcy5hZGQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uVG9nZ2xlQ29sbGFwc2VkKGNvbGxhcHNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBldmFsdWF0ZSBpZiBhbGwgdGhlIGxheWVycyBvZiB0aGUgZ3JvdXBcbiAgICogYXJlIG5vdyBhZGRlZCBvciByZW1vdmVkLiBJZiBzbywgY29uc2lkZXIgdGhhdCB0aGUgZ3JvdXAgaXRzZWxmIGlzIGFkZGVkXG4gICAqIG9yIHJlbW92ZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgTGF5ZXIgYWRkZWQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIHRoaXMubGF5ZXJBZGRlZENoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLnRyeVRvZ2dsZUdyb3VwKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5hZGRlZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xuICAgICAgYWRkZWQ6IHRydWUsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7XG4gICAgICBhZGRlZDogZmFsc2UsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGV2ZW50XG4gICAgfSk7XG4gIH1cblxuICBvbkxheWVyUHJldmlldyhldmVudCkge1xuICAgIHRoaXMucHJldmlldyQubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgYWxsIHRoZSBsYXllcnMgb2YgdGhlIGdyb3VwIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgdGhlIGdyb3VwIGl0c2VsZi5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBsYXN0IGxheWVyIGFkZGVkIGNoYW5nZSBldmVudCB0byBvY2N1clxuICAgKi9cbiAgcHJpdmF0ZSB0cnlUb2dnbGVHcm91cChldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XG4gICAgY29uc3QgYWRkZWQgPSBldmVudC5hZGRlZDtcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xuXG4gICAgY29uc3QgbGF5ZXJzQWRkZWQgPSB0aGlzLnN0b3JlLnZpZXdcbiAgICAgIC5hbGwoKVxuICAgICAgLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0uaWQgIT09IGxheWVyLmlkKVxuICAgICAgLm1hcCgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKTtcblxuICAgIGlmIChsYXllcnNBZGRlZC5ldmVyeSgodmFsdWUpID0+IHZhbHVlID09PSBhZGRlZCkpIHtcbiAgICAgIGFkZGVkID8gdGhpcy5hZGQoZXZlbnQuZXZlbnQpIDogdGhpcy5yZW1vdmUoZXZlbnQuZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRlZCQudmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuYWRkZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVBZGRlZCgpIHtcbiAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuYWxsKCkuZXZlcnkoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gKHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKSA9PT0gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmFkZGVkJC5uZXh0KGFkZGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy50b2dnbGVDb2xsYXBzZWQgPT09IGZhbHNlKSB7XG4gICAgICBkaXNhYmxlZCA9IGNvbGxhcHNlZDtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlZCk7XG4gIH1cblxuICBvblRpdGxlQ2xpY2soKSB7XG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8bWF0LWljb25cbiAgICBtYXRMaXN0SXRlbUljb25cbiAgICBzdmdJY29uPVwiY2hldnJvbi11cFwiXG4gICAgaWdvQ29sbGFwc2VcbiAgICBjbGFzcz1cImlnby1jaGV2cm9uXCJcbiAgICBbdGFyZ2V0XT1cIml0ZW1zXCJcbiAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXG4gICAgKHRvZ2dsZSk9XCJvblRvZ2dsZUNvbGxhcHNlZCgkZXZlbnQpXCJcbiAgPlxuICA8L21hdC1pY29uPlxuXG4gIDxzcGFuXG4gICAgY2xhc3M9XCJpZ28tY2F0YWxvZy1ncm91cC10aXRsZVwiXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcbiAgICAoY2xpY2spPVwib25UaXRsZUNsaWNrKClcIlxuICAgID57eyB0aXRsZSB9fTwvc3BhblxuICA+XG5cbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2dyb3VwLWV4dGVybmFsLWljb25cIlxuICAgICAgICAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmdyb3VwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxuICAgICAgPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiKGFkZGVkJCB8IGFzeW5jKSAmJiAocHJldmlldyQgfCBhc3luYykgPT09IGZhbHNlOyBlbHNlIG5vdGFkZGVkXCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5yZW1vdmVGcm9tTWFwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm90YWRkZWQ+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5hZGRUb01hcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJwbHVzXCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48ZGl2ICNpdGVtcz5cbiAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNHcm91cChpdGVtKVwiPlxuICAgICAgPCEtLSB0b2RvOiBhZGQgZGlzcGxheSBhbnMgbWFuYWdlIENhdGFsb2dJdGVtR3JvdXAgLS0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5ZXIoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXG4gICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgIFtsYXllcl09XCJpdGVtXCJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvblwiXG4gICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxuICAgICAgICBbYWRkZWRdPVwic3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcbiAgICAgICAgKGFkZGVkTGF5ZXJJc1ByZXZpZXcpPVwib25MYXllclByZXZpZXcoJGV2ZW50KVwiXG4gICAgICAgIChhZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBR0wsT0FBTyxFQUlQLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7O0lDRGIsb0NBU0M7SUFGQyxxSUFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVc7O0lBTFQsMkZBQW1FOzs7SUFOdkUsaUNBQXVFO0lBQ3JFLGdHQVVXO0lBQ2IsaUJBQVM7OztJQVRKLGVBQTRCO0lBQTVCLG9EQUE0Qjs7OztJQVdqQyw2QkFFQztJQUNDLGtDQVFDO0lBREMsd0xBQVMsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDOzs7SUFFL0IsK0JBQXNDO0lBQ3hDLGlCQUFTO0lBQ1gsMEJBQWU7OztJQVBYLGVBQWdFO0lBQWhFLHdGQUFnRSxvREFBQTs7OztJQVVsRSxrQ0FPQztJQURDLHlMQUFTLGVBQUEsNkJBQXFCLENBQUEsSUFBQzs7O0lBRS9CLCtCQUFvQztJQUN0QyxpQkFBUzs7O0lBTFAsbUZBQTJELG9EQUFBOzs7SUFZL0Qsd0JBRWU7Ozs7SUFDZiw2QkFBb0M7SUFDbEMscURBU0M7SUFGQyx5UEFBdUIsZUFBQSw4QkFBc0IsQ0FBQSxJQUFDLDROQUMvQixlQUFBLGtDQUEwQixDQUFBLElBREs7SUFHaEQsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBVFgsZUFBYztJQUFkLGdDQUFjLGtDQUFBLG9CQUFBLGtEQUFBLDRDQUFBOzs7SUFObEIsK0dBRWU7SUFDZiwrR0FZZTs7OztJQWZBLCtDQUFtQjtJQUduQixlQUFtQjtJQUFuQiwrQ0FBbUI7O0FEOUN0Qzs7R0FFRztBQU9ILE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7OztPQUdHO0lBQ0gsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFnQyxFQUFFLENBQUMsQ0FBQztJQUUzRDs7O09BR0c7SUFDSCxNQUFNLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELFFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEU7OztPQUdHO0lBQ0gsU0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRTs7T0FFRztJQUNNLE9BQU8sQ0FBVTtJQUUxQjs7T0FFRztJQUNNLEtBQUssQ0FBbUI7SUFFeEIsR0FBRyxDQUFTO0lBRXJCOztPQUVHO0lBQ00sU0FBUyxHQUFZLElBQUksQ0FBQztJQUUxQixVQUFVLENBQVM7SUFFbkIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRXBDOztPQUVHO0lBQ00sZUFBZSxHQUFZLElBQUksQ0FBQztJQUV6Qzs7Ozs7O09BTUc7SUFDTSxLQUFLLENBQW9EO0lBRWxFOztPQUVHO0lBQ08sV0FBVyxHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO0lBRXBFOztPQUVHO0lBQ08sZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFcEU7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTtnQkFDbkMsYUFBYSxFQUFFLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7YUFDakQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxJQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLFNBQWtCO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsa0JBQWtCLENBQUMsS0FBeUI7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNLLEdBQUcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLO1NBQ04sQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsS0FBeUI7UUFDOUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRTFCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTthQUNoQyxHQUFHLEVBQUU7YUFDTCxNQUFNLENBQUMsQ0FBQyxJQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDbkQsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBRW5FLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2pELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFEO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRTtZQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUN6QyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssRUFBRTtZQUNsQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO3NGQXJNVSw0QkFBNEI7NkRBQTVCLDRCQUE0QjtZQ25DekMscUNBQWUsa0JBQUE7WUFRWCxtSEFBVSw2QkFBeUIsSUFBQztZQUV0QyxpQkFBVztZQUVYLCtCQU1HO1lBREQsdUdBQVMsa0JBQWMsSUFBQztZQUN2QixZQUFXO1lBQUEsaUJBQ2I7WUFFRCw4QkFBcUI7WUFDbkIsbUZBWVM7WUFFVCwrRkFjZTs7O1lBRWYsOEhBV2M7WUFDaEIsaUJBQU0sRUFBQTtZQUdSLHFDQUFZO1lBQ1YsK0ZBaUJjOztZQUNoQixpQkFBTTs7OztZQWhGRixlQUFnQjtZQUFoQiw0QkFBZ0IsNEJBQUE7WUFVaEIsZUFBb0I7WUFBcEIsc0NBQW9CO1lBRW5CLGVBQVc7WUFBWCwrQkFBVztZQUlILGVBQTRCO1lBQTVCLGlEQUE0QjtZQWVsQyxlQUF3RDtZQUF4RCx3R0FBd0QsaUJBQUE7WUErQmpDLGVBQXFDO1lBQXJDLHVFQUFxQzs7O3VGRGpDdEQsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNO2dCQXdCdEMsT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBRUcsR0FBRztrQkFBWCxLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFLRyxlQUFlO2tCQUF2QixLQUFLO1lBU0csS0FBSztrQkFBYixLQUFLO1lBS0ksV0FBVztrQkFBcEIsTUFBTTtZQUtHLGdCQUFnQjtrQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IEVudGl0eVN0YXRlTWFuYWdlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQge1xyXG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcclxuICBBZGRlZENoYW5nZUdyb3VwRW1pdHRlcixcclxuICBDYXRhbG9nLFxyXG4gIENhdGFsb2dJdGVtLFxyXG4gIENhdGFsb2dJdGVtR3JvdXAsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgYnJvd3NlciBncm91cCBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIEdyb3VwJ3MgaXRlbXMgc3RvcmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdG9yZSA9IG5ldyBFbnRpdHlTdG9yZTxDYXRhbG9nSXRlbSwgQ2F0YWxvZ0l0ZW1TdGF0ZT4oW10pO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cCBhcmUgYWRkZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBhZGRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByZXZpZXckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgYnV0dG9uIGlzIGRpc2FibGVkXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2F0YWxvZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgZ3JvdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cDtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdyb3VwIGlzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdyb3VwIGNhbiBiZSB0b2dnbGVkIHdoZW4gaXQncyBjb2xsYXBzZWRcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBQYXJlbnQgY2F0YWxvZydzIGl0ZW1zIHN0b3JlIHN0YXRlLiBHcm91cHMgc2hhcmUgYSB1bmlxdWVcclxuICAgKiBFbnRpdHlTdGF0ZSB0aGF0IHRyYWNrcyB0aGUgZ3JvdXAgYW5kIGl0J3MgbGF5ZXJzIHN0YXRlICh3aGV0aGVyIHRoZXkgYXJlIGFkZGVkIG9yIG5vdCkuXHJcbiAgICogU2hhcmluZyBhIHVuaXF1ZSBzdGF0ZSB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIGV4cGFuZCB0aGlzIGNvbXBvbmVudCB0byBhbGxvd1xyXG4gICAqIHRoZSBzZWxlY3Rpb24gb2YgYSBsYXllciB3aGlsZSB1bnNlbGVjdGluZyBhbnkgbGF5ZXIgYWxyZWFkeSBzZWxlY3RlZCBpbiBhbm90aGVyIGdyb3VwLlxyXG4gICAqIFRoaXMgY291bGQgYmUgdXNlZnVsIHRvIGRpc3BsYXkgc29tZSBsYXllciBpbmZvIGJlZm9yZSBhZGRpbmcgaXQsIGZvciBleGFtcGxlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0YXRlOiBFbnRpdHlTdGF0ZU1hbmFnZXI8Q2F0YWxvZ0l0ZW0sIENhdGFsb2dJdGVtU3RhdGU+O1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFkZC9yZW1vdmUgYnV0dG9uIG9mIHRoZSBncm91cCBpcyBjbGlja2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFkZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRlZENoYW5nZUdyb3VwRW1pdHRlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBvZiBhIGxheWVyIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbGF5ZXJBZGRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkZWRDaGFuZ2VFbWl0dGVyPigpO1xyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0b3JlLmxvYWQodGhpcy5ncm91cC5pdGVtcyk7XHJcbiAgICB0aGlzLmV2YWx1YXRlQWRkZWQoKTtcclxuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZCh0aGlzLmNvbGxhcHNlZCk7XHJcbiAgICBpZiAodGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5ncm91cC5zb3J0RGlyZWN0aW9uLFxyXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdG9yZS5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0dyb3VwKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuTGF5ZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5hZGRlZCQudmFsdWUgPyB0aGlzLnJlbW92ZShldmVudCkgOiB0aGlzLmFkZChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNvbGxhcHNlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZXZhbHVhdGVEaXNhYmxlZChjb2xsYXBzZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIGxheWVyIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGV2YWx1YXRlIGlmIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cFxyXG4gICAqIGFyZSBub3cgYWRkZWQgb3IgcmVtb3ZlZC4gSWYgc28sIGNvbnNpZGVyIHRoYXQgdGhlIGdyb3VwIGl0c2VsZiBpcyBhZGRlZFxyXG4gICAqIG9yIHJlbW92ZWQuXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIG9uTGF5ZXJBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICB0aGlzLmxheWVyQWRkZWRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnRyeVRvZ2dsZUdyb3VwKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmFkZGVkJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHtcclxuICAgICAgYWRkZWQ6IHRydWUsXHJcbiAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxyXG4gICAgICBldmVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5hZGRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBhZGRlZDogZmFsc2UsXHJcbiAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxyXG4gICAgICBldmVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxheWVyUHJldmlldyhldmVudCkge1xyXG4gICAgdGhpcy5wcmV2aWV3JC5uZXh0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIGFsbCB0aGUgbGF5ZXJzIG9mIHRoZSBncm91cCBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIHRoZSBncm91cCBpdHNlbGYuXHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBsYXN0IGxheWVyIGFkZGVkIGNoYW5nZSBldmVudCB0byBvY2N1clxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJ5VG9nZ2xlR3JvdXAoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xyXG4gICAgY29uc3QgYWRkZWQgPSBldmVudC5hZGRlZDtcclxuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XHJcblxyXG4gICAgY29uc3QgbGF5ZXJzQWRkZWQgPSB0aGlzLnN0b3JlLnZpZXdcclxuICAgICAgLmFsbCgpXHJcbiAgICAgIC5maWx0ZXIoKGl0ZW06IENhdGFsb2dJdGVtKSA9PiBpdGVtLmlkICE9PSBsYXllci5pZClcclxuICAgICAgLm1hcCgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHRoaXMuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlKTtcclxuXHJcbiAgICBpZiAobGF5ZXJzQWRkZWQuZXZlcnkoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gYWRkZWQpKSB7XHJcbiAgICAgIGFkZGVkID8gdGhpcy5hZGQoZXZlbnQuZXZlbnQpIDogdGhpcy5yZW1vdmUoZXZlbnQuZXZlbnQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFkZGVkJC52YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmFkZGVkJC5uZXh0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXZhbHVhdGVBZGRlZCgpIHtcclxuICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5hbGwoKS5ldmVyeSgoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuICh0aGlzLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZSkgPT09IHRydWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWRkZWQkLm5leHQoYWRkZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBldmFsdWF0ZURpc2FibGVkKGNvbGxhcHNlZDogYm9vbGVhbikge1xyXG4gICAgbGV0IGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy50b2dnbGVDb2xsYXBzZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIGRpc2FibGVkID0gY29sbGFwc2VkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICBvblRpdGxlQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1pY29uXHJcbiAgICBtYXRMaXN0SXRlbUljb25cclxuICAgIHN2Z0ljb249XCJjaGV2cm9uLXVwXCJcclxuICAgIGlnb0NvbGxhcHNlXHJcbiAgICBjbGFzcz1cImlnby1jaGV2cm9uIGNhdGFsb2ctYnJvd3Nlci1ncm91cC1jYXJyZXRcIlxyXG4gICAgW3RhcmdldF09XCJpdGVtc1wiXHJcbiAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXHJcbiAgICAodG9nZ2xlKT1cIm9uVG9nZ2xlQ29sbGFwc2VkKCRldmVudClcIlxyXG4gID5cclxuICA8L21hdC1pY29uPlxyXG5cclxuICA8c3BhblxyXG4gICAgY2xhc3M9XCJpZ28tY2F0YWxvZy1ncm91cC10aXRsZVwiXHJcbiAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcclxuICAgIChjbGljayk9XCJvblRpdGxlQ2xpY2soKVwiXHJcbiAgICA+e3sgdGl0bGUgfX08L3NwYW5cclxuICA+XHJcblxyXG4gIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgIGNsYXNzPVwiaWdvLWNhdGFsb2dncm91cC1leHRlcm5hbC1pY29uXCJcclxuICAgICAgICAqbmdJZj1cImdyb3VwLmV4dGVybmFsUHJvdmlkZXJcIlxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmdyb3VwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0lmPVwiKGFkZGVkJCB8IGFzeW5jKSAmJiAocHJldmlldyQgfCBhc3luYykgPT09IGZhbHNlOyBlbHNlIG5vdGFkZGVkXCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5ncm91cC5yZW1vdmVGcm9tTWFwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm90YWRkZWQ+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmNhdGFsb2cuZ3JvdXAuYWRkVG9NYXAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJwbHVzXCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L21hdC1saXN0LWl0ZW0+XHJcblxyXG48ZGl2ICNpdGVtcz5cclxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cclxuICAgICAgPCEtLSB0b2RvOiBhZGQgZGlzcGxheSBhbnMgbWFuYWdlIENhdGFsb2dJdGVtR3JvdXAgLS0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xheWVyKGl0ZW0pXCI+XHJcbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBbbGF5ZXJdPVwiaXRlbVwiXHJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvblwiXHJcbiAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcclxuICAgICAgICBbYWRkZWRdPVwic3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcclxuICAgICAgICAoYWRkZWRMYXllcklzUHJldmlldyk9XCJvbkxheWVyUHJldmlldygkZXZlbnQpXCJcclxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,8 +1,8 @@
1
- import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
2
- import { getEntityTitle, getEntityIcon } from '@igo2/common';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { getEntityIcon, getEntityTitle } from '@igo2/common';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import { LayerService } from '../../layer/shared/layer.service';
5
4
  import { first } from 'rxjs/operators';
5
+ import { LayerService } from '../../layer/shared/layer.service';
6
6
  import { TooltipType } from '../../layer/shared/layers';
7
7
  import { IgoMap } from '../../map/shared';
8
8
  import * as i0 from "@angular/core";
@@ -251,7 +251,7 @@ export class CatalogBrowserLayerComponent {
251
251
  }
252
252
  }
253
253
  static ɵfac = function CatalogBrowserLayerComponent_Factory(t) { return new (t || CatalogBrowserLayerComponent)(i0.ɵɵdirectiveInject(i1.LayerService)); };
254
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls: 23, vars: 35, consts: [["matListItemIcon", "", "svgIcon", "blank", 4, "ngIf"], ["matListItemTitle", "", "matTooltipShowDelay", "500", 3, "ngClass", "matTooltip", "click"], ["matListItemMeta", ""], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [3, "layer"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["aria-hidden", "false", "matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], [1, "igo-cataloglayer-legend-container"], ["legend", ""], [3, "layer", 4, "ngIf"], ["matListItemIcon", "", "svgIcon", "blank"], ["disabled", "true", "mat-icon-button", ""], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloglayer-external-icon", 3, "matTooltip", "click"]], template: function CatalogBrowserLayerComponent_Template(rf, ctx) { if (rf & 1) {
254
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls: 23, vars: 35, consts: [["class", "catalog-browser-layer-carret", "matListItemIcon", "", "svgIcon", "blank", 4, "ngIf"], ["matListItemTitle", "", "matTooltipShowDelay", "500", 3, "ngClass", "matTooltip", "click"], ["matListItemMeta", ""], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [3, "layer"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["aria-hidden", "false", "matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], [1, "igo-cataloglayer-legend-container"], ["legend", ""], [3, "layer", 4, "ngIf"], ["matListItemIcon", "", "svgIcon", "blank", 1, "catalog-browser-layer-carret"], ["disabled", "true", "mat-icon-button", ""], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloglayer-external-icon", 3, "matTooltip", "click"]], template: function CatalogBrowserLayerComponent_Template(rf, ctx) { if (rf & 1) {
255
255
  i0.ɵɵelementStart(0, "mat-list-item");
256
256
  i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_mat_icon_1_Template, 1, 0, "mat-icon", 0);
257
257
  i0.ɵɵelementStart(2, "span", 1);
@@ -296,11 +296,11 @@ export class CatalogBrowserLayerComponent {
296
296
  i0.ɵɵproperty("igoMatBadgeIcon", ctx.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(11, 17, ctx.inRange$) && i0.ɵɵpipeBind1(12, 19, ctx.isVisible$) === true || i0.ɵɵpipeBind1(13, 21, ctx.inRange$) && !ctx.added || i0.ɵɵpipeBind1(14, 23, ctx.inRange$) && i0.ɵɵpipeBind1(15, 25, ctx.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(16, 27, ctx.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(17, 29, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
297
297
  i0.ɵɵadvance(10);
298
298
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(21, 31, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(22, 33, ctx.igoLayer$) && ctx.catalogAllowLegend);
299
- } }, dependencies: [i2.NgClass, i2.NgIf, i3.MatBadge, i4.MatIconButton, i5.MatIcon, i6.MatListItem, i6.MatListItemIcon, i6.MatListItemTitle, i6.MatListItemMeta, i7.MatTooltip, i8.IgoBadgeIconDirective, i9.MetadataButtonComponent, i10.LayerLegendComponent, i2.AsyncPipe, i11.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
299
+ } }, dependencies: [i2.NgClass, i2.NgIf, i3.MatBadge, i4.MatIconButton, i5.MatIcon, i6.MatListItem, i6.MatListItemIcon, i6.MatListItemTitle, i6.MatListItemMeta, i7.MatTooltip, i8.IgoBadgeIconDirective, i9.MetadataButtonComponent, i10.LayerLegendComponent, i2.AsyncPipe, i11.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.catalog-browser-layer-carret[_ngcontent-%COMP%]{margin-right:16px}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}[_nghost-%COMP%] .mdc-list-item__end[_ngcontent-%COMP%], [_nghost-%COMP%] .mdc-list-item__start[_ngcontent-%COMP%]{color:#000}"], changeDetection: 0 });
300
300
  }
301
301
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
302
302
  type: Component,
303
- args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" matListItemIcon svgIcon=\"blank\"></mat-icon>\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend($event)\"\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 svgIcon=\"earth-arrow-right\"\n >\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"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 [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\"\n >\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}.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"] }]
303
+ args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\r\n <mat-icon\r\n *ngIf=\"haveGroup()\"\r\n class=\"catalog-browser-layer-carret\"\r\n matListItemIcon\r\n svgIcon=\"blank\"\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n matTooltipShowDelay=\"500\"\r\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\r\n (click)=\"askForLegend($event)\"\r\n [matTooltip]=\"computeTitleTooltip()\"\r\n >\r\n {{ title }}\r\n </span>\r\n\r\n <div matListItemMeta>\r\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\r\n <mat-icon\r\n class=\"igo-cataloglayer-external-icon\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\r\n color=\"primary\"\r\n (click)=\"$event.stopPropagation()\"\r\n svgIcon=\"earth-arrow-right\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n\r\n <button\r\n (mouseenter)=\"onMouseEvent($event)\"\r\n (mouseleave)=\"onMouseEvent($event)\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"computeTooltip() | translate\"\r\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <mat-icon\r\n aria-hidden=\"false\"\r\n matBadge=\"icon\"\r\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\r\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\r\n igoMatBadgeBackgroundColor=\"none\"\r\n igoMatBadgeInverseColor=\"true\"\r\n [matBadgeHidden]=\"\r\n ((inRange$ | async) && (isVisible$ | async) === true) ||\r\n ((inRange$ | async) && !added) ||\r\n ((inRange$ | async) && (isPreview$ | async))\r\n \"\r\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\r\n matBadgeSize=\"small\"\r\n matBadgePosition=\"after\"\r\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\"\r\n >\r\n </mat-icon>\r\n </button>\r\n </div>\r\n</mat-list-item>\r\n\r\n<div #legend class=\"igo-cataloglayer-legend-container\">\r\n <igo-layer-legend\r\n *ngIf=\"\r\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\r\n \"\r\n [layer]=\"igoLayer$ | async\"\r\n >\r\n </igo-layer-legend>\r\n</div>\r\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"] }]
304
304
  }], function () { return [{ type: i1.LayerService }]; }, { resolution: [{
305
305
  type: Input
306
306
  }], catalogAllowLegend: [{
@@ -316,4 +316,4 @@ export class CatalogBrowserLayerComponent {
316
316
  }], addedLayerIsPreview: [{
317
317
  type: Output
318
318
  }] }); })();
319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ2pCeEMsK0JBQXlFOzs7SUFZdkUsa0NBQXVFLG1CQUFBO0lBT25FLDBIQUFTLHdCQUF3QixJQUFDOztJQUdwQyxpQkFBVyxFQUFBOztJQUxULGVBQW1FO0lBQW5FLDJGQUFtRTs7O0lBMEN6RSxzQ0FNbUI7Ozs7SUFGakIsOERBQTJCOztBRDVDL0I7O0dBRUc7QUFPSCxNQUFNLE9BQU8sNEJBQTRCO0lBcURuQjtJQXBEYixRQUFRLEdBQTZCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9E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IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEVudGl0eVRpdGxlLCBnZXRFbnRpdHlJY29uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgQWRkZWRDaGFuZ2VFbWl0dGVyLCBDYXRhbG9nSXRlbUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExheWVyLCBUb29sdGlwVHlwZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMnO1xuaW1wb3J0IHsgTWV0YWRhdGFMYXllck9wdGlvbnMgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9zaGFyZWQvbWV0YWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xuXG4vKipcbiAqIENhdGFsb2cgYnJvd3NlciBsYXllciBpdGVtXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyTGF5ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHVibGljIGlzUHJldmlldyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgaXNWaXNpYmxlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgaXNQcmV2aWV3JCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcblxuICBwdWJsaWMgbGF5ZXJMZWdlbmRTaG93biQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgZmFsc2VcbiAgKTtcbiAgcHVibGljIGlnb0xheWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZUFkZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2F0YWxvZyBsYXllclxuICAgKi9cbiAgQElucHV0KCkgbGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXI7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxuICAgKi9cbiAgQElucHV0KCkgYWRkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgYWRkZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFkZGVkQ2hhbmdlRW1pdHRlcj4oKTtcblxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlJY29uKHRoaXMubGF5ZXIpIHx8ICdsYXllcnMnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUHJldmlldyQkID0gdGhpcy5pc1ByZXZpZXckLnN1YnNjcmliZSgodmFsdWUpID0+XG4gICAgICB0aGlzLmFkZGVkTGF5ZXJJc1ByZXZpZXcuZW1pdCh2YWx1ZSlcbiAgICApO1xuXG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwLmxheWVycyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZShcbiAgICAgIChyZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UocmVzb2x1dGlvbik7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaXNQcmV2aWV3JCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGF5ZXJzJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNvbXB1dGVUaXRsZVRvb2x0aXAoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLm9wdGlvbnM7XG4gICAgaWYgKCFsYXllck9wdGlvbnMudG9vbHRpcCkge1xuICAgICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMubGF5ZXIpO1xuICAgIH1cbiAgICBjb25zdCBsYXllclRvb2x0aXAgPSBsYXllck9wdGlvbnMudG9vbHRpcDtcbiAgICBjb25zdCBsYXllck1ldGFkYXRhID0gKGxheWVyT3B0aW9ucyBhcyBNZXRhZGF0YUxheWVyT3B0aW9ucykubWV0YWRhdGE7XG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMudG9vbHRpcC50eXBlKSB7XG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLlRJVExFOlxuICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQUJTVFJBQ1Q6XG4gICAgICAgIGlmIChsYXllck1ldGFkYXRhICYmIGxheWVyTWV0YWRhdGEuYWJzdHJhY3QpIHtcbiAgICAgICAgICByZXR1cm4gbGF5ZXJNZXRhZGF0YS5hYnN0cmFjdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSBUb29sdGlwVHlwZS5DVVNUT006XG4gICAgICAgIGlmIChsYXllclRvb2x0aXAgJiYgbGF5ZXJUb29sdGlwLnRleHQpIHtcbiAgICAgICAgICByZXR1cm4gbGF5ZXJUb29sdGlwLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uTW91c2VFdmVudChldmVudCkge1xuICAgIHRoaXMub25Ub2dnbGVDbGljayhldmVudCk7XG4gIH1cblxuICBhc2tGb3JMZWdlbmQoZXZlbnQpIHtcbiAgICB0aGlzLmxheWVyTGVnZW5kU2hvd24kLm5leHQoIXRoaXMubGF5ZXJMZWdlbmRTaG93biQudmFsdWUpO1xuICAgIHRoaXMubGF5ZXJTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXN5bmNMYXllcih0aGlzLmxheWVyLm9wdGlvbnMpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgobGF5ZXIpID0+IHRoaXMuaWdvTGF5ZXIkLm5leHQobGF5ZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgfVxuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicgJiYgdGhpcy5tb3VzZUluc2lkZUFkZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcbiAgICAgICAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUgJiYgIXRoaXMuYWRkZWQpIHtcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICAgICAgaWYgKHRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlKGV2ZW50KTtcbiAgICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmFkZGVkKSB7XG4gICAgICB0aGlzLmFkZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7IGFkZGVkOiB0cnVlLCBsYXllcjogdGhpcy5sYXllciwgZXZlbnQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSBmYWxzZVxuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWRkZWRDaGFuZ2UuZW1pdCh7IGFkZGVkOiBmYWxzZSwgbGF5ZXI6IHRoaXMubGF5ZXIsIGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhdmVHcm91cCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISghdGhpcy5sYXllci5hZGRyZXNzIHx8IHRoaXMubGF5ZXIuYWRkcmVzcy5zcGxpdCgnLicpLmxlbmd0aCA9PT0gMSk7XG4gIH1cblxuICBpc0luUmVzb2x1dGlvbnNSYW5nZShyZXNvbHV0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBtaW5SZXNvbHV0aW9uID1cbiAgICAgICF0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxuICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5taW5SZXNvbHV0aW9uKVxuICAgICAgICA/IDBcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbjtcbiAgICBjb25zdCBtYXhSZXNvbHV0aW9uID1cbiAgICAgICF0aGlzLmxheWVyLm9wdGlvbnMubWF4UmVzb2x1dGlvbiB8fFxuICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uKVxuICAgICAgICA/IEluZmluaXR5XG4gICAgICAgIDogdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb247XG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxuICAgICAgcmVzb2x1dGlvbiA+PSBtaW5SZXNvbHV0aW9uICYmIHJlc29sdXRpb24gPD0gbWF4UmVzb2x1dGlvblxuICAgICk7XG4gIH1cblxuICBpc1Zpc2libGUoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXI/LmlkKSB7XG4gICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQodGhpcy5sYXllcj8uaWQpO1xuICAgICAgb0xheWVyXG4gICAgICAgID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpXG4gICAgICAgIDogdGhpcy5pc1Zpc2libGUkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldEJhZGdlSWNvbigpIHtcbiAgICBpZiAodGhpcy5pblJhbmdlJC5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLmdldFZhbHVlKCkgPyAnJyA6ICdleWUtb2ZmJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdleWUtb2ZmJztcbiAgICB9XG4gIH1cblxuICBjb21wdXRlVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pblJhbmdlJC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXG4gICAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXAnXG4gICAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBOb3RWaXNpYmxlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBPdXRSYW5nZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmluUmFuZ2UkLnZhbHVlXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwT3V0UmFuZ2UnO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1saXN0LWl0ZW0+XG4gIDxtYXQtaWNvbiAqbmdJZj1cImhhdmVHcm91cCgpXCIgbWF0TGlzdEl0ZW1JY29uIHN2Z0ljb249XCJibGFua1wiPjwvbWF0LWljb24+XG4gIDxzcGFuXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFtuZ0NsYXNzXT1cImNhdGFsb2dBbGxvd0xlZ2VuZCA/ICdpZ28tY2F0YWxvZ2xheWVyLXRpdGxlJyA6ICcnXCJcbiAgICAoY2xpY2spPVwiYXNrRm9yTGVnZW5kKCRldmVudClcIlxuICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUaXRsZVRvb2x0aXAoKVwiXG4gID5cbiAgICB7eyB0aXRsZSB9fVxuICA8L3NwYW4+XG5cbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImxheWVyLmV4dGVybmFsUHJvdmlkZXJcIiBkaXNhYmxlZD1cInRydWVcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2xheWVyLWV4dGVybmFsLWljb25cIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmxheWVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxuICAgICAgPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxuICAgICAgW2NvbG9yXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJycgOiBhZGRlZCA/ICd3YXJuJyA6ICcnXCJcbiAgICAgIChjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcbiAgICAgICAgW2lnb01hdEJhZGdlSWNvbl09XCJnZXRCYWRnZUljb24oKVwiXG4gICAgICAgIGlnb01hdEJhZGdlQ29sb3I9XCJyZ2JhKDAsMCwwLDAuODcpXCJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcbiAgICAgICAgaWdvTWF0QmFkZ2VJbnZlcnNlQ29sb3I9XCJ0cnVlXCJcbiAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cIlxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzVmlzaWJsZSQgfCBhc3luYykgPT09IHRydWUpIHx8XG4gICAgICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAhYWRkZWQpIHx8XG4gICAgICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNQcmV2aWV3JCB8IGFzeW5jKSlcbiAgICAgICAgXCJcbiAgICAgICAgW21hdEJhZGdlRGlzYWJsZWRdPVwiKGluUmFuZ2UkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcbiAgICAgICAgW3N2Z0ljb25dPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAncGx1cycgOiBhZGRlZCA/ICdkZWxldGUnIDogJ3BsdXMnXCJcbiAgICAgID5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48ZGl2ICNsZWdlbmQgY2xhc3M9XCJpZ28tY2F0YWxvZ2xheWVyLWxlZ2VuZC1jb250YWluZXJcIj5cbiAgPGlnby1sYXllci1sZWdlbmRcbiAgICAqbmdJZj1cIlxuICAgICAgKGxheWVyTGVnZW5kU2hvd24kIHwgYXN5bmMpICYmIChpZ29MYXllciQgfCBhc3luYykgJiYgY2F0YWxvZ0FsbG93TGVnZW5kXG4gICAgXCJcbiAgICBbbGF5ZXJdPVwiaWdvTGF5ZXIkIHwgYXN5bmNcIlxuICA+XG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cbjwvZGl2PlxuIl19
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ2hCeEMsK0JBS1k7OztJQVlWLGtDQUF1RSxtQkFBQTtJQU9uRSwwSEFBUyx3QkFBd0IsSUFBQzs7SUFHcEMsaUJBQVcsRUFBQTs7SUFMVCxlQUFtRTtJQUFuRSwyRkFBbUU7OztJQTBDekUsc0NBTW1COzs7O0lBRmpCLDhEQUEyQjs7QURoRC9COztHQUVHO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQXFEbkI7SUFwRGIsUUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxV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clxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBnZXRFbnRpdHlJY29uLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5ZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBZGRlZENoYW5nZUVtaXR0ZXIsIENhdGFsb2dJdGVtTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENhdGFsb2cgYnJvd3NlciBsYXllciBpdGVtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcclxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHVibGljIGlzVmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgaXNQcmV2aWV3JCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcclxuXHJcbiAgcHVibGljIGxheWVyTGVnZW5kU2hvd24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgZmFsc2VcclxuICApO1xyXG4gIHB1YmxpYyBpZ29MYXllciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyPih1bmRlZmluZWQpO1xyXG5cclxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcjtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFkZGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWRkL3JlbW92ZSBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhZGRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkZWRDaGFuZ2VFbWl0dGVyPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5sYXllcikgfHwgJ2xheWVycyc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQgPSB0aGlzLmlzUHJldmlldyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cclxuICAgICAgdGhpcy5hZGRlZExheWVySXNQcmV2aWV3LmVtaXQodmFsdWUpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZShcclxuICAgICAgKHJlc29sdXRpb24pID0+IHtcclxuICAgICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb24pO1xyXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3JCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlVGl0bGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSB0aGlzLmxheWVyLm9wdGlvbnM7XHJcbiAgICBpZiAoIWxheWVyT3B0aW9ucy50b29sdGlwKSB7XHJcbiAgICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmxheWVyKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGxheWVyVG9vbHRpcCA9IGxheWVyT3B0aW9ucy50b29sdGlwO1xyXG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xyXG4gICAgc3dpdGNoIChsYXllck9wdGlvbnMudG9vbHRpcC50eXBlKSB7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuVElUTEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQUJTVFJBQ1Q6XHJcbiAgICAgICAgaWYgKGxheWVyTWV0YWRhdGEgJiYgbGF5ZXJNZXRhZGF0YS5hYnN0cmFjdCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSBUb29sdGlwVHlwZS5DVVNUT006XHJcbiAgICAgICAgaWYgKGxheWVyVG9vbHRpcCAmJiBsYXllclRvb2x0aXAudGV4dCkge1xyXG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTW91c2VFdmVudChldmVudCkge1xyXG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGFza0ZvckxlZ2VuZChldmVudCkge1xyXG4gICAgdGhpcy5sYXllckxlZ2VuZFNob3duJC5uZXh0KCF0aGlzLmxheWVyTGVnZW5kU2hvd24kLnZhbHVlKTtcclxuICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHRoaXMubGF5ZXIub3B0aW9ucylcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZSgobGF5ZXIpID0+IHRoaXMuaWdvTGF5ZXIkLm5leHQobGF5ZXIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ2xpY2soZXZlbnQpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInICYmIHRoaXMubW91c2VJbnNpZGVBZGQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NsaWNrJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmUoZXZlbnQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxyXG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlICYmICF0aGlzLmFkZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlKGV2ZW50KTtcclxuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZChldmVudDogRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5hZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoeyBhZGRlZDogZmFsc2UsIGxheWVyOiB0aGlzLmxheWVyLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhdmVHcm91cCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhKCF0aGlzLmxheWVyLmFkZHJlc3MgfHwgdGhpcy5sYXllci5hZGRyZXNzLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKTtcclxuICB9XHJcblxyXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9XHJcbiAgICAgICF0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxyXG4gICAgICBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pXHJcbiAgICAgICAgPyAwXHJcbiAgICAgICAgOiB0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxyXG4gICAgICAhdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24gfHxcclxuICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uKVxyXG4gICAgICAgID8gSW5maW5pdHlcclxuICAgICAgICA6IHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uO1xyXG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxyXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNWaXNpYmxlKCkge1xyXG4gICAgaWYgKHRoaXMubGF5ZXI/LmlkKSB7XHJcbiAgICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyPy5pZCk7XHJcbiAgICAgIG9MYXllclxyXG4gICAgICAgID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpXHJcbiAgICAgICAgOiB0aGlzLmlzVmlzaWJsZSQubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRCYWRnZUljb24oKSB7XHJcbiAgICBpZiAodGhpcy5pblJhbmdlJC5nZXRWYWx1ZSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQuZ2V0VmFsdWUoKSA/ICcnIDogJ2V5ZS1vZmYnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdleWUtb2ZmJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXHJcbiAgICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcCdcclxuICAgICAgICAgIDogJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwTm90VmlzaWJsZSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE91dFJhbmdlJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW5SYW5nZSQudmFsdWVcclxuICAgICAgICA/ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwT3V0UmFuZ2UnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWljb25cclxuICAgICpuZ0lmPVwiaGF2ZUdyb3VwKClcIlxyXG4gICAgY2xhc3M9XCJjYXRhbG9nLWJyb3dzZXItbGF5ZXItY2FycmV0XCJcclxuICAgIG1hdExpc3RJdGVtSWNvblxyXG4gICAgc3ZnSWNvbj1cImJsYW5rXCJcclxuICA+PC9tYXQtaWNvbj5cclxuICA8c3BhblxyXG4gICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbmdDbGFzc109XCJjYXRhbG9nQWxsb3dMZWdlbmQgPyAnaWdvLWNhdGFsb2dsYXllci10aXRsZScgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiYXNrRm9yTGVnZW5kKCRldmVudClcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRpdGxlVG9vbHRpcCgpXCJcclxuICA+XHJcbiAgICB7eyB0aXRsZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiIGRpc2FibGVkPVwidHJ1ZVwiIG1hdC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJpZ28tY2F0YWxvZ2xheWVyLWV4dGVybmFsLWljb25cIlxyXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLmxheWVyJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICBzdmdJY29uPVwiZWFydGgtYXJyb3ctcmlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxpZ28tbWV0YWRhdGEtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLW1ldGFkYXRhLWJ1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbY29sb3JdPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAnJyA6IGFkZGVkID8gJ3dhcm4nIDogJydcIlxyXG4gICAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXHJcbiAgICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICAgICAgICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXHJcbiAgICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcclxuICAgICAgICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzVmlzaWJsZSQgfCBhc3luYykgPT09IHRydWUpIHx8XHJcbiAgICAgICAgICAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHxcclxuICAgICAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgKGlzUHJldmlldyQgfCBhc3luYykpXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbbWF0QmFkZ2VEaXNhYmxlZF09XCIoaW5SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlXCJcclxuICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcclxuICAgICAgICBbc3ZnSWNvbl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAncGx1cydcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG5cclxuPGRpdiAjbGVnZW5kIGNsYXNzPVwiaWdvLWNhdGFsb2dsYXllci1sZWdlbmQtY29udGFpbmVyXCI+XHJcbiAgPGlnby1sYXllci1sZWdlbmRcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIChsYXllckxlZ2VuZFNob3duJCB8IGFzeW5jKSAmJiAoaWdvTGF5ZXIkIHwgYXN5bmMpICYmIGNhdGFsb2dBbGxvd0xlZ2VuZFxyXG4gICAgXCJcclxuICAgIFtsYXllcl09XCJpZ29MYXllciQgfCBhc3luY1wiXHJcbiAgPlxyXG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
- import { zip } from 'rxjs';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
3
2
  import { EntityStore, EntityStoreWatcher } from '@igo2/common';
3
+ import { zip } from 'rxjs';
4
4
  import { LayerService } from '../../layer/shared/layer.service';
5
5
  import { IgoMap } from '../../map/shared';
6
6
  import { Catalog, CatalogItemType } from '../shared';
@@ -275,4 +275,4 @@ export class CatalogBrowserComponent {
275
275
  }], toggleCollapsedGroup: [{
276
276
  type: Input
277
277
  }] }); })();
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxFQUNMLE9BQU8sRUFLUCxlQUFlLEVBR2hCLE1BQU0sV0FBVyxDQUFDOzs7OztJQ3ZCZiw2QkFBb0M7SUFDbEMsb0RBV0M7SUFGQyxpT0FBZSxlQUFBLGlDQUEwQixDQUFBLElBQUMsOE5BQ3RCLGVBQUEsaUNBQTBCLENBQUEsSUFESjs7SUFHNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBWlgsZUFBbUI7SUFBbkIsd0NBQW1CLGtCQUFBLG1CQUFBLDZCQUFBLHdEQUFBLGlEQUFBLHNEQUFBLGdEQUFBOzs7O0lBY3ZCLDZCQUFvQztJQUNsQyxvREFRQztJQURDLGlPQUFlLGVBQUEsaUNBQTBCLENBQUEsSUFBQzs7SUFFNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBUlgsZUFBYztJQUFkLCtCQUFjLG1C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QW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7aUZBcE9VLHVCQUF1Qjs2REFBdkIsdUJBQXVCO1lDbkNwQyxtQ0FBbUQ7WUFDakQsd0ZBNkJjOztZQUNoQixpQkFBVzs7WUEvQkQsa0NBQW9CLG9CQUFBO1lBQ0EsZUFBcUM7WUFBckMscUVBQXFDOzs7dUZEa0N0RCx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTsrRkFjdEMsa0JBQWtCO2tCQUExQixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgemlwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XG5cbmltcG9ydCB7XG4gIENhdGFsb2csXG4gIENhdGFsb2dJdGVtLFxuICBDYXRhbG9nSXRlbUxheWVyLFxuICBDYXRhbG9nSXRlbUdyb3VwLFxuICBDYXRhbG9nSXRlbVN0YXRlLFxuICBDYXRhbG9nSXRlbVR5cGUsXG4gIEFkZGVkQ2hhbmdlRW1pdHRlcixcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXJcbn0gZnJvbSAnLi4vc2hhcmVkJztcblxuLyoqXG4gKiBDb21wb25lbnQgdG8gYnJvd3NlIGEgY2F0YWxvZydzIGdyb3VwcyBhbmQgbGF5ZXJzIGFuZCBkaXNwbGF5IHRoZW0gb24gYSBtYXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1jYXRhbG9nLWJyb3dzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBDYXRhbG9nIGl0ZW1zIHN0b3JlIHdhdGNoZXJcbiAgICovXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPENhdGFsb2dJdGVtPjtcblxuICAvLyBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCByZXNvbHV0aW9uJCgpOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kO1xuICB9XG5cbiAgQElucHV0KCkgY2F0YWxvZ0FsbG93TGVnZW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhdGFsb2dcbiAgICovXG4gIEBJbnB1dCgpIGNhdGFsb2c6IENhdGFsb2c7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIGNhdGFsb2cncyBpdGVtc1xuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcblxuICAvKipcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xuICAgKi9cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBncm91cCBjYW4gYmUgdG9nZ2xlZCB3aGVuIGl0J3MgY29sbGFwc2VkXG4gICAqL1xuICBASW5wdXQoKSB0b2dnbGVDb2xsYXBzZWRHcm91cDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogbGF5ZXIub3B0aW9ucy5zb3VyY2UuaWQsXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcbiAgICAgICAgdHlwZTogQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShjdXJyZW50SXRlbXMsIHsgYWRkZWQ6IHRydWUgfSwgdHJ1ZSk7XG4gICAgaWYgKHRoaXMuY2F0YWxvZyAmJiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24sXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChpdGVtOiBDYXRhbG9nSXRlbSkgPT4gaXRlbS50aXRsZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xuICAgIHRoaXMuY2F0YWxvZ0FsbG93TGVnZW5kID0gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgID8gY2F0YWxvZ1Nob3dMZWdlbmRcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XG5cbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBDYXRhbG9nSXRlbVR5cGUuR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0xheWVyKGl0ZW06IENhdGFsb2dJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gQ2F0YWxvZ0l0ZW1UeXBlLkxheWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIGV2ZW50IExheWVyIGFkZGVkIGV2ZW50XG4gICAqL1xuICBvbkxheWVyQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlcikge1xuICAgIGNvbnN0IGxheWVyID0gZXZlbnQubGF5ZXI7XG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcbiAgICBldmVudC5hZGRlZFxuICAgICAgPyB0aGlzLmFkZExheWVyVG9NYXAobGF5ZXIsIGV2ZW50KVxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIGZyb3VwIGlzIGFkZGVkIG9yIHJlbW92ZWQsIGFkZCBvciByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcbiAgICovXG4gIG9uR3JvdXBBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIpIHtcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGdyb3VwLCB7IGFkZGVkOiBldmVudC5hZGRlZCB9LCBmYWxzZSk7XG4gICAgZXZlbnQuYWRkZWRcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcbiAgICAgIDogdGhpcy5yZW1vdmVHcm91cEZyb21NYXAoZ3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBsYXllciB0byBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllciwgZXZlbnQ/OiBBZGRlZENoYW5nZUVtaXR0ZXIpIHtcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbGF5ZXIgZnJvbSBtYXBcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKFtsYXllcl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXG4gICAqIEBwYXJhbSBsYXllcnMgQ2F0YWxvZyBsYXllcnNcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXG4gICAgbGF5ZXJzOiBDYXRhbG9nSXRlbUxheWVyW10sXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlRW1pdHRlciB8IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXG4gICkge1xuICAgIGNvbnN0IGxheWVycyQgPSBsYXllcnMubWFwKChsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcikgPT4ge1xuICAgICAgaWYgKCFsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnMub3B0aW9uc0Zyb21BcGkpIHtcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNhdGFsb2cucHJvZmlscz8ubGVuZ3RoKSB7XG4gICAgICAgIGxheWVyLm9wdGlvbnMuc2VjdXJpdHkgPSB7IHByb2ZpbHM6IHRoaXMuY2F0YWxvZy5wcm9maWxzIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihsYXllci5vcHRpb25zKTtcbiAgICB9KTtcbiAgICB6aXAoLi4ubGF5ZXJzJCkuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHtcbiAgICAgIGlmIChldmVudC5ldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmFkZGVkKSB7XG4gICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChsYXllcnMpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGxheWVycywgeyBhZGRlZDogdHJ1ZSB9KTtcbiAgICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBsYXllcnMgZnJvbSBtYXBcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVMYXllcnNGcm9tTWFwKGxheWVyczogQ2F0YWxvZ0l0ZW1MYXllcltdKSB7XG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShsYXllciwgeyBhZGRlZDogZmFsc2UgfSk7XG4gICAgICBpZiAobGF5ZXIub3B0aW9ucy5iYXNlTGF5ZXIgPT09IHRydWUpIHtcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLm9wdGlvbnMuaWQpO1xuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjdXJyTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjdXJyTGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB0aGUgbGF5ZXJzIGJ5IHRpdGxlLiBhc2Mgb3IgZGVzYy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGl0ZW1zOiBDYXRhbG9nSXRlbVtdLCBkaXJlY3Rpb24pIHtcbiAgICBjb25zdCByZXR1cm5JdGVtID0gaXRlbXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgdGl0bGVBID0gYS50aXRsZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcbiAgICAgIGNvbnN0IHRpdGxlQiA9IGIudGl0bGUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG5cbiAgICAgIGlmICh0aXRsZUEgPCB0aXRsZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKHRpdGxlQSA+IHRpdGxlQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH0pO1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdhc2MnOlxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbTtcbiAgICAgIGNhc2UgJ2Rlc2MnOlxuICAgICAgICByZXR1cm4gcmV0dXJuSXRlbS5yZXZlcnNlKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIHRvIG1hcFxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRHcm91cFRvTWFwKFxuICAgIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwLFxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxuICApIHtcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLmlzTGF5ZXIoaXRlbSkgJiYgYWRkZWQgPT09IGZhbHNlO1xuICAgIH0pO1xuICAgIGlmIChncm91cC5zb3J0RGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxheWVycyA9IHRoaXMuc29ydENhdGFsb2dJdGVtc0J5VGl0bGUobGF5ZXJzLCBncm91cC5zb3J0RGlyZWN0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5hZGRMYXllcnNUb01hcChsYXllcnMucmV2ZXJzZSgpIGFzIENhdGFsb2dJdGVtTGF5ZXJbXSwgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgdGhlIGxheWVycyBvZiBhIGdyb3VwIGZyb20gbWFwXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUdyb3VwRnJvbU1hcChncm91cDogQ2F0YWxvZ0l0ZW1Hcm91cCkge1xuICAgIGNvbnN0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWQgfHwgZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSB0cnVlO1xuICAgIH0pO1xuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnMgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdKTtcbiAgfVxufVxuIiwiPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0dyb3VwKGl0ZW0pXCI+XG4gICAgICA8aWdvLWNhdGFsb2ctYnJvd3Nlci1ncm91cFxuICAgICAgICBbY2F0YWxvZ109XCJjYXRhbG9nXCJcbiAgICAgICAgW2dyb3VwXT1cIml0ZW1cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdG9yZS5zdGF0ZVwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXG4gICAgICAgIFtjb2xsYXBzZWRdPVwic3RvcmUuY291bnQgPT09IDEgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICBbdG9nZ2xlQ29sbGFwc2VkXT1cInRvZ2dsZUNvbGxhcHNlZEdyb3VwXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uR3JvdXBBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGxheWVyQWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5ZXIoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyXG4gICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgIFtsYXllcl09XCJpdGVtXCJcbiAgICAgICAgW21hcF09XCJtYXBcIlxuICAgICAgICBbcmVzb2x1dGlvbl09XCJyZXNvbHV0aW9uJCB8IGFzeW5jXCJcbiAgICAgICAgW2NhdGFsb2dBbGxvd0xlZ2VuZF09XCJjYXRhbG9nQWxsb3dMZWdlbmRcIlxuICAgICAgICBbYWRkZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkXCJcbiAgICAgICAgKGFkZGVkQ2hhbmdlKT1cIm9uTGF5ZXJBZGRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWNhdGFsb2ctYnJvd3Nlci1sYXllcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaWdvLWxpc3Q+XG4iXX0=
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBbUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUdMLE9BQU8sRUFLUCxlQUFlLEVBQ2hCLE1BQU0sV0FBVyxDQUFDOzs7OztJQ3ZCZiw2QkFBb0M7SUFDbEMsb0RBV0M7SUFGQyxpT0FBZSxlQUFBLGlDQUEwQixDQUFBLElBQUMsOE5BQ3RCLGVBQUEsaUNBQTBCLENBQUEsSUFESjs7SUFHNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBWlgsZUFBbUI7SUFBbkIsd0NBQW1CLGtCQUFBLG1CQUFBLDZCQUFBLHdEQUFBLGlEQUFBLHNEQUFBLGdEQUFBOzs7O0lBY3ZCLDZCQUFvQztJQUNsQyxvREFRQztJQURDLGlPQUFlLGVBQUEsaUNBQTBCLENBQUEsSUFBQzs7SUFFNUMsaUJBQTRCO0lBQzlCLDBCQUFlOzs7O0lBUlgsZUFBYztJQUFkLCtCQUFjLG1C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QW1CLENBQUMsTUFBNEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7aUZBcE9VLHVCQUF1Qjs2REFBdkIsdUJBQXVCO1lDbkNwQyxtQ0FBbUQ7WUFDakQsd0ZBNkJjOztZQUNoQixpQkFBVzs7WUEvQkQsa0NBQW9CLG9CQUFBO1lBQ0EsZUFBcUM7WUFBckMscUVBQXFDOzs7dUZEa0N0RCx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTsrRkFjdEMsa0JBQWtCO2tCQUExQixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csb0JBQW9CO2tCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBBZGRlZENoYW5nZUVtaXR0ZXIsXHJcbiAgQWRkZWRDaGFuZ2VHcm91cEVtaXR0ZXIsXHJcbiAgQ2F0YWxvZyxcclxuICBDYXRhbG9nSXRlbSxcclxuICBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gIENhdGFsb2dJdGVtTGF5ZXIsXHJcbiAgQ2F0YWxvZ0l0ZW1TdGF0ZSxcclxuICBDYXRhbG9nSXRlbVR5cGVcclxufSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCB0byBicm93c2UgYSBjYXRhbG9nJ3MgZ3JvdXBzIGFuZCBsYXllcnMgYW5kIGRpc3BsYXkgdGhlbSBvbiBhIG1hcC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNhdGFsb2ctYnJvd3NlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dCcm93c2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIENhdGFsb2cgaXRlbXMgc3RvcmUgd2F0Y2hlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPENhdGFsb2dJdGVtPjtcclxuXHJcbiAgLy8gcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IHJlc29sdXRpb24kKCk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNhdGFsb2dBbGxvd0xlZ2VuZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDYXRhbG9nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2F0YWxvZzogQ2F0YWxvZztcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgY2F0YWxvZydzIGl0ZW1zXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPENhdGFsb2dJdGVtLCBDYXRhbG9nSXRlbVN0YXRlPjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGFkZCB0aGUgY2F0YWxvZyBpdGVtcyB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZ3JvdXAgY2FuIGJlIHRvZ2dsZWQgd2hlbiBpdCdzIGNvbGxhcHNlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUNvbGxhcHNlZEdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IGxheWVyLm9wdGlvbnMuc291cmNlLmlkLFxyXG4gICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcclxuICAgICAgICB0eXBlOiBDYXRhbG9nSXRlbVR5cGUuTGF5ZXJcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVNYW55KGN1cnJlbnRJdGVtcywgeyBhZGRlZDogdHJ1ZSB9LCB0cnVlKTtcclxuICAgIGlmICh0aGlzLmNhdGFsb2cgJiYgdGhpcy5jYXRhbG9nLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlLnZpZXcuc29ydCh7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmNhdGFsb2cuc29ydERpcmVjdGlvbixcclxuICAgICAgICB2YWx1ZUFjY2Vzc29yOiAoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IGl0ZW0udGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2F0YWxvZ1Nob3dMZWdlbmQgPSB0aGlzLmNhdGFsb2cgPyB0aGlzLmNhdGFsb2cuc2hvd0xlZ2VuZCA6IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQgPSBjYXRhbG9nU2hvd0xlZ2VuZFxyXG4gICAgICA/IGNhdGFsb2dTaG93TGVnZW5kXHJcbiAgICAgIDogdGhpcy5jYXRhbG9nQWxsb3dMZWdlbmQ7XHJcblxyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzR3JvdXAoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5Hcm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGlzTGF5ZXIoaXRlbTogQ2F0YWxvZ0l0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IENhdGFsb2dJdGVtVHlwZS5MYXllcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBsYXllciBpcyBhZGRlZCBvciByZW1vdmVkLCBhZGQgb3IgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSBldmVudCBMYXllciBhZGRlZCBldmVudFxyXG4gICAqL1xyXG4gIG9uTGF5ZXJBZGRlZENoYW5nZShldmVudDogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBsYXllciA9IGV2ZW50LmxheWVyO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUobGF5ZXIsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRMYXllclRvTWFwKGxheWVyLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcChsYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgZnJvdXAgaXMgYWRkZWQgb3IgcmVtb3ZlZCwgYWRkIG9yIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gZXZlbnQgR3JvdXAgYWRkZWQgZXZlbnRcclxuICAgKi9cclxuICBvbkdyb3VwQWRkZWRDaGFuZ2UoZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyKSB7XHJcbiAgICBjb25zdCBncm91cCA9IGV2ZW50Lmdyb3VwO1xyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUoZ3JvdXAsIHsgYWRkZWQ6IGV2ZW50LmFkZGVkIH0sIGZhbHNlKTtcclxuICAgIGV2ZW50LmFkZGVkXHJcbiAgICAgID8gdGhpcy5hZGRHcm91cFRvTWFwKGdyb3VwLCBldmVudClcclxuICAgICAgOiB0aGlzLnJlbW92ZUdyb3VwRnJvbU1hcChncm91cCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGF5ZXIgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVyIENhdGFsb2cgbGF5ZXJcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyVG9NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIsIGV2ZW50PzogQWRkZWRDaGFuZ2VFbWl0dGVyKSB7XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKFtsYXllcl0sIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBsYXllciBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBsYXllciBDYXRhbG9nIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAobGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXIpIHtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzRnJvbU1hcChbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBtdWx0aXBsZSBsYXllcnMgdG8gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJzVG9NYXAoXHJcbiAgICBsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSxcclxuICAgIGV2ZW50OiBBZGRlZENoYW5nZUVtaXR0ZXIgfCBBZGRlZENoYW5nZUdyb3VwRW1pdHRlclxyXG4gICkge1xyXG4gICAgY29uc3QgbGF5ZXJzJCA9IGxheWVycy5tYXAoKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIGlmICghbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpKSB7XHJcbiAgICAgICAgbGF5ZXIub3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jYXRhbG9nLnByb2ZpbHM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGxheWVyLm9wdGlvbnMuc2VjdXJpdHkgPSB7IHByb2ZpbHM6IHRoaXMuY2F0YWxvZy5wcm9maWxzIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMubGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXIub3B0aW9ucyk7XHJcbiAgICB9KTtcclxuICAgIHppcCguLi5sYXllcnMkKS5zdWJzY3JpYmUoKGxheWVyczogTGF5ZXJbXSkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQuZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5hZGRlZCkge1xyXG4gICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChsYXllcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShsYXllcnMsIHsgYWRkZWQ6IHRydWUgfSk7XHJcbiAgICAgIHRoaXMubWFwLmFkZExheWVycyhsYXllcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbXVsdGlwbGUgbGF5ZXJzIGZyb20gbWFwXHJcbiAgICogQHBhcmFtIGxheWVycyBDYXRhbG9nIGxheWVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJzRnJvbU1hcChsYXllcnM6IENhdGFsb2dJdGVtTGF5ZXJbXSkge1xyXG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBDYXRhbG9nSXRlbUxheWVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKGxheWVyLCB7IGFkZGVkOiBmYWxzZSB9KTtcclxuICAgICAgaWYgKGxheWVyLm9wdGlvbnMuYmFzZUxheWVyID09PSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLm9wdGlvbnMuaWQpO1xyXG4gICAgICAgIGlmIChjdXJyTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoY3VyckxheWVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgY3VyckxheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKGxheWVyLmlkKTtcclxuICAgICAgICBpZiAoY3VyckxheWVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGN1cnJMYXllcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIGxheWVycyBieSB0aXRsZS4gYXNjIG9yIGRlc2MuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzb3J0Q2F0YWxvZ0l0ZW1zQnlUaXRsZShpdGVtczogQ2F0YWxvZ0l0ZW1bXSwgZGlyZWN0aW9uKSB7XHJcbiAgICBjb25zdCByZXR1cm5JdGVtID0gaXRlbXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCB0aXRsZUEgPSBhLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICBjb25zdCB0aXRsZUIgPSBiLnRpdGxlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG5cclxuICAgICAgaWYgKHRpdGxlQSA8IHRpdGxlQikge1xyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGl0bGVBID4gdGl0bGVCKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ2FzYyc6XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkl0ZW07XHJcbiAgICAgIGNhc2UgJ2Rlc2MnOlxyXG4gICAgICAgIHJldHVybiByZXR1cm5JdGVtLnJldmVyc2UoKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCB0byBtYXBcclxuICAgKiBAcGFyYW0gZ3JvdXAgQ2F0YWxvZyBncm91cFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkR3JvdXBUb01hcChcclxuICAgIGdyb3VwOiBDYXRhbG9nSXRlbUdyb3VwLFxyXG4gICAgZXZlbnQ6IEFkZGVkQ2hhbmdlR3JvdXBFbWl0dGVyXHJcbiAgKSB7XHJcbiAgICBsZXQgbGF5ZXJzID0gZ3JvdXAuaXRlbXMuZmlsdGVyKChpdGVtOiBDYXRhbG9nSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBhZGRlZCA9IHRoaXMuc3RvcmUuc3RhdGUuZ2V0KGl0ZW0pLmFkZGVkIHx8IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xheWVyKGl0ZW0pICYmIGFkZGVkID09PSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGdyb3VwLnNvcnREaXJlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSB0aGlzLnNvcnRDYXRhbG9nSXRlbXNCeVRpdGxlKGxheWVycywgZ3JvdXAuc29ydERpcmVjdGlvbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZExheWVyc1RvTWFwKGxheWVycy5yZXZlcnNlKCkgYXMgQ2F0YWxvZ0l0ZW1MYXllcltdLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIHRoZSBsYXllcnMgb2YgYSBncm91cCBmcm9tIG1hcFxyXG4gICAqIEBwYXJhbSBncm91cCBDYXRhbG9nIGdyb3VwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVHcm91cEZyb21NYXAoZ3JvdXA6IENhdGFsb2dJdGVtR3JvdXApIHtcclxuICAgIGNvbnN0IGxheWVycyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbTogQ2F0YWxvZ0l0ZW0pID0+IHtcclxuICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0b3JlLnN0YXRlLmdldChpdGVtKS5hZGRlZCB8fCBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXllcihpdGVtKSAmJiBhZGRlZCA9PT0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZW1vdmVMYXllcnNGcm9tTWFwKGxheWVycyBhcyBDYXRhbG9nSXRlbUxheWVyW10pO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIiBbc2VsZWN0aW9uXT1cImZhbHNlXCI+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIj5cbiAgICAgIDxpZ28tY2F0YWxvZy1icm93c2VyLWdyb3VwXG4gICAgICAgIFtjYXRhbG9nXT1cImNhdGFsb2dcIlxuICAgICAgICBbZ3JvdXBdPVwiaXRlbVwiXG4gICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgW3N0YXRlXT1cInN0b3JlLnN0YXRlXCJcbiAgICAgICAgW3Jlc29sdXRpb25dPVwicmVzb2x1dGlvbiQgfCBhc3luY1wiXG4gICAgICAgIFtjYXRhbG9nQWxsb3dMZWdlbmRdPVwiY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICAgICAgW2NvbGxhcHNlZF09XCJzdG9yZS5jb3VudCA9PT0gMSA/IGZhbHNlIDogdHJ1ZVwiXG4gICAgICAgIFt0b2dnbGVDb2xsYXBzZWRdPVwidG9nZ2xlQ29sbGFwc2VkR3JvdXBcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25Hcm91cEFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobGF5ZXJBZGRlZENoYW5nZSk9XCJvbkxheWVyQWRkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2lnby1jYXRhbG9nLWJyb3dzZXItZ3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXllcihpdGVtKVwiPlxuICAgICAgPGlnby1jYXRhbG9nLWJyb3dzZXItbGF5ZXJcbiAgICAgICAgaWdvTGlzdEl0ZW1cbiAgICAgICAgW2xheWVyXT1cIml0ZW1cIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtyZXNvbHV0aW9uXT1cInJlc29sdXRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbY2F0YWxvZ0FsbG93TGVnZW5kXT1cImNhdGFsb2dBbGxvd0xlZ2VuZFwiXG4gICAgICAgIFthZGRlZF09XCJzdG9yZS5zdGF0ZS5nZXQoaXRlbSkuYWRkZWRcIlxuICAgICAgICAoYWRkZWRDaGFuZ2UpPVwib25MYXllckFkZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9pZ28tY2F0YWxvZy1icm93c2VyLWxheWVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9pZ28tbGlzdD5cbiJdfQ==
@@ -1,17 +1,17 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { MatBadgeModule } from '@angular/material/badge';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
5
  import { MatIconModule } from '@angular/material/icon';
6
6
  import { MatListModule } from '@angular/material/list';
7
7
  import { MatTooltipModule } from '@angular/material/tooltip';
8
+ import { IgoCollapsibleModule, IgoListModule, IgoMatBadgeIconModule } from '@igo2/common';
8
9
  import { IgoLanguageModule } from '@igo2/core';
9
- import { IgoMatBadgeIconModule, IgoCollapsibleModule, IgoListModule } from '@igo2/common';
10
+ import { IgoLayerModule } from '../../layer/layer.module';
10
11
  import { IgoMetadataModule } from './../../metadata/metadata.module';
11
- import { CatalogBrowserComponent } from './catalog-browser.component';
12
- import { CatalogBrowserLayerComponent } from './catalog-browser-layer.component';
13
12
  import { CatalogBrowserGroupComponent } from './catalog-browser-group.component';
14
- import { IgoLayerModule } from '../../layer/layer.module';
13
+ import { CatalogBrowserLayerComponent } from './catalog-browser-layer.component';
14
+ import { CatalogBrowserComponent } from './catalog-browser.component';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@angular/common";
17
17
  import * as i2 from "@igo2/common";
@@ -75,4 +75,4 @@ export class IgoCatalogBrowserModule {
75
75
  IgoLayerModule], exports: [CatalogBrowserComponent] }); })();
76
76
  i0.ɵɵsetComponentScope(CatalogBrowserComponent, [i1.NgForOf, i1.NgIf, i2.ListItemDirective, i2.ListComponent, CatalogBrowserGroupComponent,
77
77
  CatalogBrowserLayerComponent], [i1.AsyncPipe]);
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2QsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRTFEOztHQUVHO0FBdUJILE1BQU0sT0FBTyx1QkFBdUI7aUZBQXZCLHVCQUF1Qjs0REFBdkIsdUJBQXVCO2dFQXBCaEMsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixjQUFjOzt1RkFTTCx1QkFBdUI7Y0F0Qm5DLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLGFBQWE7b0JBQ2Isb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xDLFlBQVksRUFBRTtvQkFDWix1QkFBdUI7b0JBQ3ZCLDRCQUE0QjtvQkFDNUIsNEJBQTRCO2lCQUM3QjthQUNGOzt3RkFDWSx1QkFBdUIsbUJBTGhDLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsNEJBQTRCLGFBakI1QixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLGNBQWMsYUFFTix1QkFBdUI7dUJBRS9CLHVCQUF1QixnRUFDdkIsNEJBQTRCO0lBQzVCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQge1xuICBJZ29NYXRCYWRnZUljb25Nb2R1bGUsXG4gIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxuICBJZ29MaXN0TW9kdWxlXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb01ldGFkYXRhTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tZXRhZGF0YS9tZXRhZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuL2NhdGFsb2ctYnJvd3Nlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IElnb0xheWVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvbGF5ZXIubW9kdWxlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29MaXN0TW9kdWxlLFxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxuICAgIElnb01ldGFkYXRhTW9kdWxlLFxuICAgIElnb0xheWVyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtDYXRhbG9nQnJvd3NlckNvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENhdGFsb2dCcm93c2VyQ29tcG9uZW50LFxuICAgIENhdGFsb2dCcm93c2VyR3JvdXBDb21wb25lbnQsXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NhdGFsb2dCcm93c2VyTW9kdWxlIHt9XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUN0QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXRFOztHQUVHO0FBdUJILE1BQU0sT0FBTyx1QkFBdUI7aUZBQXZCLHVCQUF1Qjs0REFBdkIsdUJBQXVCO2dFQXBCaEMsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixjQUFjOzt1RkFTTCx1QkFBdUI7Y0F0Qm5DLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLGFBQWE7b0JBQ2Isb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xDLFlBQVksRUFBRTtvQkFDWix1QkFBdUI7b0JBQ3ZCLDRCQUE0QjtvQkFDNUIsNEJBQTRCO2lCQUM3QjthQUNGOzt3RkFDWSx1QkFBdUIsbUJBTGhDLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsNEJBQTRCLGFBakI1QixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLGNBQWMsYUFFTix1QkFBdUI7dUJBRS9CLHVCQUF1QixnRUFDdkIsNEJBQTRCO0lBQzVCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHtcclxuICBJZ29Db2xsYXBzaWJsZU1vZHVsZSxcclxuICBJZ29MaXN0TW9kdWxlLFxyXG4gIElnb01hdEJhZGdlSWNvbk1vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYXllck1vZHVsZSB9IGZyb20gJy4uLy4uL2xheWVyL2xheWVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb01ldGFkYXRhTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tZXRhZGF0YS9tZXRhZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRhbG9nLWJyb3dzZXItZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhdGFsb2dCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRhbG9nLWJyb3dzZXIuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29MaXN0TW9kdWxlLFxyXG4gICAgSWdvQ29sbGFwc2libGVNb2R1bGUsXHJcbiAgICBJZ29NZXRhZGF0YU1vZHVsZSxcclxuICAgIElnb0xheWVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ2F0YWxvZ0Jyb3dzZXJDb21wb25lbnQsXHJcbiAgICBDYXRhbG9nQnJvd3Nlckdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ2F0YWxvZ0Jyb3dzZXJMYXllckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0NhdGFsb2dCcm93c2VyTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { LanguageService, ConfigService } from '@igo2/core';
2
- import { Component, Optional, Inject } from '@angular/core';
3
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
1
+ import { Component, Inject, Optional } from '@angular/core';
4
2
  import { UntypedFormBuilder, Validators } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
+ import { ConfigService, LanguageService } from '@igo2/core';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import { TypeCapabilities } from '../../datasource';
7
7
  import * as i0 from "@angular/core";
@@ -220,4 +220,4 @@ export class AddCatalogDialogComponent {
220
220
  type: Inject,
221
221
  args: [MAT_DIALOG_DATA]
222
222
  }] }]; }, null); })();
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPMUMsc0NBS0M7SUFDQyxZQUNGO0lBQUEsaUJBQWE7OztJQUpYLHVEQUFzQywrQkFBQTtJQUd0QyxlQUNGO0lBREUsMkRBQ0Y7OztJQWlCQSxzQ0FLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgscURBQW9DLCtCQUFBO0lBR3BDLGVBQ0Y7SUFERSx5REFDRjs7O0lBT0Esc0NBSUM7SUFEQyw4SEFBUyx3QkFBd0IsSUFBQztJQUVsQyw2QkFBb0I7SUFBQSxZQUFVO0lBQUEsaUJBQUksRUFBQTs7O0lBSGxDLCtCQUFjO0lBR00sZUFBVTtJQUFWLDZCQUFVOzs7O0lBTXhDLDRCQUFv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QUFDO1lBRXhELDBGQU9hOztZQUNmLGlCQUFtQixFQUFBLEVBQUE7WUFHdkIsK0JBQWlDLHNCQUFBO1lBRTdCLDRCQU1FO1lBQ0YsK0NBR0M7WUFEQyx5SUFBa0IseUNBQXFDLElBQUM7WUFFeEQsMEZBT2E7O1lBQ2YsaUJBQW1CLEVBQUEsRUFBQTtZQUd2QiwrQkFBaUMsc0JBQUEsc0JBQUE7WUFHM0IsMkZBTWE7WUFDZixpQkFBYSxFQUFBLEVBQUEsRUFBQTtZQUluQiwrRUFTTztZQUNQLCtFQVFPO1lBQ1QsaUJBQU07WUFDTixnQ0FBd0QsZUFBQSxrQkFBQTtZQUVaLHVHQUFTLFlBQVEsSUFBQztZQUN4RCxhQUNGOztZQUFBLGlCQUFTO1lBQ1QsbUNBT0M7WUFEQyx1R0FBUyw4QkFBc0IsSUFBQztZQUVoQyxhQUNGOztZQUFBLGlCQUFTLEVBQUEsRUFBQTs7OztZQXBHWCxlQUNGO1lBREUsMkZBQ0Y7WUFFeUIsZUFBa0I7WUFBbEIsb0NBQWtCO1lBTWpDLGVBQXlEO1lBQXpELHlGQUF5RDtZQUV6RCxxQ0FBeUI7WUFPTyxlQUFrQztZQUFsQyw2RUFBa0M7WUFpQmxFLGVBQXdCO1lBQXhCLHFDQUF3QjtZQU9RLGVBQWtDO1lBQWxDLDZFQUFrQztZQWMvQyxlQUFtQjtZQUFuQiw4Q0FBbUI7WUFVdkMsZUFBMkM7WUFBM0Msd0VBQTJDO1lBVTNDLGVBQTRDO1lBQTVDLHlFQUE0QztZQWEvQyxlQUNGO1lBREUseUZBQ0Y7WUFNRSxlQUF3QjtZQUF4QiwwQ0FBd0I7WUFHeEIsZUFDRjtZQURFLHNGQUNGOzs7dUZEbEZTLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3Qjs7c0JBc0IvQixRQUFROztzQkFDUixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBUeXBlQ2FwYWJpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBDYXRhbG9nIH0gZnJvbSAnLi4vc2hhcmVkL2NhdGFsb2cuYWJzdHJhY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWRkLWNhdGFsb2ctZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZENhdGFsb2dEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwcml2YXRlIGRlZmF1bHRBZGRlZENhdGFsb2dUeXBlID0gJ3dtcyc7XG4gIHByaXZhdGUgYWRkZWRDYXRhbG9nVHlwZSQkOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0YWxvZ1tdPihbXSk7XG4gIHR5cGVDYXBhYmlsaXRpZXM6IHN0cmluZ1tdO1xuICBwcmVkZWZpbmVkQ2F0YWxvZ3M6IENhdGFsb2dbXSA9IFtdO1xuICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XG4gIGVycm9yID0gZmFsc2U7XG4gIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RvcmVWaWV3QWxsJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkQ2F0YWxvZ0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YToge1xuICAgICAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW107XG4gICAgICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XG4gICAgICBlcnJvcjogYm9vbGVhbjtcbiAgICAgIGFkZGVkQ2F0YWxvZzogQ2F0YWxvZztcbiAgICB9XG4gICkge1xuICAgIHRoaXMuc3RvcmUgPSBkYXRhLnN0b3JlO1xuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gZGF0YS5wcmVkZWZpbmVkQ2F0YWxvZ3M7XG4gICAgdGhpcy5lcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgdGhpcy5hZGRlZENhdGFsb2cgPSBkYXRhLmFkZGVkQ2F0YWxvZztcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbJycsIFtdXSxcbiAgICAgIHRpdGxlOiBbJycsIFtdXSxcbiAgICAgIHVybDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgdHlwZTogW3RoaXMuZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcbiAgICB0aGlzLnR5cGVDYXBhYmlsaXRpZXMgPSBPYmplY3Qua2V5cyhUeXBlQ2FwYWJpbGl0aWVzKTtcblxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkID0gdGhpcy5mb3JtXG4gICAgICAuZ2V0KCd0eXBlJylcbiAgICAgIC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09ICd3bXRzJykge1xuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoW10pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpdGxlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkID0gdGhpcy5zdG9yZS52aWV3XG4gICAgICAuYWxsJCgpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29tcHV0ZVByZWRlZmluZWRDYXRhbG9nTGlzdCgpKTtcblxuICAgIHRoaXMuZW1haWxBZGRyZXNzID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnZW1haWxBZGRyZXNzJyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFkZGVkQ2F0YWxvZ1R5cGUkJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNoYW5nZVVybE9yVGl0bGUoY2F0YWxvZzogQ2F0YWxvZykge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGNhdGFsb2cpO1xuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcbiAgfVxuXG4gIGNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSB7XG4gICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JC5uZXh0KFxuICAgICAgdGhpcy5wcmVkZWZpbmVkQ2F0YWxvZ3MuZmlsdGVyKChjKSA9PiAhdGhpcy5zdG9yZS5nZXQoYy5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGFkZGVkQ2F0YWxvZyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuPC9oMT5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgPGZvcm0gY2xhc3M9XCJpZ28tZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmdlby5wcmludEZvcm0udGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0bzJcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgICAgICNhdXRvMj1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZVVybE9yVGl0bGUoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcmVkZWZpbmVkQ2F0YWxvZyBvZiBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwicHJlZGVmaW5lZENhdGFsb2cudGl0bGVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInByZWRlZmluZWRDYXRhbG9nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwcmVkZWZpbmVkQ2F0YWxvZy50aXRsZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlVSTFwiXG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlVXJsT3JUaXRsZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkIHwgYXN5bmNcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy51cmxcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInByZWRlZmluZWRDYXRhbG9nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwcmVkZWZpbmVkQ2F0YWxvZy51cmwgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiIHBsYWNlaG9sZGVyPVwiVHlwZVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdHlwZSBvZiB0eXBlQ2FwYWJpbGl0aWVzXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtVGl0bGU+e3sgdHlwZSB9fTwvcD5cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgZW1haWxBZGRyZXNzXCI+XG4gICAgPHAgY2xhc3M9XCJlcnJvclwiPlxuICAgICAge3tcbiAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uZ2VvLmNhdGFsb2cuZXh0ZXJuYWxQcm92aWRlci51bmF2YWlsYWJsZVdpdGhFbWFpbCcsXG4gICAgICAgICAgeyB2YWx1ZTogYWRkZWRDYXRhbG9nLnVybCwgZW1haWw6IGVtYWlsQWRkcmVzcyB9XG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9wPlxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3IgJiYgYWRkZWRDYXRhbG9nICYmICFlbWFpbEFkZHJlc3NcIj5cbiAgICA8cCBjbGFzcz1cImVycm9yXCI+XG4gICAgICB7e1xuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2F0YWxvZy51bmF2YWlsYWJsZScsIHtcbiAgICAgICAgICB2YWx1ZTogYWRkZWRDYXRhbG9nLnVybFxuICAgICAgICB9KVxuICAgICAgfX1cbiAgICA8L3A+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclwiPlxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwIGFkZC1jYXRhbG9nLWJ1dHRvbi10b3AtcGFkZGluZ1wiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cImFkZENhdGFsb2dCdG5EaWFsb2dcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiXG4gICAgICAoY2xpY2spPVwiYWRkQ2F0YWxvZyhmb3JtLnZhbHVlKVwiXG4gICAgPlxuICAgICAge3sgJ2lnby5nZW8uY2F0YWxvZy5saWJyYXJ5LmFkZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhdGFsb2ctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1saWJyYXJ5L2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctbGlicmFyeS9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsa0JBQWtCLEVBRWxCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNLMUMsc0NBS0M7SUFDQyxZQUNGO0lBQUEsaUJBQWE7OztJQUpYLHVEQUFzQywrQkFBQTtJQUd0QyxlQUNGO0lBREUsMkRBQ0Y7OztJQWlCQSxzQ0FLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgscURBQW9DLCtCQUFBO0lBR3BDLGVBQ0Y7SUFERSx5REFDRjs7O0lBT0Esc0NBSUM7SUFEQyw4SEFBUyx3QkFBd0IsSUFBQztJQUVsQyw2QkFBb0I7SUFBQSxZQUFVO0lBQUEsaUJBQUksRUFBQTs7O0lBSGxDLCtCQUFjO0lBR00sZUFBVTtJQUFWLDZCQUFVOzs7O0lBTXhDLDRCQUFv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QUFDO1lBRXhELDBGQU9hOztZQUNmLGlCQUFtQixFQUFBLEVBQUE7WUFHdkIsK0JBQWlDLHNCQUFBO1lBRTdCLDRCQU1FO1lBQ0YsK0NBR0M7WUFEQyx5SUFBa0IseUNBQXFDLElBQUM7WUFFeEQsMEZBT2E7O1lBQ2YsaUJBQW1CLEVBQUEsRUFBQTtZQUd2QiwrQkFBaUMsc0JBQUEsc0JBQUE7WUFHM0IsMkZBTWE7WUFDZixpQkFBYSxFQUFBLEVBQUEsRUFBQTtZQUluQiwrRUFTTztZQUNQLCtFQVFPO1lBQ1QsaUJBQU07WUFDTixnQ0FBd0QsZUFBQSxrQkFBQTtZQUVaLHVHQUFTLFlBQVEsSUFBQztZQUN4RCxhQUNGOztZQUFBLGlCQUFTO1lBQ1QsbUNBT0M7WUFEQyx1R0FBUyw4QkFBc0IsSUFBQztZQUVoQyxhQUNGOztZQUFBLGlCQUFTLEVBQUEsRUFBQTs7OztZQXBHWCxlQUNGO1lBREUsMkZBQ0Y7WUFFeUIsZUFBa0I7WUFBbEIsb0NBQWtCO1lBTWpDLGVBQXlEO1lBQXpELHlGQUF5RDtZQUV6RCxxQ0FBeUI7WUFPTyxlQUFrQztZQUFsQyw2RUFBa0M7WUFpQmxFLGVBQXdCO1lBQXhCLHFDQUF3QjtZQU9RLGVBQWtDO1lBQWxDLDZFQUFrQztZQWMvQyxlQUFtQjtZQUFuQiw4Q0FBbUI7WUFVdkMsZUFBMkM7WUFBM0Msd0VBQTJDO1lBVTNDLGVBQTRDO1lBQTVDLHlFQUE0QztZQWEvQyxlQUNGO1lBREUseUZBQ0Y7WUFNRSxlQUF3QjtZQUF4QiwwQ0FBd0I7WUFHeEIsZUFDRjtZQURFLHNGQUNGOzs7dUZEaEZTLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHdCQUF3Qjs7c0JBc0IvQixRQUFROztzQkFDUixNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUeXBlQ2FwYWJpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuLi9zaGFyZWQvY2F0YWxvZy5hYnN0cmFjdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hZGQtY2F0YWxvZy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtY2F0YWxvZy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgZGVmYXVsdEFkZGVkQ2F0YWxvZ1R5cGUgPSAnd21zJztcclxuICBwcml2YXRlIGFkZGVkQ2F0YWxvZ1R5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBwcmVkZWZpbmVkQ2F0YWxvZ3NMaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0YWxvZ1tdPihbXSk7XHJcbiAgdHlwZUNhcGFiaWxpdGllczogc3RyaW5nW107XHJcbiAgcHJlZGVmaW5lZENhdGFsb2dzOiBDYXRhbG9nW10gPSBbXTtcclxuICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgZXJyb3IgPSBmYWxzZTtcclxuICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdG9yZVZpZXdBbGwkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRDYXRhbG9nRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiB7XHJcbiAgICAgIHByZWRlZmluZWRDYXRhbG9nczogQ2F0YWxvZ1tdO1xyXG4gICAgICBzdG9yZTogRW50aXR5U3RvcmU8Q2F0YWxvZz47XHJcbiAgICAgIGVycm9yOiBib29sZWFuO1xyXG4gICAgICBhZGRlZENhdGFsb2c6IENhdGFsb2c7XHJcbiAgICB9XHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0b3JlID0gZGF0YS5zdG9yZTtcclxuICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzID0gZGF0YS5wcmVkZWZpbmVkQ2F0YWxvZ3M7XHJcbiAgICB0aGlzLmVycm9yID0gZGF0YS5lcnJvcjtcclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nID0gZGF0YS5hZGRlZENhdGFsb2c7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgaWQ6IFsnJywgW11dLFxyXG4gICAgICB0aXRsZTogWycnLCBbXV0sXHJcbiAgICAgIHVybDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICB0eXBlOiBbdGhpcy5kZWZhdWx0QWRkZWRDYXRhbG9nVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RvcmUuc3RhdGUuY2xlYXIoKTtcclxuICAgIHRoaXMudHlwZUNhcGFiaWxpdGllcyA9IE9iamVjdC5rZXlzKFR5cGVDYXBhYmlsaXRpZXMpO1xyXG5cclxuICAgIHRoaXMuYWRkZWRDYXRhbG9nVHlwZSQkID0gdGhpcy5mb3JtXHJcbiAgICAgIC5nZXQoJ3R5cGUnKVxyXG4gICAgICAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICd3bXRzJykge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgndGl0bGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnNldFZhbGlkYXRvcnMoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb21wdXRlUHJlZGVmaW5lZENhdGFsb2dMaXN0KCk7XHJcbiAgICB0aGlzLnN0b3JlVmlld0FsbCQkID0gdGhpcy5zdG9yZS52aWV3XHJcbiAgICAgIC5hbGwkKClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSk7XHJcblxyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdlbWFpbEFkZHJlc3MnKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5hZGRlZENhdGFsb2dUeXBlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RvcmVWaWV3QWxsJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVVybE9yVGl0bGUoY2F0YWxvZzogQ2F0YWxvZykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoY2F0YWxvZyk7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGNvbXB1dGVQcmVkZWZpbmVkQ2F0YWxvZ0xpc3QoKSB7XHJcbiAgICB0aGlzLnByZWRlZmluZWRDYXRhbG9nc0xpc3QkLm5leHQoXHJcbiAgICAgIHRoaXMucHJlZGVmaW5lZENhdGFsb2dzLmZpbHRlcigoYykgPT4gIXRoaXMuc3RvcmUuZ2V0KGMuaWQpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFkZENhdGFsb2coYWRkZWRDYXRhbG9nOiBDYXRhbG9nKSB7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShhZGRlZENhdGFsb2cpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkVGl0bGUnIHwgdHJhbnNsYXRlIH19XG48L2gxPlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICA8Zm9ybSBjbGFzcz1cImlnby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLnByaW50Rm9ybS50aXRsZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvMlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgI2F1dG8yPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlVXJsT3JUaXRsZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByZWRlZmluZWRDYXRhbG9nIG9mIHByZWRlZmluZWRDYXRhbG9nc0xpc3QkIHwgYXN5bmNcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcmVkZWZpbmVkQ2F0YWxvZy50aXRsZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJlZGVmaW5lZENhdGFsb2dcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnRpdGxlIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1cmxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVVJMXCJcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VVcmxPclRpdGxlKCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJlZGVmaW5lZENhdGFsb2cgb2YgcHJlZGVmaW5lZENhdGFsb2dzTGlzdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInByZWRlZmluZWRDYXRhbG9nLnVybFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicHJlZGVmaW5lZENhdGFsb2dcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHByZWRlZmluZWRDYXRhbG9nLnVybCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCIgcGxhY2Vob2xkZXI9XCJUeXBlXCI+XG4gICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVDYXBhYmlsaXRpZXNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInR5cGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1UaXRsZT57eyB0eXBlIH19PC9wPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8c3BhbiAqbmdJZj1cImVycm9yICYmIGFkZGVkQ2F0YWxvZyAmJiBlbWFpbEFkZHJlc3NcIj5cbiAgICA8cCBjbGFzcz1cImVycm9yXCI+XG4gICAgICB7e1xuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5nZW8uY2F0YWxvZy5leHRlcm5hbFByb3ZpZGVyLnVuYXZhaWxhYmxlV2l0aEVtYWlsJyxcbiAgICAgICAgICB7IHZhbHVlOiBhZGRlZENhdGFsb2cudXJsLCBlbWFpbDogZW1haWxBZGRyZXNzIH1cbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L3A+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciAmJiBhZGRlZENhdGFsb2cgJiYgIWVtYWlsQWRkcmVzc1wiPlxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIj5cbiAgICAgIHt7XG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXRhbG9nLnVuYXZhaWxhYmxlJywge1xuICAgICAgICAgIHZhbHVlOiBhZGRlZENhdGFsb2cudXJsXG4gICAgICAgIH0pXG4gICAgICB9fVxuICAgIDwvcD5cbiAgPC9zcGFuPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBzdHlsZT1cImp1c3RpZnktY29udGVudDogY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgYWRkLWNhdGFsb2ctYnV0dG9uLXRvcC1wYWRkaW5nXCI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwiYWRkQ2F0YWxvZ0J0bkRpYWxvZ1wiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCJcbiAgICAgIChjbGljayk9XCJhZGRDYXRhbG9nKGZvcm0udmFsdWUpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmdlby5jYXRhbG9nLmxpYnJhcnkuYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19