@igo2/geo 1.14.1 → 1.15.0

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 (502) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +18 -14
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +67 -29
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +25 -22
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  11. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  12. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +7 -12
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.service.mjs +3 -5
  19. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  20. package/esm2020/lib/datasource/shared/capabilities.service.mjs +2 -2
  21. package/esm2020/lib/datasource/shared/datasource.service.mjs +27 -31
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  60. package/esm2020/lib/datasource/utils/index.mjs +1 -2
  61. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  62. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -10
  63. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  64. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  65. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  66. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  67. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  68. package/esm2020/lib/directions/directions.component.mjs +2 -2
  69. package/esm2020/lib/directions/directions.module.mjs +1 -1
  70. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  71. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  72. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  73. package/esm2020/lib/directions/shared/directions.utils.mjs +2 -2
  74. package/esm2020/lib/directions/shared/store.mjs +1 -1
  75. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  76. package/esm2020/lib/download/download.module.mjs +1 -1
  77. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  78. package/esm2020/lib/download/shared/download.service.mjs +5 -8
  79. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  80. package/esm2020/lib/draw/draw/draw-popup.component.mjs +3 -3
  81. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  82. package/esm2020/lib/draw/draw/draw.component.mjs +11 -10
  83. package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
  84. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  85. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  86. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -17
  87. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  88. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  89. package/esm2020/lib/draw/shared/index.mjs +1 -2
  90. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +4 -5
  91. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  92. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  93. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  94. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  95. package/esm2020/lib/feature/feature.module.mjs +1 -1
  96. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  97. package/esm2020/lib/feature/shared/feature.utils.mjs +7 -5
  98. package/esm2020/lib/feature/shared/store.mjs +10 -1
  99. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2020/lib/feature/shared/strategies/index.mjs +2 -1
  102. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2020/lib/feature/shared/strategies/search.mjs +150 -0
  105. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2020/lib/filter/filter.module.mjs +1 -1
  108. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  109. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  110. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  111. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  112. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  113. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  114. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  115. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  116. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  117. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  118. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  119. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  120. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  121. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  122. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  123. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  124. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  125. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  126. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  127. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  128. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +5 -5
  129. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +6 -7
  130. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  131. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  132. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  133. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  134. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  135. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  136. package/esm2020/lib/geo.module.mjs +5 -1
  137. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +13 -12
  138. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  139. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  140. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  141. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  142. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  143. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  144. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  145. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  146. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  147. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  148. package/esm2020/lib/import-export/import-export/import-export.component.mjs +53 -45
  149. package/esm2020/lib/import-export/import-export.module.mjs +5 -9
  150. package/esm2020/lib/import-export/index.mjs +1 -2
  151. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +31 -14
  152. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  153. package/esm2020/lib/import-export/shared/export.service.mjs +3 -3
  154. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  155. package/esm2020/lib/import-export/shared/export.utils.mjs +8 -17
  156. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  157. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  158. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  159. package/esm2020/lib/import-export/shared/import.utils.mjs +58 -91
  160. package/esm2020/lib/layer/index.mjs +1 -2
  161. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  162. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  163. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  164. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  165. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  166. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  167. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
  168. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  169. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  170. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  171. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  172. package/esm2020/lib/layer/layer.module.mjs +6 -11
  173. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  174. package/esm2020/lib/layer/shared/index.mjs +1 -3
  175. package/esm2020/lib/layer/shared/layer.service.mjs +80 -29
  176. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  177. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  178. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  179. package/esm2020/lib/layer/shared/layers/image-layer.mjs +6 -7
  180. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  181. package/esm2020/lib/layer/shared/layers/layer.mjs +5 -3
  182. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  183. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  184. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  185. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +153 -6
  186. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  187. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  188. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  189. package/esm2020/lib/layer/utils/image-watcher.mjs +3 -6
  190. package/esm2020/lib/layer/utils/layer.utils.mjs +2 -2
  191. package/esm2020/lib/layer/utils/outputLegend.mjs +3 -2
  192. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  193. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  194. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  195. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  196. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +17 -8
  197. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  198. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  199. package/esm2020/lib/map/map-browser/map-browser.component.mjs +3 -3
  200. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  201. package/esm2020/lib/map/map.module.mjs +1 -1
  202. package/esm2020/lib/map/menu-button/menu-button.component.mjs +3 -3
  203. package/esm2020/lib/map/offline-button/offline-button.component.mjs +34 -57
  204. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  205. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2020/lib/map/shared/controllers/geolocation.mjs +151 -36
  207. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2020/lib/map/shared/hover-feature.directive.mjs +24 -73
  209. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  210. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  211. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  212. package/esm2020/lib/map/shared/map.mjs +7 -5
  213. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  214. package/esm2020/lib/map/shared/map.utils.mjs +2 -1
  215. package/esm2020/lib/map/shared/mapOffline.directive.mjs +50 -115
  216. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  217. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  218. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  219. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  220. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  221. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +24 -35
  222. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  223. package/esm2020/lib/measure/measure.module.mjs +1 -1
  224. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  225. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  226. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  227. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  228. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  229. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  230. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  231. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  232. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  233. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  234. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  235. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  236. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +4 -4
  237. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  238. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  239. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +2 -2
  240. package/esm2020/lib/offline/index.mjs +2 -1
  241. package/esm2020/lib/offline/layerDB/index.mjs +3 -0
  242. package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  243. package/esm2020/lib/offline/layerDB/layerDB.service.mjs +76 -0
  244. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  245. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  246. package/esm2020/lib/overlay/shared/index.mjs +1 -2
  247. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  248. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  249. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  250. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  251. package/esm2020/lib/overlay/shared/overlay.utils.mjs +2 -88
  252. package/esm2020/lib/print/print/print.component.mjs +7 -18
  253. package/esm2020/lib/print/print-form/print-form.component.mjs +210 -101
  254. package/esm2020/lib/print/print.module.mjs +1 -1
  255. package/esm2020/lib/print/shared/geopdf.mjs +1 -1
  256. package/esm2020/lib/print/shared/index.mjs +1 -1
  257. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  258. package/esm2020/lib/print/shared/print.service.mjs +179 -56
  259. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  260. package/esm2020/lib/query/query.module.mjs +1 -1
  261. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  262. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  263. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  264. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  265. package/esm2020/lib/query/shared/query.service.mjs +144 -32
  266. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  267. package/esm2020/lib/search/search-bar/search-bar.component.mjs +28 -9
  268. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  269. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  270. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +118 -0
  271. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +269 -34
  272. package/esm2020/lib/search/search-results/search-results-item.component.mjs +37 -14
  273. package/esm2020/lib/search/search-results/search-results.component.mjs +172 -58
  274. package/esm2020/lib/search/search-results/search-results.module.mjs +36 -5
  275. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  276. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  277. package/esm2020/lib/search/search-settings/search-settings.component.mjs +33 -9
  278. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  279. package/esm2020/lib/search/search.module.mjs +1 -1
  280. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +3 -30
  281. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  282. package/esm2020/lib/search/shared/search-source.service.mjs +9 -1
  283. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  284. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  285. package/esm2020/lib/search/shared/search.service.mjs +10 -7
  286. package/esm2020/lib/search/shared/search.utils.mjs +3 -3
  287. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  288. package/esm2020/lib/search/shared/sources/coordinates.mjs +17 -11
  289. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +4 -4
  290. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  291. package/esm2020/lib/search/shared/sources/icherche.mjs +7 -7
  292. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  293. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  294. package/esm2020/lib/search/shared/sources/ilayer.mjs +4 -4
  295. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  296. package/esm2020/lib/search/shared/sources/index.mjs +4 -1
  297. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  298. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  299. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  300. package/esm2020/lib/search/shared/sources/source.mjs +31 -1
  301. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  302. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  303. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  304. package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  305. package/esm2020/lib/search/shared/sources/workspace.mjs +186 -0
  306. package/esm2020/lib/search/shared/sources/workspace.providers.mjs +26 -0
  307. package/esm2020/lib/style/index.mjs +5 -0
  308. package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +357 -0
  309. package/esm2020/lib/style/shared/datasource/index.mjs +2 -0
  310. package/esm2020/lib/style/shared/feature/feature-style.mjs +141 -0
  311. package/esm2020/lib/style/shared/feature/index.mjs +2 -0
  312. package/esm2020/lib/style/shared/font.enum.mjs +17 -0
  313. package/esm2020/lib/style/shared/index.mjs +5 -0
  314. package/esm2020/lib/style/shared/overlay/index.mjs +3 -0
  315. package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +43 -0
  316. package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  317. package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +75 -0
  318. package/esm2020/lib/style/shared/vector/conversion.utils.mjs +27 -0
  319. package/esm2020/lib/style/shared/vector/index.mjs +4 -0
  320. package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  321. package/esm2020/lib/style/style-list/index.mjs +5 -0
  322. package/esm2020/lib/style/style-list/style-list.interface.mjs +2 -0
  323. package/esm2020/lib/style/style-list/style-list.module.mjs +23 -0
  324. package/esm2020/lib/style/style-list/style-list.provider.mjs +21 -0
  325. package/esm2020/lib/style/style-list/style-list.service.mjs +51 -0
  326. package/esm2020/lib/style/style-modal/drawing/index.mjs +2 -0
  327. package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
  328. package/esm2020/lib/style/style-modal/index.mjs +5 -0
  329. package/esm2020/lib/style/style-modal/layer/index.mjs +2 -0
  330. package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +187 -0
  331. package/esm2020/lib/style/style-modal/layer-button/index.mjs +2 -0
  332. package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
  333. package/esm2020/lib/style/style-modal/shared/index.mjs +2 -0
  334. package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  335. package/esm2020/lib/style/style-service/draw-style.service.mjs +187 -0
  336. package/esm2020/lib/style/style-service/index.mjs +3 -0
  337. package/esm2020/lib/style/style-service/style.service.mjs +356 -0
  338. package/esm2020/lib/style/style.module.mjs +74 -0
  339. package/esm2020/lib/toast/toast.component.mjs +3 -3
  340. package/esm2020/lib/toast/toast.module.mjs +1 -1
  341. package/esm2020/lib/utils/id-generator.mjs +1 -1
  342. package/esm2020/lib/utils/index.mjs +1 -3
  343. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  344. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  345. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  346. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  347. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  348. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  349. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +19 -34
  350. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  351. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +10 -3
  352. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  353. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +2 -2
  354. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +3 -3
  355. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  356. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  357. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  358. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  359. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  360. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  361. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  362. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  363. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  364. package/esm2020/public_api.mjs +3 -1
  365. package/fesm2015/igo2-geo.mjs +7502 -5529
  366. package/fesm2015/igo2-geo.mjs.map +1 -1
  367. package/fesm2020/igo2-geo.mjs +8086 -6208
  368. package/fesm2020/igo2-geo.mjs.map +1 -1
  369. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +8 -15
  370. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +11 -7
  371. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -9
  372. package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -3
  373. package/lib/catalog/shared/catalog.interface.d.ts +10 -0
  374. package/lib/datasource/shared/datasources/datasource.interface.d.ts +13 -0
  375. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +5 -0
  376. package/lib/datasource/utils/index.d.ts +0 -1
  377. package/lib/download/shared/download.service.d.ts +2 -3
  378. package/lib/draw/draw/draw.component.d.ts +3 -2
  379. package/lib/draw/shared/draw.enum.d.ts +0 -15
  380. package/lib/draw/shared/index.d.ts +0 -1
  381. package/lib/feature/shared/feature.interfaces.d.ts +5 -0
  382. package/lib/feature/shared/feature.utils.d.ts +4 -2
  383. package/lib/feature/shared/store.d.ts +7 -0
  384. package/lib/feature/shared/strategies/index.d.ts +1 -0
  385. package/lib/feature/shared/strategies/search.d.ts +55 -0
  386. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -3
  387. package/lib/geo.module.d.ts +3 -2
  388. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +5 -9
  389. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
  390. package/lib/import-export/import-export/import-export.component.d.ts +9 -4
  391. package/lib/import-export/import-export.module.d.ts +1 -2
  392. package/lib/import-export/index.d.ts +0 -1
  393. package/lib/import-export/shared/drop-geo-file.directive.d.ts +10 -7
  394. package/lib/import-export/shared/export.service.d.ts +1 -1
  395. package/lib/import-export/shared/export.utils.d.ts +4 -4
  396. package/lib/import-export/shared/import.interface.d.ts +2 -0
  397. package/lib/import-export/shared/import.utils.d.ts +14 -12
  398. package/lib/layer/index.d.ts +0 -1
  399. package/lib/layer/layer.module.d.ts +19 -20
  400. package/lib/layer/shared/index.d.ts +0 -2
  401. package/lib/layer/shared/layer.service.d.ts +8 -5
  402. package/lib/layer/shared/layers/image-layer.d.ts +2 -3
  403. package/lib/layer/shared/layers/layer.d.ts +5 -1
  404. package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
  405. package/lib/layer/shared/layers/vector-layer.d.ts +18 -2
  406. package/lib/layer/shared/layers/vector-layer.interface.d.ts +8 -7
  407. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +2 -4
  408. package/lib/layer/utils/image-watcher.d.ts +2 -3
  409. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +7 -4
  410. package/lib/map/offline-button/offline-button.component.d.ts +10 -18
  411. package/lib/map/shared/controllers/geolocation.d.ts +17 -2
  412. package/lib/map/shared/hover-feature.directive.d.ts +2 -10
  413. package/lib/map/shared/map.d.ts +2 -2
  414. package/lib/map/shared/map.utils.d.ts +1 -0
  415. package/lib/map/shared/mapOffline.directive.d.ts +4 -7
  416. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +3 -6
  417. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  418. package/lib/offline/index.d.ts +1 -0
  419. package/lib/offline/layerDB/index.d.ts +2 -0
  420. package/lib/offline/layerDB/layerDB.interface.d.ts +7 -0
  421. package/lib/offline/layerDB/layerDB.service.d.ts +36 -0
  422. package/lib/overlay/shared/index.d.ts +0 -1
  423. package/lib/overlay/shared/overlay.utils.d.ts +0 -11
  424. package/lib/print/print-form/print-form.component.d.ts +2 -0
  425. package/lib/print/shared/print.service.d.ts +16 -1
  426. package/lib/query/shared/query.interfaces.d.ts +8 -1
  427. package/lib/query/shared/query.service.d.ts +5 -3
  428. package/lib/search/search-bar/search-bar.component.d.ts +12 -2
  429. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -0
  430. package/lib/search/search-results/search-results-add-button.component.d.ts +28 -2
  431. package/lib/search/search-results/search-results-item.component.d.ts +5 -1
  432. package/lib/search/search-results/search-results.component.d.ts +5 -1
  433. package/lib/search/search-results/search-results.module.d.ts +18 -10
  434. package/lib/search/search-settings/search-settings.component.d.ts +7 -1
  435. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -9
  436. package/lib/search/shared/search-source.service.d.ts +7 -0
  437. package/lib/search/shared/search.interfaces.d.ts +1 -1
  438. package/lib/search/shared/search.service.d.ts +3 -1
  439. package/lib/search/shared/sources/coordinates.d.ts +1 -1
  440. package/lib/search/shared/sources/coordinates.providers.d.ts +3 -3
  441. package/lib/search/shared/sources/index.d.ts +3 -0
  442. package/lib/search/shared/sources/source.d.ts +7 -1
  443. package/lib/search/shared/sources/workspace.d.ts +33 -0
  444. package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -0
  445. package/lib/search/shared/sources/workspace.providers.d.ts +17 -0
  446. package/lib/style/index.d.ts +4 -0
  447. package/lib/style/shared/datasource/index.d.ts +1 -0
  448. package/lib/style/shared/feature/feature-style.d.ts +18 -0
  449. package/lib/style/shared/feature/index.d.ts +1 -0
  450. package/lib/style/shared/font.enum.d.ts +15 -0
  451. package/lib/style/shared/index.d.ts +4 -0
  452. package/lib/style/shared/overlay/index.d.ts +2 -0
  453. package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -0
  454. package/lib/{utils → style/shared/vector}/commonVectorStyle.d.ts +4 -4
  455. package/lib/style/shared/vector/conversion.utils.d.ts +22 -0
  456. package/lib/style/shared/vector/index.d.ts +3 -0
  457. package/lib/style/shared/vector/vector-style.interface.d.ts +69 -0
  458. package/lib/style/style-modal/drawing/index.d.ts +1 -0
  459. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +31 -0
  460. package/lib/style/style-modal/index.d.ts +4 -0
  461. package/lib/style/style-modal/layer/index.d.ts +1 -0
  462. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +30 -0
  463. package/lib/style/style-modal/layer-button/index.d.ts +1 -0
  464. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -0
  465. package/lib/style/style-modal/shared/index.d.ts +1 -0
  466. package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -0
  467. package/lib/{draw/shared → style/style-service}/draw-style.service.d.ts +3 -4
  468. package/lib/style/style-service/index.d.ts +2 -0
  469. package/lib/{layer/shared → style/style-service}/style.service.d.ts +5 -5
  470. package/lib/style/style.module.d.ts +22 -0
  471. package/lib/utils/index.d.ts +0 -2
  472. package/lib/workspace/shared/edition-workspace.service.d.ts +3 -4
  473. package/lib/workspace/shared/wms-workspace.service.d.ts +1 -1
  474. package/ngcc.config.js +3 -3
  475. package/package.json +17 -11
  476. package/public_api.d.ts +2 -0
  477. package/style/geo.theming.scss +12 -12
  478. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +0 -357
  479. package/esm2020/lib/draw/shared/draw-style.service.mjs +0 -190
  480. package/esm2020/lib/import-export/style-list/index.mjs +0 -5
  481. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +0 -2
  482. package/esm2020/lib/import-export/style-list/style-list.module.mjs +0 -23
  483. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +0 -21
  484. package/esm2020/lib/import-export/style-list/style-list.service.mjs +0 -51
  485. package/esm2020/lib/layer/shared/style.service.mjs +0 -356
  486. package/esm2020/lib/layer/shared/vector-style.interface.mjs +0 -2
  487. package/esm2020/lib/layer/style-modal/index.mjs +0 -2
  488. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +0 -288
  489. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +0 -69
  490. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +0 -2
  491. package/esm2020/lib/utils/commonVectorStyle.mjs +0 -75
  492. package/lib/layer/shared/vector-style.interface.d.ts +0 -38
  493. package/lib/layer/style-modal/index.d.ts +0 -1
  494. package/lib/layer/style-modal/style-modal.component.d.ts +0 -42
  495. package/lib/utils/commonVectorStyle.interface.d.ts +0 -16
  496. /package/lib/{datasource/utils → style/shared/datasource}/esri-style-generator.d.ts +0 -0
  497. /package/lib/{overlay/shared → style/shared/overlay}/overlay-marker-style.utils.d.ts +0 -0
  498. /package/lib/{import-export → style}/style-list/index.d.ts +0 -0
  499. /package/lib/{import-export → style}/style-list/style-list.interface.d.ts +0 -0
  500. /package/lib/{import-export → style}/style-list/style-list.module.d.ts +0 -0
  501. /package/lib/{import-export → style}/style-list/style-list.provider.d.ts +0 -0
  502. /package/lib/{import-export → style}/style-list/style-list.service.d.ts +0 -0
@@ -11,19 +11,19 @@ import * as i5 from "@angular/material/core";
11
11
  import * as i6 from "@angular/material/button";
12
12
  import * as i7 from "@igo2/common";
13
13
  function SearchResultsItemComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelement(0, "mat-icon", 4);
14
+ i0.ɵɵelement(0, "mat-icon", 5);
15
15
  } if (rf & 2) {
16
16
  const ctx_r0 = i0.ɵɵnextContext();
17
17
  i0.ɵɵpropertyInterpolate("svgIcon", ctx_r0.showIcons ? ctx_r0.icon : "blank");
18
18
  } }
19
19
  function SearchResultsItemComponent_h4_2_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelement(0, "h4", 5);
20
+ i0.ɵɵelement(0, "h4", 6);
21
21
  } if (rf & 2) {
22
22
  const ctx_r1 = i0.ɵɵnextContext();
23
23
  i0.ɵɵproperty("innerHtml", ctx_r1.titleHtml, i0.ɵɵsanitizeHtml)("matTooltip", ctx_r1.tooltipHtml);
24
24
  } }
25
25
  function SearchResultsItemComponent_h4_3_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "h4", 6);
26
+ i0.ɵɵelementStart(0, "h4", 7);
27
27
  i0.ɵɵtext(1);
28
28
  i0.ɵɵelementEnd();
29
29
  } if (rf & 2) {
@@ -34,9 +34,9 @@ function SearchResultsItemComponent_h4_3_Template(rf, ctx) { if (rf & 1) {
34
34
  } }
35
35
  function SearchResultsItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
36
36
  const _r5 = i0.ɵɵgetCurrentView();
37
- i0.ɵɵelementStart(0, "button", 7);
37
+ i0.ɵɵelementStart(0, "button", 8);
38
38
  i0.ɵɵlistener("click", function SearchResultsItemComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onZoomHandler()); });
39
- i0.ɵɵelement(1, "mat-icon", 8);
39
+ i0.ɵɵelement(1, "mat-icon", 9);
40
40
  i0.ɵɵelementEnd();
41
41
  } }
42
42
  const _c0 = [[["", "igoSearchItemToolbar", ""]]];
@@ -86,15 +86,38 @@ export class SearchResultsItemComponent {
86
86
  });
87
87
  moveToOlFeatures(this.map, [olFeature], FeatureMotion.Default);
88
88
  }
89
+ /**
90
+ * On mouse event, mouseenter /mouseleave
91
+ * @internal
92
+ */
93
+ onMouseEvent(event) {
94
+ const element = event.target;
95
+ const type = event.type;
96
+ switch (type) {
97
+ case 'mouseenter':
98
+ const hideBtn = element.querySelector('#hide-save-search-result-btn');
99
+ (hideBtn) ?
100
+ hideBtn.setAttribute('id', 'show-save-search-result-btn') : null;
101
+ break;
102
+ case 'mouseleave':
103
+ const showBtn = element.querySelector('#show-save-search-result-btn');
104
+ (showBtn) ?
105
+ showBtn.setAttribute('id', 'hide-save-search-result-btn') : null;
106
+ break;
107
+ default:
108
+ break;
109
+ }
110
+ }
89
111
  }
90
112
  SearchResultsItemComponent.ɵfac = function SearchResultsItemComponent_Factory(t) { return new (t || SearchResultsItemComponent)(); };
91
- SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsItemComponent, selectors: [["igo-search-results-item"]], inputs: { result: "result", map: "map", showIcons: "showIcons", withZoomButton: "withZoomButton" }, outputs: { zoomEvent: "zoomEvent" }, ngContentSelectors: _c1, decls: 6, vars: 4, consts: [["mat-list-avatar", "", 3, "svgIcon", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", "matTooltipClass", "search-result-tooltip", 3, "innerHtml", "matTooltip", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", 3, "matTooltip", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "click", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["matLine", "", "matTooltipShowDelay", "500", "matTooltipClass", "search-result-tooltip", 3, "innerHtml", "matTooltip"], ["matLine", "", "matTooltipShowDelay", "500", 3, "matTooltip"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "click"], ["svgIcon", "magnify"]], template: function SearchResultsItemComponent_Template(rf, ctx) { if (rf & 1) {
113
+ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsItemComponent, selectors: [["igo-search-results-item"]], inputs: { result: "result", map: "map", showIcons: "showIcons", withZoomButton: "withZoomButton" }, outputs: { zoomEvent: "zoomEvent" }, ngContentSelectors: _c1, decls: 6, vars: 4, consts: [[3, "mouseenter", "mouseleave"], ["mat-list-avatar", "", 3, "svgIcon", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", "matTooltipClass", "search-result-tooltip", 3, "innerHtml", "matTooltip", 4, "ngIf"], ["matLine", "", "matTooltipShowDelay", "500", 3, "matTooltip", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "click", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["matLine", "", "matTooltipShowDelay", "500", "matTooltipClass", "search-result-tooltip", 3, "innerHtml", "matTooltip"], ["matLine", "", "matTooltipShowDelay", "500", 3, "matTooltip"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "click"], ["svgIcon", "magnify"]], template: function SearchResultsItemComponent_Template(rf, ctx) { if (rf & 1) {
92
114
  i0.ɵɵprojectionDef(_c0);
93
- i0.ɵɵelementStart(0, "mat-list-item");
94
- i0.ɵɵtemplate(1, SearchResultsItemComponent_mat_icon_1_Template, 1, 1, "mat-icon", 0);
95
- i0.ɵɵtemplate(2, SearchResultsItemComponent_h4_2_Template, 1, 2, "h4", 1);
96
- i0.ɵɵtemplate(3, SearchResultsItemComponent_h4_3_Template, 2, 2, "h4", 2);
97
- i0.ɵɵtemplate(4, SearchResultsItemComponent_button_4_Template, 2, 0, "button", 3);
115
+ i0.ɵɵelementStart(0, "mat-list-item", 0);
116
+ i0.ɵɵlistener("mouseenter", function SearchResultsItemComponent_Template_mat_list_item_mouseenter_0_listener($event) { return ctx.onMouseEvent($event); })("mouseleave", function SearchResultsItemComponent_Template_mat_list_item_mouseleave_0_listener($event) { return ctx.onMouseEvent($event); });
117
+ i0.ɵɵtemplate(1, SearchResultsItemComponent_mat_icon_1_Template, 1, 1, "mat-icon", 1);
118
+ i0.ɵɵtemplate(2, SearchResultsItemComponent_h4_2_Template, 1, 2, "h4", 2);
119
+ i0.ɵɵtemplate(3, SearchResultsItemComponent_h4_3_Template, 2, 2, "h4", 3);
120
+ i0.ɵɵtemplate(4, SearchResultsItemComponent_button_4_Template, 2, 0, "button", 4);
98
121
  i0.ɵɵprojection(5);
99
122
  i0.ɵɵelementEnd();
100
123
  } if (rf & 2) {
@@ -109,8 +132,8 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
109
132
  } }, dependencies: [i1.NgIf, i2.MatTooltip, i3.MatIcon, i4.MatListItem, i4.MatListAvatarCssMatStyler, i5.MatLine, i6.MatButton, i7.StopPropagationDirective], styles: ["[_nghost-%COMP%] small{color:#8c8c8c} .search-result-tooltip{white-space:pre-line}"], changeDetection: 0 });
110
133
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsItemComponent, [{
111
134
  type: Component,
112
- args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"icon\" mat-list-avatar svgIcon=\"{{showIcons ? icon : 'blank'}}\"></mat-icon>\n\n <h4 matLine *ngIf=\"titleHtml\" [innerHtml]=\"titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"tooltipHtml\" matTooltipClass=\"search-result-tooltip\"></h4>\n <h4 matLine *ngIf=\"!titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"title\">{{title}}</h4>\n\n <button *ngIf=\"withZoomButton\"\n igoStopPropagation\n mat-icon-button\n (click)=\"onZoomHandler()\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <ng-content\n select=[igoSearchItemToolbar]>\n </ng-content>\n\n</mat-list-item>\n", styles: [":host ::ng-deep small{color:#8c8c8c}::ng-deep .search-result-tooltip{white-space:pre-line}\n"] }]
113
- }], function () { return []; }, { result: [{
135
+ args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\">\r\n <mat-icon *ngIf=\"icon\" mat-list-avatar svgIcon=\"{{showIcons ? icon : 'blank'}}\"></mat-icon>\r\n\r\n <h4 matLine *ngIf=\"titleHtml\" [innerHtml]=\"titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"tooltipHtml\" matTooltipClass=\"search-result-tooltip\"></h4>\r\n <h4 matLine *ngIf=\"!titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"title\">{{title}}</h4>\r\n\r\n <button *ngIf=\"withZoomButton\"\r\n igoStopPropagation\r\n mat-icon-button\r\n (click)=\"onZoomHandler()\">\r\n <mat-icon svgIcon=\"magnify\"></mat-icon>\r\n </button>\r\n\r\n <ng-content\r\n select=[igoSearchItemToolbar]>\r\n </ng-content>\r\n\r\n</mat-list-item>\r\n", styles: [":host ::ng-deep small{color:#8c8c8c}::ng-deep .search-result-tooltip{white-space:pre-line}\n"] }]
136
+ }], null, { result: [{
114
137
  type: Input
115
138
  }], map: [{
116
139
  type: Input
@@ -121,4 +144,4 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
121
144
  }], zoomEvent: [{
122
145
  type: Output
123
146
  }] }); })();
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDZCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDVDlELDhCQUEyRjs7O0lBQXBELDZFQUF3Qzs7O0lBRS9FLHdCQUF3Sjs7O0lBQTFILCtEQUF1QixrQ0FBQTs7O0lBQ3JELDZCQUE4RTtJQUFBLFlBQVM7SUFBQSxpQkFBSzs7O0lBQW5DLHlDQUFvQjtJQUFDLGVBQVM7SUFBVCxrQ0FBUzs7OztJQUV2RixpQ0FHNEI7SUFBMUIsMEtBQVMsZUFBQSxzQkFBZSxDQUFBLElBQUM7SUFDekIsOEJBQXVDO0lBQ3pDLGlCQUFTOzs7O0FERVg7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBeURyQztRQXZDQTs7V0FFRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFDLFdBQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBZ0N4QixDQUFDO0lBOUJoQixJQUFJLEtBQUs7UUFDUCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTO2FBQ2xCLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7YUFDbkMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUlELGFBQWE7UUFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUMxRCxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUMzQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVU7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOztvR0FqRVUsMEJBQTBCOzZFQUExQiwwQkFBMEI7O1FDdEJ2QyxxQ0FBZTtRQUNiLHFGQUEyRjtRQUUzRix5RUFBd0o7UUFDeEoseUVBQTRGO1FBRTVGLGlGQUtTO1FBRVQsa0JBRWE7UUFFZixpQkFBZ0I7O1FBaEJILGVBQVU7UUFBViwrQkFBVTtRQUVSLGVBQWU7UUFBZixvQ0FBZTtRQUNmLGVBQWdCO1FBQWhCLHFDQUFnQjtRQUVwQixlQUFvQjtRQUFwQix5Q0FBb0I7O3VGRGdCbEIsMEJBQTBCO2NBTnRDLFNBQVM7MkJBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNO3NDQU10QyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxHQUFHO2tCQUFYLEtBQUs7WUFVRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csY0FBYztrQkFBdEIsS0FBSztZQUVJLFNBQVM7a0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuXG5pbXBvcnQge1xuICBnZXRFbnRpdHlUaXRsZSxcbiAgZ2V0RW50aXR5VGl0bGVIdG1sLFxuICBnZXRFbnRpdHlJY29uXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uLCBtb3ZlVG9PbEZlYXR1cmVzIH0gZnJvbSAnLi4vLi4vZmVhdHVyZSc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xuXG4vKipcbiAqIFNlYXJjaCByZXN1bHRzIGxpc3QgaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRzSXRlbUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IGl0ZW1cbiAgICovXG4gIEBJbnB1dCgpIHJlc3VsdDogU2VhcmNoUmVzdWx0O1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IHRpdGxlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cblxuICAvKipcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgd2l0aFpvb21CdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgem9vbUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLnJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdCBIVE1MIHRpdGxlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlSHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZUh0bWwodGhpcy5yZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHQgdG9vbHRpcFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCB0b29sdGlwSHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlSHRtbFxuICAgICAgLnJlcGxhY2UoLzxzbWFsbD9bXj5dKyg+fCQpL2csICdcXG4nKVxuICAgICAgLnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdCBpY29uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5SWNvbih0aGlzLnJlc3VsdCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgb25ab29tSGFuZGxlcigpIHtcbiAgICBjb25zdCBvbEZlYXR1cmUgPSB0aGlzLmZvcm1hdC5yZWFkRmVhdHVyZSh0aGlzLnJlc3VsdC5kYXRhLCB7XG4gICAgICBkYXRhUHJvamVjdGlvbjogdGhpcy5yZXN1bHQuZGF0YS5wcm9qZWN0aW9uLFxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwLnByb2plY3Rpb25cbiAgICB9KTtcbiAgICBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLCBbb2xGZWF0dXJlXSwgRmVhdHVyZU1vdGlvbi5EZWZhdWx0KTtcbiAgfVxufVxuIiwiPG1hdC1saXN0LWl0ZW0+XG4gIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cInt7c2hvd0ljb25zID8gaWNvbiA6ICdibGFuayd9fVwiPjwvbWF0LWljb24+XG5cbiAgPGg0IG1hdExpbmUgKm5nSWY9XCJ0aXRsZUh0bWxcIiBbaW5uZXJIdG1sXT1cInRpdGxlSHRtbFwiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwSHRtbFwiIG1hdFRvb2x0aXBDbGFzcz1cInNlYXJjaC1yZXN1bHQtdG9vbHRpcFwiPjwvaDQ+XG4gIDxoNCBtYXRMaW5lICpuZ0lmPVwiIXRpdGxlSHRtbFwiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbWF0VG9vbHRpcF09XCJ0aXRsZVwiPnt7dGl0bGV9fTwvaDQ+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cIndpdGhab29tQnV0dG9uXCJcbiAgICBpZ29TdG9wUHJvcGFnYXRpb25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAoY2xpY2spPVwib25ab29tSGFuZGxlcigpXCI+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYWduaWZ5XCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG5nLWNvbnRlbnRcbiAgICBzZWxlY3Q9W2lnb1NlYXJjaEl0ZW1Ub29sYmFyXT5cbiAgPC9uZy1jb250ZW50PlxuXG48L21hdC1saXN0LWl0ZW0+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDZCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDVDlELDhCQUEyRjs7O0lBQXBELDZFQUF3Qzs7O0lBRS9FLHdCQUF3Sjs7O0lBQTFILCtEQUF1QixrQ0FBQTs7O0lBQ3JELDZCQUE4RTtJQUFBLFlBQVM7SUFBQSxpQkFBSzs7O0lBQW5DLHlDQUFvQjtJQUFDLGVBQVM7SUFBVCxrQ0FBUzs7OztJQUV2RixpQ0FHNEI7SUFBMUIsMEtBQVMsZUFBQSxzQkFBZSxDQUFBLElBQUM7SUFDekIsOEJBQXVDO0lBQ3pDLGlCQUFTOzs7O0FERVg7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBTnZDO1FBd0JFOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFMUMsV0FBTSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7S0E4RHhDO0lBNURDLElBQUksS0FBSztRQUNQLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxTQUFTO1FBQ1gsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDbEIsT0FBTyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQzthQUNuQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzFELGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQzNDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTtTQUN2QyxDQUFDLENBQUM7UUFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsS0FBSztRQUNoQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLFlBQVk7Z0JBQ2YsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ1gsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNqRSxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztnQkFDdEUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDakUsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7O29HQXRGVSwwQkFBMEI7NkVBQTFCLDBCQUEwQjs7UUN0QnZDLHdDQUF1RjtRQUF4RSw4SEFBYyx3QkFBb0IsSUFBQyxpSEFBZSx3QkFBb0IsSUFBbkM7UUFDaEQscUZBQTJGO1FBRTNGLHlFQUF3SjtRQUN4Six5RUFBNEY7UUFFNUYsaUZBS1M7UUFFVCxrQkFFYTtRQUVmLGlCQUFnQjs7UUFoQkgsZUFBVTtRQUFWLCtCQUFVO1FBRVIsZUFBZTtRQUFmLG9DQUFlO1FBQ2YsZUFBZ0I7UUFBaEIscUNBQWdCO1FBRXBCLGVBQW9CO1FBQXBCLHlDQUFvQjs7dUZEZ0JsQiwwQkFBMEI7Y0FOdEMsU0FBUzsyQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07Z0JBTXRDLE1BQU07a0JBQWQsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQVVHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxjQUFjO2tCQUF0QixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0RW50aXR5VGl0bGUsXHJcbiAgZ2V0RW50aXR5VGl0bGVIdG1sLFxyXG4gIGdldEVudGl0eUljb25cclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiwgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCByZXN1bHRzIGxpc3QgaXRlbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHQgaXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJlc3VsdDogU2VhcmNoUmVzdWx0O1xyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdCB0aXRsZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG5cclxuICAvKipcclxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhab29tQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB6b29tRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLnJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0IEhUTUwgdGl0bGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgdGl0bGVIdG1sKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGVIdG1sKHRoaXMucmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHQgdG9vbHRpcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0b29sdGlwSHRtbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGl0bGVIdG1sXHJcbiAgICAgIC5yZXBsYWNlKC88c21hbGw/W14+XSsoPnwkKS9nLCAnXFxuJylcclxuICAgICAgLnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0IGljb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5yZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgb25ab29tSGFuZGxlcigpIHtcclxuICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMucmVzdWx0LmRhdGEsIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246IHRoaXMucmVzdWx0LmRhdGEucHJvamVjdGlvbixcclxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwLnByb2plY3Rpb25cclxuICAgIH0pO1xyXG4gICAgbW92ZVRvT2xGZWF0dXJlcyh0aGlzLm1hcCwgW29sRmVhdHVyZV0sIEZlYXR1cmVNb3Rpb24uRGVmYXVsdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTW91c2VFdmVudChldmVudCkge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcclxuICAgIGNvbnN0IHR5cGUgPSBldmVudC50eXBlO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxyXG4gICAgICAgIGNvbnN0IGhpZGVCdG4gPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNoaWRlLXNhdmUtc2VhcmNoLXJlc3VsdC1idG4nKTtcclxuICAgICAgICAoaGlkZUJ0bikgP1xyXG4gICAgICAgIGhpZGVCdG4uc2V0QXR0cmlidXRlKCdpZCcsICdzaG93LXNhdmUtc2VhcmNoLXJlc3VsdC1idG4nKSA6IG51bGw7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGNvbnN0IHNob3dCdG4gPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzaG93LXNhdmUtc2VhcmNoLXJlc3VsdC1idG4nKTtcclxuICAgICAgICAoc2hvd0J0bikgP1xyXG4gICAgICAgIHNob3dCdG4uc2V0QXR0cmlidXRlKCdpZCcsICdoaWRlLXNhdmUtc2VhcmNoLXJlc3VsdC1idG4nKSA6IG51bGw7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtbGlzdC1pdGVtIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCIgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIj5cclxuICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCIgbWF0LWxpc3QtYXZhdGFyIHN2Z0ljb249XCJ7e3Nob3dJY29ucyA/IGljb24gOiAnYmxhbmsnfX1cIj48L21hdC1pY29uPlxyXG5cclxuICA8aDQgbWF0TGluZSAqbmdJZj1cInRpdGxlSHRtbFwiIFtpbm5lckh0bWxdPVwidGl0bGVIdG1sXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBIdG1sXCIgbWF0VG9vbHRpcENsYXNzPVwic2VhcmNoLXJlc3VsdC10b29sdGlwXCI+PC9oND5cclxuICA8aDQgbWF0TGluZSAqbmdJZj1cIiF0aXRsZUh0bWxcIiBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCIgW21hdFRvb2x0aXBdPVwidGl0bGVcIj57e3RpdGxlfX08L2g0PlxyXG5cclxuICA8YnV0dG9uICpuZ0lmPVwid2l0aFpvb21CdXR0b25cIlxyXG4gICAgaWdvU3RvcFByb3BhZ2F0aW9uXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIChjbGljayk9XCJvblpvb21IYW5kbGVyKClcIj5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWFnbmlmeVwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxuZy1jb250ZW50XHJcbiAgICBzZWxlY3Q9W2lnb1NlYXJjaEl0ZW1Ub29sYmFyXT5cclxuICA8L25nLWNvbnRlbnQ+XHJcblxyXG48L21hdC1saXN0LWl0ZW0+XHJcbiJdfQ==
@@ -6,57 +6,58 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "../shared/search.service";
7
7
  import * as i2 from "@igo2/core";
8
8
  import * as i3 from "@angular/common";
9
- import * as i4 from "@igo2/common";
10
- import * as i5 from "./search-results-item.component";
11
- import * as i6 from "@ngx-translate/core";
9
+ import * as i4 from "@angular/material/tabs";
10
+ import * as i5 from "@igo2/common";
11
+ import * as i6 from "./search-results-item.component";
12
+ import * as i7 from "@ngx-translate/core";
12
13
  const _c0 = ["igoSearchItemToolbar"];
13
- function SearchResultsComponent_ng_template_1_igo_collapsible_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
14
+ function SearchResultsComponent_igo_list_0_ng_template_1_igo_collapsible_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
14
15
  i0.ɵɵelementContainer(0);
15
16
  } }
16
17
  const _c1 = function (a0) { return { results: a0 }; };
17
- function SearchResultsComponent_ng_template_1_igo_collapsible_0_Template(rf, ctx) { if (rf & 1) {
18
- const _r10 = i0.ɵɵgetCurrentView();
19
- i0.ɵɵelementStart(0, "igo-collapsible", 6);
20
- i0.ɵɵlistener("toggle", function SearchResultsComponent_ng_template_1_igo_collapsible_0_Template_igo_collapsible_toggle_0_listener($event) { i0.ɵɵrestoreView(_r10); const group_r2 = i0.ɵɵnextContext().$implicit; const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r9.collapsed[group_r2.source.title] = $event)); });
21
- i0.ɵɵtemplate(1, SearchResultsComponent_ng_template_1_igo_collapsible_0_ng_container_1_Template, 1, 0, "ng-container", 7);
18
+ function SearchResultsComponent_igo_list_0_ng_template_1_igo_collapsible_0_Template(rf, ctx) { if (rf & 1) {
19
+ const _r12 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "igo-collapsible", 7);
21
+ i0.ɵɵlistener("toggle", function SearchResultsComponent_igo_list_0_ng_template_1_igo_collapsible_0_Template_igo_collapsible_toggle_0_listener($event) { i0.ɵɵrestoreView(_r12); const group_r4 = i0.ɵɵnextContext().$implicit; const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView((ctx_r11.collapsed[group_r4.source.title] = $event)); });
22
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_0_ng_template_1_igo_collapsible_0_ng_container_1_Template, 1, 0, "ng-container", 8);
22
23
  i0.ɵɵelementEnd();
23
24
  } if (rf & 2) {
24
- const group_r2 = i0.ɵɵnextContext().$implicit;
25
- const _r6 = i0.ɵɵreference(4);
26
- const ctx_r3 = i0.ɵɵnextContext();
27
- i0.ɵɵclassMap(group_r2.source.getId());
28
- i0.ɵɵproperty("title", ctx_r3.computeGroupTitle(group_r2))("collapsed", ctx_r3.collapsed[group_r2.source.title]);
25
+ const group_r4 = i0.ɵɵnextContext().$implicit;
26
+ const _r8 = i0.ɵɵreference(4);
27
+ const ctx_r5 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵclassMap(group_r4.source.getId());
29
+ i0.ɵɵproperty("title", ctx_r5.computeGroupTitle(group_r4))("collapsed", ctx_r5.collapsed[group_r4.source.title]);
29
30
  i0.ɵɵadvance(1);
30
- i0.ɵɵproperty("ngTemplateOutlet", _r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c1, group_r2.results));
31
+ i0.ɵɵproperty("ngTemplateOutlet", _r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(6, _c1, group_r4.results));
31
32
  } }
32
- function SearchResultsComponent_ng_template_1_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
33
+ function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
33
34
  i0.ɵɵelementContainer(0);
34
35
  } }
35
- function SearchResultsComponent_ng_template_1_ng_template_1_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵtemplate(0, SearchResultsComponent_ng_template_1_ng_template_1_ng_container_0_Template, 1, 0, "ng-container", 7);
36
+ function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_1_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_0_ng_template_1_ng_template_1_ng_container_0_Template, 1, 0, "ng-container", 8);
37
38
  } if (rf & 2) {
38
- const group_r2 = i0.ɵɵnextContext().$implicit;
39
- const _r6 = i0.ɵɵreference(4);
40
- i0.ɵɵproperty("ngTemplateOutlet", _r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, group_r2.results));
39
+ const group_r4 = i0.ɵɵnextContext().$implicit;
40
+ const _r8 = i0.ɵɵreference(4);
41
+ i0.ɵɵproperty("ngTemplateOutlet", _r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, group_r4.results));
41
42
  } }
42
43
  const _c2 = function (a0) { return { result: a0 }; };
43
- function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
44
- const _r20 = i0.ɵɵgetCurrentView();
45
- i0.ɵɵelementStart(0, "igo-search-results-item", 9);
46
- i0.ɵɵlistener("focus", function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_focus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const result_r18 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r19.resultFocus.emit(result_r18)); })("unfocus", function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_unfocus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const result_r18 = restoredCtx.$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.resultUnfocus.emit(result_r18)); })("select", function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const result_r18 = restoredCtx.$implicit; const ctx_r22 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r22.onResultSelect(result_r18)); })("mouseenter", function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_mouseenter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const result_r18 = restoredCtx.$implicit; const ctx_r23 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r23.resultFocus.emit(result_r18)); })("mouseleave", function SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_mouseleave_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const result_r18 = restoredCtx.$implicit; const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.resultUnfocus.emit(result_r18)); });
47
- i0.ɵɵelementContainer(1, 10);
44
+ function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
45
+ const _r22 = i0.ɵɵgetCurrentView();
46
+ i0.ɵɵelementStart(0, "igo-search-results-item", 10);
47
+ i0.ɵɵlistener("focus", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_focus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const result_r20 = restoredCtx.$implicit; const ctx_r21 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r21.resultFocus.emit(result_r20)); })("unfocus", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_unfocus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const result_r20 = restoredCtx.$implicit; const ctx_r23 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r23.resultUnfocus.emit(result_r20)); })("select", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const result_r20 = restoredCtx.$implicit; const ctx_r24 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r24.onResultSelect(result_r20)); })("mouseenter", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_mouseenter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const result_r20 = restoredCtx.$implicit; const ctx_r25 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r25.resultFocus.emit(result_r20)); })("mouseleave", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template_igo_search_results_item_mouseleave_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r22); const result_r20 = restoredCtx.$implicit; const ctx_r26 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r26.resultUnfocus.emit(result_r20)); });
48
+ i0.ɵɵelementContainer(1, 11);
48
49
  i0.ɵɵelementEnd();
49
50
  } if (rf & 2) {
50
- const result_r18 = ctx.$implicit;
51
- const ctx_r16 = i0.ɵɵnextContext(3);
52
- i0.ɵɵproperty("map", ctx_r16.map)("result", result_r18)("showIcons", ctx_r16.showIcons)("withZoomButton", ctx_r16.withZoomButton)("focused", ctx_r16.store.state.get(result_r18).focused)("selected", ctx_r16.store.state.get(result_r18).selected);
51
+ const result_r20 = ctx.$implicit;
52
+ const ctx_r18 = i0.ɵɵnextContext(4);
53
+ i0.ɵɵproperty("map", ctx_r18.map)("result", result_r20)("showIcons", ctx_r18.showIcons)("withZoomButton", ctx_r18.withZoomButton)("focused", ctx_r18.store.state.get(result_r20).focused)("selected", ctx_r18.store.state.get(result_r20).selected);
53
54
  i0.ɵɵadvance(1);
54
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r16.templateSearchToolbar)("ngTemplateOutletContext", i0.ɵɵpureFunction1(8, _c2, result_r18));
55
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r18.templateSearchToolbar)("ngTemplateOutletContext", i0.ɵɵpureFunction1(8, _c2, result_r20));
55
56
  } }
56
- function SearchResultsComponent_ng_template_1_ng_template_3_span_1_Template(rf, ctx) { if (rf & 1) {
57
- const _r27 = i0.ɵɵgetCurrentView();
58
- i0.ɵɵelementStart(0, "span", 11);
59
- i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_1_ng_template_3_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r27); const group_r2 = i0.ɵɵnextContext(2).$implicit; const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.displayMoreResults(group_r2)); });
57
+ function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_span_1_Template(rf, ctx) { if (rf & 1) {
58
+ const _r29 = i0.ɵɵgetCurrentView();
59
+ i0.ɵɵelementStart(0, "span", 12);
60
+ i0.ɵɵlistener("click", function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r29); const group_r4 = i0.ɵɵnextContext(2).$implicit; const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.displayMoreResults(group_r4)); });
60
61
  i0.ɵɵelementStart(1, "u");
61
62
  i0.ɵɵtext(2);
62
63
  i0.ɵɵpipe(3, "translate");
@@ -65,25 +66,134 @@ function SearchResultsComponent_ng_template_1_ng_template_3_span_1_Template(rf,
65
66
  i0.ɵɵadvance(2);
66
67
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "igo.geo.search.displayMoreResults"));
67
68
  } }
68
- function SearchResultsComponent_ng_template_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
69
- i0.ɵɵtemplate(0, SearchResultsComponent_ng_template_1_ng_template_3_ng_template_0_Template, 2, 10, "ng-template", 1);
70
- i0.ɵɵtemplate(1, SearchResultsComponent_ng_template_1_ng_template_3_span_1_Template, 4, 3, "span", 8);
69
+ function SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_ng_template_0_Template, 2, 10, "ng-template", 2);
71
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_span_1_Template, 4, 3, "span", 9);
71
72
  } if (rf & 2) {
72
- const results_r15 = ctx.results;
73
- const group_r2 = i0.ɵɵnextContext().$implicit;
74
- const ctx_r7 = i0.ɵɵnextContext();
75
- i0.ɵɵproperty("ngForOf", results_r15);
73
+ const results_r17 = ctx.results;
74
+ const group_r4 = i0.ɵɵnextContext().$implicit;
75
+ const ctx_r9 = i0.ɵɵnextContext(2);
76
+ i0.ɵɵproperty("ngForOf", results_r17);
76
77
  i0.ɵɵadvance(1);
77
- i0.ɵɵproperty("ngIf", ctx_r7.isMoreResults(group_r2));
78
+ i0.ɵɵproperty("ngIf", ctx_r9.isMoreResults(group_r4));
78
79
  } }
79
- function SearchResultsComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
80
- i0.ɵɵtemplate(0, SearchResultsComponent_ng_template_1_igo_collapsible_0_Template, 2, 8, "igo-collapsible", 3);
81
- i0.ɵɵtemplate(1, SearchResultsComponent_ng_template_1_ng_template_1_Template, 1, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
82
- i0.ɵɵtemplate(3, SearchResultsComponent_ng_template_1_ng_template_3_Template, 2, 2, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
80
+ function SearchResultsComponent_igo_list_0_ng_template_1_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_0_ng_template_1_igo_collapsible_0_Template, 2, 8, "igo-collapsible", 4);
82
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_0_ng_template_1_ng_template_1_Template, 1, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
83
+ i0.ɵɵtemplate(3, SearchResultsComponent_igo_list_0_ng_template_1_ng_template_3_Template, 2, 2, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
83
84
  } if (rf & 2) {
84
- const _r4 = i0.ɵɵreference(2);
85
+ const _r6 = i0.ɵɵreference(2);
86
+ const ctx_r3 = i0.ɵɵnextContext(2);
87
+ i0.ɵɵproperty("ngIf", ctx_r3.mode === ctx_r3.searchResultMode.Grouped)("ngIfElse", _r6);
88
+ } }
89
+ function SearchResultsComponent_igo_list_0_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "igo-list", 1);
91
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_0_ng_template_1_Template, 5, 2, "ng-template", 2, 3, i0.ɵɵtemplateRefExtractor);
92
+ i0.ɵɵpipe(3, "async");
93
+ i0.ɵɵelementEnd();
94
+ } if (rf & 2) {
95
+ const ctx_r0 = i0.ɵɵnextContext();
96
+ i0.ɵɵproperty("navigation", true);
97
+ i0.ɵɵadvance(1);
98
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 2, ctx_r0.results$));
99
+ } }
100
+ function SearchResultsComponent_igo_list_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementContainer(0);
102
+ } }
103
+ function SearchResultsComponent_igo_list_1_ng_template_2_mat_tab_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵelementContainer(0);
105
+ } }
106
+ const _c3 = function (a0) { return { group: a0 }; };
107
+ function SearchResultsComponent_igo_list_1_ng_template_2_mat_tab_1_Template(rf, ctx) { if (rf & 1) {
108
+ i0.ɵɵelementStart(0, "mat-tab", 17);
109
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_1_ng_template_2_mat_tab_1_ng_container_1_Template, 1, 0, "ng-container", 8);
110
+ i0.ɵɵelementEnd();
111
+ } if (rf & 2) {
112
+ const group_r39 = ctx.$implicit;
113
+ i0.ɵɵnextContext(2);
114
+ const _r36 = i0.ɵɵreference(7);
115
+ const ctx_r38 = i0.ɵɵnextContext();
116
+ i0.ɵɵproperty("label", ctx_r38.computeGroupTitle(group_r39));
117
+ i0.ɵɵadvance(1);
118
+ i0.ɵɵproperty("ngTemplateOutlet", _r36)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c3, group_r39));
119
+ } }
120
+ function SearchResultsComponent_igo_list_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
121
+ i0.ɵɵelementStart(0, "mat-tab-group", 15);
122
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_1_ng_template_2_mat_tab_1_Template, 2, 5, "mat-tab", 16);
123
+ i0.ɵɵpipe(2, "async");
124
+ i0.ɵɵelementEnd();
125
+ } if (rf & 2) {
126
+ const ctx_r33 = i0.ɵɵnextContext(2);
127
+ i0.ɵɵadvance(1);
128
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r33.results$));
129
+ } }
130
+ function SearchResultsComponent_igo_list_1_ng_template_4_ng_template_0_ng_container_0_Template(rf, ctx) { if (rf & 1) {
131
+ i0.ɵɵelementContainer(0);
132
+ } }
133
+ function SearchResultsComponent_igo_list_1_ng_template_4_ng_template_0_Template(rf, ctx) { if (rf & 1) {
134
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_1_ng_template_4_ng_template_0_ng_container_0_Template, 1, 0, "ng-container", 8);
135
+ } if (rf & 2) {
136
+ const group_r42 = ctx.$implicit;
137
+ i0.ɵɵnextContext(2);
138
+ const _r36 = i0.ɵɵreference(7);
139
+ i0.ɵɵproperty("ngTemplateOutlet", _r36)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c3, group_r42));
140
+ } }
141
+ function SearchResultsComponent_igo_list_1_ng_template_4_Template(rf, ctx) { if (rf & 1) {
142
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_1_ng_template_4_ng_template_0_Template, 1, 4, "ng-template", 2);
143
+ i0.ɵɵpipe(1, "async");
144
+ } if (rf & 2) {
145
+ const ctx_r35 = i0.ɵɵnextContext(2);
146
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(1, 1, ctx_r35.results$));
147
+ } }
148
+ function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template(rf, ctx) { if (rf & 1) {
149
+ const _r49 = i0.ɵɵgetCurrentView();
150
+ i0.ɵɵelementStart(0, "igo-search-results-item", 10);
151
+ i0.ɵɵlistener("focus", function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template_igo_search_results_item_focus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r49); const result_r47 = restoredCtx.$implicit; const ctx_r48 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r48.resultFocus.emit(result_r47)); })("unfocus", function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template_igo_search_results_item_unfocus_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r49); const result_r47 = restoredCtx.$implicit; const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.resultUnfocus.emit(result_r47)); })("select", function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template_igo_search_results_item_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r49); const result_r47 = restoredCtx.$implicit; const ctx_r51 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r51.onResultSelect(result_r47)); })("mouseenter", function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template_igo_search_results_item_mouseenter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r49); const result_r47 = restoredCtx.$implicit; const ctx_r52 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r52.resultFocus.emit(result_r47)); })("mouseleave", function SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template_igo_search_results_item_mouseleave_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r49); const result_r47 = restoredCtx.$implicit; const ctx_r53 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r53.resultUnfocus.emit(result_r47)); });
152
+ i0.ɵɵelementContainer(1, 11);
153
+ i0.ɵɵelementEnd();
154
+ } if (rf & 2) {
155
+ const result_r47 = ctx.$implicit;
156
+ const ctx_r45 = i0.ɵɵnextContext(3);
157
+ i0.ɵɵproperty("map", ctx_r45.map)("result", result_r47)("showIcons", ctx_r45.showIcons)("withZoomButton", ctx_r45.withZoomButton)("focused", ctx_r45.store.state.get(result_r47).focused)("selected", ctx_r45.store.state.get(result_r47).selected);
158
+ i0.ɵɵadvance(1);
159
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r45.templateSearchToolbar)("ngTemplateOutletContext", i0.ɵɵpureFunction1(8, _c2, result_r47));
160
+ } }
161
+ function SearchResultsComponent_igo_list_1_ng_template_6_span_1_Template(rf, ctx) { if (rf & 1) {
162
+ const _r56 = i0.ɵɵgetCurrentView();
163
+ i0.ɵɵelementStart(0, "span", 12);
164
+ i0.ɵɵlistener("click", function SearchResultsComponent_igo_list_1_ng_template_6_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r56); const group_r44 = i0.ɵɵnextContext().group; const ctx_r54 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r54.displayMoreResults(group_r44)); });
165
+ i0.ɵɵelementStart(1, "u");
166
+ i0.ɵɵtext(2);
167
+ i0.ɵɵpipe(3, "translate");
168
+ i0.ɵɵelementEnd()();
169
+ } if (rf & 2) {
170
+ i0.ɵɵadvance(2);
171
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "igo.geo.search.displayMoreResults"));
172
+ } }
173
+ function SearchResultsComponent_igo_list_1_ng_template_6_Template(rf, ctx) { if (rf & 1) {
174
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_1_ng_template_6_ng_template_0_Template, 2, 10, "ng-template", 2);
175
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_1_ng_template_6_span_1_Template, 4, 3, "span", 9);
176
+ } if (rf & 2) {
177
+ const group_r44 = ctx.group;
178
+ const ctx_r37 = i0.ɵɵnextContext(2);
179
+ i0.ɵɵproperty("ngForOf", group_r44.results);
180
+ i0.ɵɵadvance(1);
181
+ i0.ɵɵproperty("ngIf", ctx_r37.isMoreResults(group_r44));
182
+ } }
183
+ function SearchResultsComponent_igo_list_1_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "igo-list", 1);
185
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_1_ng_container_1_Template, 1, 0, "ng-container", 13);
186
+ i0.ɵɵtemplate(2, SearchResultsComponent_igo_list_1_ng_template_2_Template, 3, 3, "ng-template", null, 14, i0.ɵɵtemplateRefExtractor);
187
+ i0.ɵɵtemplate(4, SearchResultsComponent_igo_list_1_ng_template_4_Template, 2, 3, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
188
+ i0.ɵɵtemplate(6, SearchResultsComponent_igo_list_1_ng_template_6_Template, 2, 2, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
189
+ i0.ɵɵelementEnd();
190
+ } if (rf & 2) {
191
+ const _r32 = i0.ɵɵreference(3);
192
+ const _r34 = i0.ɵɵreference(5);
85
193
  const ctx_r1 = i0.ɵɵnextContext();
86
- i0.ɵɵproperty("ngIf", ctx_r1.mode === ctx_r1.searchResultMode.Grouped)("ngIfElse", _r4);
194
+ i0.ɵɵproperty("navigation", true);
195
+ i0.ɵɵadvance(1);
196
+ i0.ɵɵproperty("ngIf", ctx_r1.mode === ctx_r1.searchResultMode.Grouped)("ngIfThen", _r32)("ngIfElse", _r34);
87
197
  } }
88
198
  export var SearchResultMode;
89
199
  (function (SearchResultMode) {
@@ -115,6 +225,10 @@ export class SearchResultsComponent {
115
225
  * Whether there should be a zoom button
116
226
  */
117
227
  this.withZoomButton = false;
228
+ /**
229
+ * To check if the view for tabsMode for search-result-tools
230
+ */
231
+ this.tabsMode = false;
118
232
  this.settingsChange$ = new BehaviorSubject(undefined);
119
233
  this.termSplitter = '|';
120
234
  /**
@@ -292,19 +406,17 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
292
406
  } if (rf & 2) {
293
407
  let _t;
294
408
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templateSearchToolbar = _t.first);
295
- } }, inputs: { map: "map", store: "store", showIcons: "showIcons", mode: "mode", withZoomButton: "withZoomButton", term: "term", settingsChange$: "settingsChange$", termSplitter: "termSplitter" }, outputs: { resultFocus: "resultFocus", resultUnfocus: "resultUnfocus", resultSelect: "resultSelect", moreResults: "moreResults", resultMouseenter: "resultMouseenter", resultMouseleave: "resultMouseleave" }, decls: 4, vars: 4, consts: [[3, "navigation"], ["ngFor", "", 3, "ngForOf"], ["groupTemplate", ""], [3, "class", "title", "collapsed", "toggle", 4, "ngIf", "ngIfElse"], ["flatTemplate", ""], ["storeItemTemplate", ""], [3, "title", "collapsed", "toggle"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "moreResults mat-typography", 3, "click", 4, "ngIf"], ["igoListItem", "", "color", "accent", 3, "map", "result", "showIcons", "withZoomButton", "focused", "selected", "focus", "unfocus", "select", "mouseenter", "mouseleave"], ["igoSearchItemToolbar", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "moreResults", "mat-typography", 3, "click"]], template: function SearchResultsComponent_Template(rf, ctx) { if (rf & 1) {
296
- i0.ɵɵelementStart(0, "igo-list", 0);
297
- i0.ɵɵtemplate(1, SearchResultsComponent_ng_template_1_Template, 5, 2, "ng-template", 1, 2, i0.ɵɵtemplateRefExtractor);
298
- i0.ɵɵpipe(3, "async");
299
- i0.ɵɵelementEnd();
409
+ } }, inputs: { map: "map", store: "store", showIcons: "showIcons", mode: "mode", withZoomButton: "withZoomButton", tabsMode: "tabsMode", term: "term", settingsChange$: "settingsChange$", termSplitter: "termSplitter" }, outputs: { resultFocus: "resultFocus", resultUnfocus: "resultUnfocus", resultSelect: "resultSelect", moreResults: "moreResults", resultMouseenter: "resultMouseenter", resultMouseleave: "resultMouseleave" }, decls: 2, vars: 2, consts: [[3, "navigation", 4, "ngIf"], [3, "navigation"], ["ngFor", "", 3, "ngForOf"], ["groupTemplate", ""], [3, "class", "title", "collapsed", "toggle", 4, "ngIf", "ngIfElse"], ["flatTemplate", ""], ["storeItemTemplate", ""], [3, "title", "collapsed", "toggle"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "moreResults mat-typography", 3, "click", 4, "ngIf"], ["igoListItem", "", "color", "accent", 3, "map", "result", "showIcons", "withZoomButton", "focused", "selected", "focus", "unfocus", "select", "mouseenter", "mouseleave"], ["igoSearchItemToolbar", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "moreResults", "mat-typography", 3, "click"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["tabsTemplate", ""], ["dynamicHeight", "", 1, "custom-tabs-view"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"]], template: function SearchResultsComponent_Template(rf, ctx) { if (rf & 1) {
410
+ i0.ɵɵtemplate(0, SearchResultsComponent_igo_list_0_Template, 4, 4, "igo-list", 0);
411
+ i0.ɵɵtemplate(1, SearchResultsComponent_igo_list_1_Template, 8, 4, "igo-list", 0);
300
412
  } if (rf & 2) {
301
- i0.ɵɵproperty("navigation", true);
413
+ i0.ɵɵproperty("ngIf", ctx.tabsMode === false);
302
414
  i0.ɵɵadvance(1);
303
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 2, ctx.results$));
304
- } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.CollapsibleComponent, i4.ListItemDirective, i4.ListComponent, i5.SearchResultsItemComponent, i3.AsyncPipe, i6.TranslatePipe], styles: [".moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list[_ngcontent-%COMP%] mat-list{height:100%}"], changeDetection: 0 });
415
+ i0.ɵɵproperty("ngIf", ctx.tabsMode);
416
+ } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.MatTabGroup, i4.MatTab, i5.CollapsibleComponent, i5.ListItemDirective, i5.ListComponent, i6.SearchResultsItemComponent, i3.AsyncPipe, i7.TranslatePipe], styles: [".moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list[_ngcontent-%COMP%] mat-list{height:100%}igo-list[_ngcontent-%COMP%] mat-list .custom-tabs-view .mat-tab-header-pagination{min-width:20px}"], changeDetection: 0 });
305
417
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
306
418
  type: Component,
307
- args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\n <ng-template\n #groupTemplate\n ngFor let-group\n [ngForOf]=\"results$ | async\">\n\n <igo-collapsible [class]=\"group.source.getId()\"\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\n [title]=\"computeGroupTitle(group)\"\n [collapsed]=\"collapsed[group.source.title]\"\n (toggle)=\"collapsed[group.source.title] = $event\">\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </igo-collapsible>\n\n <ng-template #flatTemplate>\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </ng-template>\n\n <ng-template #storeItemTemplate let-results=\"results\">\n <ng-template ngFor let-result [ngForOf]=\"results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\">\n\n <ng-container igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{result: result}\">\n </ng-container>\n\n </igo-search-results-item>\n </ng-template>\n <span class=\"moreResults mat-typography\" *ngIf=\"isMoreResults(group)\" (click)=\"displayMoreResults(group)\">\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n\n </ng-template>\n\n</igo-list>\n", styles: [".moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list ::ng-deep mat-list{height:100%}\n"] }]
419
+ args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\" *ngIf=\"tabsMode === false\">\r\n <ng-template\r\n #groupTemplate\r\n ngFor let-group\r\n [ngForOf]=\"results$ | async\">\r\n\r\n <igo-collapsible [class]=\"group.source.getId()\"\r\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\r\n [title]=\"computeGroupTitle(group)\"\r\n [collapsed]=\"collapsed[group.source.title]\"\r\n (toggle)=\"collapsed[group.source.title] = $event\">\r\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\r\n </igo-collapsible>\r\n\r\n <ng-template #flatTemplate>\r\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template #storeItemTemplate let-results=\"results\">\r\n <ng-template ngFor let-result [ngForOf]=\"results\">\r\n <igo-search-results-item\r\n igoListItem\r\n color=\"accent\"\r\n [map]=\"map\"\r\n [result]=\"result\"\r\n [showIcons]=\"showIcons\"\r\n [withZoomButton]=\"withZoomButton\"\r\n [focused]=\"store.state.get(result).focused\"\r\n [selected]=\"store.state.get(result).selected\"\r\n (focus)=\"resultFocus.emit(result)\"\r\n (unfocus)=\"resultUnfocus.emit(result)\"\r\n (select)=\"onResultSelect(result)\"\r\n (mouseenter)=\"resultFocus.emit(result)\"\r\n (mouseleave)=\"resultUnfocus.emit(result)\">\r\n\r\n <ng-container igoSearchItemToolbar\r\n [ngTemplateOutlet]=\"templateSearchToolbar\"\r\n [ngTemplateOutletContext]=\"{result: result}\">\r\n </ng-container>\r\n\r\n </igo-search-results-item>\r\n </ng-template>\r\n <span class=\"moreResults mat-typography\" *ngIf=\"isMoreResults(group)\" (click)=\"displayMoreResults(group)\">\r\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\r\n </span>\r\n </ng-template>\r\n\r\n </ng-template>\r\n\r\n</igo-list>\r\n\r\n<igo-list [navigation]=\"true\" *ngIf=\"tabsMode\">\r\n\r\n <ng-container *ngIf=\"mode === searchResultMode.Grouped; then tabsTemplate else flatTemplate\"></ng-container>\r\n\r\n <ng-template #tabsTemplate>\r\n <mat-tab-group class=\"custom-tabs-view\" dynamicHeight>\r\n <mat-tab *ngFor=\"let group of results$ | async\" [label]=\"computeGroupTitle(group)\">\r\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {group: group}\"></ng-container>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </ng-template>\r\n\r\n <ng-template #flatTemplate>\r\n <ng-template ngFor let-group [ngForOf]=\"results$ | async\">\r\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {group: group}\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <ng-template #storeItemTemplate let-group=\"group\">\r\n <ng-template ngFor let-result [ngForOf]=\"group.results\">\r\n <igo-search-results-item\r\n igoListItem\r\n color=\"accent\"\r\n [map]=\"map\"\r\n [result]=\"result\"\r\n [showIcons]=\"showIcons\"\r\n [withZoomButton]=\"withZoomButton\"\r\n [focused]=\"store.state.get(result).focused\"\r\n [selected]=\"store.state.get(result).selected\"\r\n (focus)=\"resultFocus.emit(result)\"\r\n (unfocus)=\"resultUnfocus.emit(result)\"\r\n (select)=\"onResultSelect(result)\"\r\n (mouseenter)=\"resultFocus.emit(result)\"\r\n (mouseleave)=\"resultUnfocus.emit(result)\">\r\n\r\n <ng-container igoSearchItemToolbar\r\n [ngTemplateOutlet]=\"templateSearchToolbar\"\r\n [ngTemplateOutletContext]=\"{result: result}\">\r\n </ng-container>\r\n\r\n </igo-search-results-item>\r\n </ng-template>\r\n <span class=\"moreResults mat-typography\" *ngIf=\"isMoreResults(group)\" (click)=\"displayMoreResults(group)\">\r\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\r\n </span>\r\n </ng-template>\r\n</igo-list>", styles: [".moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list ::ng-deep mat-list{height:100%}igo-list ::ng-deep mat-list .custom-tabs-view .mat-tab-header-pagination{min-width:20px}\n"] }]
308
420
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SearchService }, { type: i2.ConfigService }]; }, { map: [{
309
421
  type: Input
310
422
  }], store: [{
@@ -315,6 +427,8 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
315
427
  type: Input
316
428
  }], withZoomButton: [{
317
429
  type: Input
430
+ }], tabsMode: [{
431
+ type: Input
318
432
  }], term: [{
319
433
  type: Input
320
434
  }], settingsChange$: [{
@@ -337,4 +451,4 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
337
451
  type: ContentChild,
338
452
  args: ['igoSearchItemToolbar', /* TODO: add static flag */ {}]
339
453
  }] }); })();
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWix1QkFBdUIsRUFJeEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFjLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLE9BQU8sRUFBNEIsbUNBQW1DLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7SUNOM0csd0JBQXNHOzs7OztJQUx4RywwQ0FJb0Q7SUFBbEQsb1VBQWlEO0lBQ2pELHlIQUFzRztJQUN4RyxpQkFBa0I7Ozs7O0lBTkQsc0NBQThCO0lBRTdDLDBEQUFrQyxzREFBQTtJQUduQixlQUFxQztJQUFyQyxzQ0FBcUMseUVBQUE7OztJQUlwRCx3QkFBc0c7OztJQUF0RyxxSEFBc0c7Ozs7SUFBdkYsc0NBQXFDLHlFQUFBOzs7OztJQUtsRCxrREFhNEM7SUFKMUMseVJBQVMsZUFBQSxvQ0FBd0IsQ0FBQSxJQUFDLGdSQUN2QixlQUFBLHNDQUEwQixDQUFBLElBREgsOFFBRXhCLGVBQUEsa0NBQXNCLENBQUEsSUFGRSxzUkFHcEIsZUFBQSxvQ0FBd0IsQ0FBQSxJQUhKLHNSQUlwQixlQUFBLHNDQUEw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LElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2lCQUN6RDtnQkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztJQUNULENBQUM7OzRGQTNQVSxzQkFBc0I7eUVBQXRCLHNCQUFzQjs7Ozs7O1FDekNuQyxtQ0FBOEI7UUFDNUIscUhBOENjOztRQUVoQixpQkFBVzs7UUFqREQsaUNBQW1CO1FBSXpCLGVBQTRCO1FBQTVCLDREQUE0Qjs7dUZEcUNuQixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs0SEF1QnRDLEdBQUc7a0JBQVgsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxJQUFJO2tCQUFaLEtBQUs7WUFLRyxjQUFjO2tCQUF0QixLQUFLO1lBTUYsSUFBSTtrQkFEUCxLQUFLO1lBVUcsZUFBZTtrQkFBdkIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFLSSxXQUFXO2tCQUFwQixNQUFNO1lBS0csYUFBYTtrQkFBdEIsTUFBTTtZQUtHLFlBQVk7a0JBQXJCLE1BQU07WUFLRyxXQUFXO2tCQUFwQixNQUFNO1lBUUcsZ0JBQWdCO2tCQUF6QixNQUFNO1lBQ0csZ0JBQWdCO2tCQUF6QixNQUFNO1lBRStELHFCQUFxQjtrQkFBMUYsWUFBWTttQkFBQyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgRU1QVFksIHRpbWVyLCBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgRW50aXR5U3RhdGUsIEVudGl0eVN0b3JlLCBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSwgRW50aXR5U3RvcmVXYXRjaGVyIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwJztcblxuaW1wb3J0IHsgVGV4dFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCwgUmVzZWFyY2ggfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlJztcblxuZXhwb3J0IGVudW0gU2VhcmNoUmVzdWx0TW9kZSB7XG4gIEdyb3VwZWQgPSAnZ3JvdXBlZCcsXG4gIEZsYXQgPSAnZmxhdCdcbn1cblxuLyoqXG4gKiBMaXN0IG9mIHNlYXJjaCByZXN1bHRzIHdpdGggZm9jdXMgYW5kIHNlbGVjdGlvbiBjYXBhYmlsaXRpZXMuXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkdW1iIGFuZCBvbmx5IGVtaXRzIGV2ZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHNob3dSZXN1bHRzQ291bnQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIFNlYXJjaFJlc3VsdE1vZGUgZW51bVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWFyY2hSZXN1bHRNb2RlID0gU2VhcmNoUmVzdWx0TW9kZTtcblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgc3RvcmUgd2F0Y2hlclxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8U2VhcmNoUmVzdWx0PjtcblxuICBwcml2YXRlIHNldHRpbmdzQ2hhbmdlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgcGFnZUl0ZXJhdG9yOiB7c291cmNlSWQ6IHN0cmluZ31bXSA9IFtdO1xuXG4gIHB1YmxpYyBjb2xsYXBzZWQ6IHtzb3VyY2VJZDogc3RyaW5nfVtdID0gW107XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PjtcblxuICAvKipcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBtb2RlXG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiBTZWFyY2hSZXN1bHRNb2RlID0gU2VhcmNoUmVzdWx0TW9kZS5Hcm91cGVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZXJlIHNob3VsZCBiZSBhIHpvb20gYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSB3aXRoWm9vbUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGVybTtcbiAgfVxuICBzZXQgdGVybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGVybSA9IHZhbHVlO1xuICAgIHRoaXMucGFnZUl0ZXJhdG9yID0gW107XG4gIH1cbiAgcHVibGljIF90ZXJtOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2V0dGluZ3NDaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuXG4gIEBJbnB1dCgpIHRlcm1TcGxpdHRlcjogc3RyaW5nID0gJ3wnO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgZm9jdXNlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlc3VsdEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyB1bmZvY3VzZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRVbmZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBzZWxlY3RlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlc3VsdFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQgYWZ0ZXIgZGlzcGxheWluZyBtb3JlIHJlc3VsdHMgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIG1vcmVSZXN1bHRzID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xuICB9PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIGZvY3VzIG9yIHVuZm9jdXMgYnkgbW91c2UgZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG4gIEBPdXRwdXQoKSByZXN1bHRNb3VzZWxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnaWdvU2VhcmNoSXRlbVRvb2xiYXInLCAvKiBUT0RPOiBhZGQgc3RhdGljIGZsYWcgKi8ge30pIHRlbXBsYXRlU2VhcmNoVG9vbGJhcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgcmVzdWx0cyQoKTogT2JzZXJ2YWJsZTx7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdPiB7XG4gICAgaWYgKHRoaXMuX3Jlc3VsdHMkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3Jlc3VsdHMkID0gdGhpcy5saWZ0UmVzdWx0cygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0cyQ7XG4gIH1cbiAgcHJpdmF0ZSBfcmVzdWx0cyQ6IE9ic2VydmFibGU8XG4gICAge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXVxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICAgICAgICAgICAgICApIHt9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhlIHNlYXJjaCByZXN1bHRzIHN0b3JlIHRvIHRoZSB3YXRjaGVyXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcblxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UkJCA9IHRoaXMuc2V0dGluZ3NDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnBhZ2VJdGVyYXRvciA9IFtdO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3NlYXJjaFNvdXJjZXMuc2hvd1Jlc3VsdHNDb3VudCcpID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zaG93UmVzdWx0c0NvdW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGUgc2VhcmNoIHJlc3VsdHMgc3RvcmUgZnJvbSB0aGUgd2F0Y2hlclxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBhIGdyb3VwIHRpdGxlXG4gICAqIEBwYXJhbSBncm91cCBTZWFyY2ggcmVzdWx0cyBncm91cFxuICAgKiBAcmV0dXJucyBHcm91cCB0aXRsZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbXB1dGVHcm91cFRpdGxlKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSBbZ3JvdXAuc291cmNlLnRpdGxlXTtcbiAgICBjb25zdCBjb3VudCA9IGdyb3VwLnJlc3VsdHMubGVuZ3RoO1xuICAgIGlmIChjb3VudCA+IDEgJiYgdGhpcy5zaG93UmVzdWx0c0NvdW50KSB7XG4gICAgICBwYXJ0cy5wdXNoKGAoJHtjb3VudH0pYCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIHJlc3VsdCBpcyBzZWxlY3RlZCwgdXBkYXRlIGl0J3Mgc3RhdGUgaW4gdGhlIHN0b3JlIGFuZCBlbWl0XG4gICAqIGFuIGV2ZW50LiBBIHNlbGVjdGVkIHJlc3VsdCBpcyBhbHNvIGNvbnNpZGVyZWQgZm9jdXNlZFxuICAgKiBAcGFyYW0gcmVzdWx0IFNlYXJjaCByZXN1bHRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblJlc3VsdFNlbGVjdChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIGlmICh0aGlzLnN0b3JlLnN0YXRlLmdldChyZXN1bHQpKSB7XG4gICAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKHJlc3VsdCwge2ZvY3VzZWQ6IHRydWUsIHNlbGVjdGVkOiB0cnVlfSwgdHJ1ZSk7XG4gICAgdGhpcy5yZXN1bHRTZWxlY3QuZW1pdChyZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBvYnNlcnZhYmxlIG9mIHRoZSBzZWFyY2ggcmVzdWx0cywgZ3JvdXBlZCBieSBzZWFyY2ggc291cmNlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgZ3JvdXBlZCBzZWFyY2ggcmVzdWx0c1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gICBwcml2YXRlIGxpZnRSZXN1bHRzKCk6IE9ic2VydmFibGU8e3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlVmlldy5hbGwkKCkucGlwZShcbiAgICAgIGRlYm91bmNlKChyZXN1bHRzOiB7ZW50aXR5OiBTZWFyY2hSZXN1bHQsIHN0YXRlOiBFbnRpdHlTdGF0ZX1bXSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPT09IDAgPyBFTVBUWSA6IHRpbWVyKDIwMCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgocmVzdWx0czoge2VudGl0eTogU2VhcmNoUmVzdWx0LCBzdGF0ZTogRW50aXR5U3RhdGV9W10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBSZXN1bHRzKHJlc3VsdHMubWFwKHIgPT4gci5lbnRpdHkpLnNvcnQodGhpcy5zb3J0QnlPcmRlcikpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cbiAgICogQHBhcmFtIHIxIEZpcnN0IHJlc3VsdFxuICAgKiBAcGFyYW0gcjIgU2Vjb25kIHJlc3VsdFxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0QnlPcmRlcihyMTogU2VhcmNoUmVzdWx0LCByMjogU2VhcmNoUmVzdWx0KSB7XG4gICAgcmV0dXJuIHIxLnNvdXJjZS5kaXNwbGF5T3JkZXIgLSByMi5zb3VyY2UuZGlzcGxheU9yZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIHJlc3VsdHMgYnkgc2VhcmNoIHNvdXJjZVxuICAgKiBAcGFyYW0gcmVzdWx0cyBTZWFyY2ggcmVzdWx0cyBmcm9tIGFsbCBzb3VyY2VzXG4gICAqIEByZXR1cm5zIFNlYXJjaCByZXN1bHRzIGdyb3VwZWQgYnkgc291cmNlXG4gICAqL1xuICBwcml2YXRlIGdyb3VwUmVzdWx0cyhyZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSk6IHtzb3VyY2U6IFNlYXJjaFNvdXJjZTsgcmVzdWx0czogU2VhcmNoUmVzdWx0W119W10ge1xuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPFNlYXJjaFNvdXJjZSwgU2VhcmNoUmVzdWx0W10+KCk7XG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gcmVzdWx0LnNvdXJjZTtcbiAgICAgIGxldCBzb3VyY2VSZXN1bHRzID0gZ3JvdXBlZC5nZXQoc291cmNlKTtcbiAgICAgIGlmIChzb3VyY2VSZXN1bHRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc291cmNlUmVzdWx0cyA9IFtdO1xuICAgICAgICBncm91cGVkLnNldChzb3VyY2UsIHNvdXJjZVJlc3VsdHMpO1xuICAgICAgfVxuICAgICAgc291cmNlUmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShncm91cGVkLmtleXMoKSkubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4ge1xuICAgICAgaWYgKHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9IDE7XG4gICAgICB9XG4gICAgICByZXR1cm4ge3NvdXJjZSwgcmVzdWx0czogZ3JvdXBlZC5nZXQoc291cmNlKX07XG4gICAgfSk7XG4gIH1cblxuICBpc01vcmVSZXN1bHRzKGdyb3VwOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XG4gICAgY29uc3Qgc3RhdGVneSA9IHRoaXMuc3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpO1xuICAgIGNvbnN0IGFjdGl2ZSA9IHN0YXRlZ3k/LmFjdGl2ZSB8fCBmYWxzZTtcbiAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgcmV0dXJuIGdyb3VwLnJlc3VsdHMgJiYgZ3JvdXAucmVzdWx0c1tncm91cC5yZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPT09IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBncm91cC5yZXN1bHRzPy5sZW5ndGggJSArZ3JvdXAuc291cmNlLnBhcmFtcy5saW1pdCA9PT0gMCAmJiArIGdyb3VwLnNvdXJjZS5wYXJhbXMucGFnZSA8IDMwO1xuICAgIH1cblxuICB9XG5cbiAgZGlzcGxheU1vcmVSZXN1bHRzKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge1xuICAgICAgc291cmNlSWQ6IGdyb3VwLnNvdXJjZS5nZXRJZCgpLFxuICAgICAgcGFnZTogKyt0aGlzLnBhZ2VJdGVyYXRvcltncm91cC5zb3VyY2UuZ2V0SWQoKV1cbiAgICB9O1xuXG4gICAgbGV0IHRlcm1zO1xuICAgIGlmICh0aGlzLnRlcm1TcGxpdHRlciAmJiB0aGlzLnRlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcbiAgICAgIHRlcm1zID0gdGhpcy50ZXJtLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVybXMgPSBbdGhpcy50ZXJtXTtcbiAgICB9XG5cbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xuICAgIHRlcm1zLm1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNlYXJjaGVzID0gcmVzZWFyY2hlcy5jb25jYXQodGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXJtLCBvcHRpb25zKSk7XG4gICAgfSk7XG5cbiAgICByZXNlYXJjaGVzLm1hcChyZXNlYXJjaCA9PiB7XG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0cyA9IGdyb3VwLnJlc3VsdHMuY29uY2F0KHJlc3VsdHMpO1xuICAgICAgICBpZiAoIXJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vcmVSZXN1bHRzLmVtaXQoe3Jlc2VhcmNoLCByZXN1bHRzOiBuZXdSZXN1bHRzfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbn1cbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJ0cnVlXCI+XG4gIDxuZy10ZW1wbGF0ZVxuICAgICNncm91cFRlbXBsYXRlXG4gICAgbmdGb3IgbGV0LWdyb3VwXG4gICAgW25nRm9yT2ZdPVwicmVzdWx0cyQgfCBhc3luY1wiPlxuXG4gICAgPGlnby1jb2xsYXBzaWJsZSBbY2xhc3NdPVwiZ3JvdXAuc291cmNlLmdldElkKClcIlxuICAgICAgKm5nSWY9XCJtb2RlID09PSBzZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7IGVsc2UgZmxhdFRlbXBsYXRlXCJcbiAgICAgIFt0aXRsZV09XCJjb21wdXRlR3JvdXBUaXRsZShncm91cClcIlxuICAgICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRbZ3JvdXAuc291cmNlLnRpdGxlXVwiXG4gICAgICAodG9nZ2xlKT1cImNvbGxhcHNlZFtncm91cC5zb3VyY2UudGl0bGVdID0gJGV2ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtyZXN1bHRzOiBncm91cC5yZXN1bHRzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaWdvLWNvbGxhcHNpYmxlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNmbGF0VGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtyZXN1bHRzOiBncm91cC5yZXN1bHRzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1yZXN1bHRzPVwicmVzdWx0c1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZXN1bHQgW25nRm9yT2ZdPVwicmVzdWx0c1wiPlxuICAgICAgICA8aWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW1cbiAgICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgICAgW3Jlc3VsdF09XCJyZXN1bHRcIlxuICAgICAgICAgIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCJcbiAgICAgICAgICBbd2l0aFpvb21CdXR0b25dPVwid2l0aFpvb21CdXR0b25cIlxuICAgICAgICAgIFtmb2N1c2VkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLmZvY3VzZWRcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZFwiXG4gICAgICAgICAgKGZvY3VzKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgICAgKHVuZm9jdXMpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgICAgIChzZWxlY3QpPVwib25SZXN1bHRTZWxlY3QocmVzdWx0KVwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpZ29TZWFyY2hJdGVtVG9vbGJhclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVTZWFyY2hUb29sYmFyXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cmVzdWx0OiByZXN1bHR9XCI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCJpc01vcmVSZXN1bHRzKGdyb3VwKVwiIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCI+XG4gICAgICAgIDx1Pnt7ICdpZ28uZ2VvLnNlYXJjaC5kaXNwbGF5TW9yZVJlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC91PlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9pZ28tbGlzdD5cbiJdfQ==
454
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWix1QkFBdUIsRUFJeEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFjLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLE9BQU8sRUFBNEIsbUNBQW1DLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7O0lDTjNHLHdCQUFzRzs7Ozs7SUFMeEcsMENBSW9EO0lBQWxELGtWQUFpRDtJQUNqRCxvSUFBc0c7SUFDeEcsaUJBQWtCOzs7OztJQU5ELHNDQUE4QjtJQUU3QywwREFBa0Msc0RBQUE7SUFHbkIsZUFBcUM7SUFBckMsc0NBQXFDLHlFQUFBOzs7SUFJcEQsd0JBQXNHOzs7SUFBdEcsZ0lBQXNHOzs7O0lBQXZGLHNDQUFxQyx5RUFBQTs7Ozs7SUFLbEQsbURBYTRDO0lBSjFDLG9TQUFTLGVBQUEsb0NBQXdCLENBQUEsSUFBQywyUkFDdkIsZUFBQSxzQ0FBMEIsQ0FBQSxJQURILHlSQUV4QixlQUFBLGtDQUFzQixDQUFBLElBRkUsaVNBR3BCLGVBQUEsb0NBQXdCLENBQUEsSUFISixpU0FJcEIsZUFBQSxzQ0FB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QU8sQ0FBQyxNQUFNLEVBQUU7b0JBQ25CLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2lCQUN6RDtnQkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztJQUNULENBQUM7OzRGQWhRVSxzQkFBc0I7eUVBQXRCLHNCQUFzQjs7Ozs7O1FDekNuQyxpRkFpRFc7UUFFWCxpRkE4Q1c7O1FBakdvQiw2Q0FBd0I7UUFtRHhCLGVBQWM7UUFBZCxtQ0FBYzs7dUZEVmhDLHNCQUFzQjtjQU5sQyxTQUFTOzJCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzRIQXVCdEMsR0FBRztrQkFBWCxLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLElBQUk7a0JBQVosS0FBSztZQUtHLGNBQWM7a0JBQXRCLEtBQUs7WUFLRyxRQUFRO2tCQUFoQixLQUFLO1lBTUYsSUFBSTtrQkFEUCxLQUFLO1lBVUcsZUFBZTtrQkFBdkIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFLSSxXQUFXO2tCQUFwQixNQUFNO1lBS0csYUFBYTtrQkFBdEIsTUFBTTtZQUtHLFlBQVk7a0JBQXJCLE1BQU07WUFLRyxXQUFXO2tCQUFwQixNQUFNO1lBUUcsZ0JBQWdCO2tCQUF6QixNQUFNO1lBQ0csZ0JBQWdCO2tCQUF6QixNQUFNO1lBRStELHFCQUFxQjtrQkFBMUYsWUFBWTttQkFBQyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBFTVBUWSwgdGltZXIsIEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eVN0YXRlLCBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5cclxuaW1wb3J0IHsgVGV4dFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFJlc2VhcmNoIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlJztcclxuXHJcbmV4cG9ydCBlbnVtIFNlYXJjaFJlc3VsdE1vZGUge1xyXG4gIEdyb3VwZWQgPSAnZ3JvdXBlZCcsXHJcbiAgRmxhdCA9ICdmbGF0J1xyXG59XHJcblxyXG4vKipcclxuICogTGlzdCBvZiBzZWFyY2ggcmVzdWx0cyB3aXRoIGZvY3VzIGFuZCBzZWxlY3Rpb24gY2FwYWJpbGl0aWVzLlxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkdW1iIGFuZCBvbmx5IGVtaXRzIGV2ZW50cy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgc2hvd1Jlc3VsdHNDb3VudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgU2VhcmNoUmVzdWx0TW9kZSBlbnVtXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHVibGljIHNlYXJjaFJlc3VsdE1vZGUgPSBTZWFyY2hSZXN1bHRNb2RlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZSB3YXRjaGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8U2VhcmNoUmVzdWx0PjtcclxuXHJcbiAgcHJpdmF0ZSBzZXR0aW5nc0NoYW5nZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHB1YmxpYyBwYWdlSXRlcmF0b3I6IHtzb3VyY2VJZDogc3RyaW5nfVtdID0gW107XHJcblxyXG4gIHB1YmxpYyBjb2xsYXBzZWQ6IHtzb3VyY2VJZDogc3RyaW5nfVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICAvKipcclxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBtb2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogU2VhcmNoUmVzdWx0TW9kZSA9IFNlYXJjaFJlc3VsdE1vZGUuR3JvdXBlZDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhab29tQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGNoZWNrIGlmIHRoZSB2aWV3IGZvciB0YWJzTW9kZSBmb3Igc2VhcmNoLXJlc3VsdC10b29sc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYnNNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm07XHJcbiAgfVxyXG4gIHNldCB0ZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Rlcm0gPSB2YWx1ZTtcclxuICAgIHRoaXMucGFnZUl0ZXJhdG9yID0gW107XHJcbiAgfVxyXG4gIHB1YmxpYyBfdGVybTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzZXR0aW5nc0NoYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcblxyXG4gIEBJbnB1dCgpIHRlcm1TcGxpdHRlcjogc3RyaW5nID0gJ3wnO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgZm9jdXNlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHRGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgdW5mb2N1c2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdFVuZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQgYWZ0ZXIgZGlzcGxheWluZyBtb3JlIHJlc3VsdHMgaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb3JlUmVzdWx0cyA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xyXG4gICAgcmVzdWx0czogU2VhcmNoUmVzdWx0W107XHJcbiAgfT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnRzIGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBmb2N1cyBvciB1bmZvY3VzIGJ5IG1vdXNlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdE1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcmVzdWx0TW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICBAQ29udGVudENoaWxkKCdpZ29TZWFyY2hJdGVtVG9vbGJhcicsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7fSkgdGVtcGxhdGVTZWFyY2hUb29sYmFyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgcmVzdWx0cyQoKTogT2JzZXJ2YWJsZTx7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdPiB7XHJcbiAgICBpZiAodGhpcy5fcmVzdWx0cyQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLl9yZXN1bHRzJCA9IHRoaXMubGlmdFJlc3VsdHMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9yZXN1bHRzJDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVzdWx0cyQ6IE9ic2VydmFibGU8XHJcbiAgICB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdXHJcbiAgPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgICAgICAgICAgICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmQgdGhlIHNlYXJjaCByZXN1bHRzIHN0b3JlIHRvIHRoZSB3YXRjaGVyXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UkJCA9IHRoaXMuc2V0dGluZ3NDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucGFnZUl0ZXJhdG9yID0gW107XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnc2VhcmNoU291cmNlcy5zaG93UmVzdWx0c0NvdW50JykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuc2hvd1Jlc3VsdHNDb3VudCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoZSBzZWFyY2ggcmVzdWx0cyBzdG9yZSBmcm9tIHRoZSB3YXRjaGVyXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wdXRlIGEgZ3JvdXAgdGl0bGVcclxuICAgKiBAcGFyYW0gZ3JvdXAgU2VhcmNoIHJlc3VsdHMgZ3JvdXBcclxuICAgKiBAcmV0dXJucyBHcm91cCB0aXRsZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVHcm91cFRpdGxlKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IFtncm91cC5zb3VyY2UudGl0bGVdO1xyXG4gICAgY29uc3QgY291bnQgPSBncm91cC5yZXN1bHRzLmxlbmd0aDtcclxuICAgIGlmIChjb3VudCA+IDEgJiYgdGhpcy5zaG93UmVzdWx0c0NvdW50KSB7XHJcbiAgICAgIHBhcnRzLnB1c2goYCgke2NvdW50fSlgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgcmVzdWx0IGlzIHNlbGVjdGVkLCB1cGRhdGUgaXQncyBzdGF0ZSBpbiB0aGUgc3RvcmUgYW5kIGVtaXRcclxuICAgKiBhbiBldmVudC4gQSBzZWxlY3RlZCByZXN1bHQgaXMgYWxzbyBjb25zaWRlcmVkIGZvY3VzZWRcclxuICAgKiBAcGFyYW0gcmVzdWx0IFNlYXJjaCByZXN1bHRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblJlc3VsdFNlbGVjdChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xyXG4gICAgaWYgKHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkpIHtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkuc2VsZWN0ZWQgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlKHJlc3VsdCwge2ZvY3VzZWQ6IHRydWUsIHNlbGVjdGVkOiB0cnVlfSwgdHJ1ZSk7XHJcbiAgICB0aGlzLnJlc3VsdFNlbGVjdC5lbWl0KHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiB0aGUgc2VhcmNoIHJlc3VsdHMsIGdyb3VwZWQgYnkgc2VhcmNoIHNvdXJjZVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgZ3JvdXBlZCBzZWFyY2ggcmVzdWx0c1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gICBwcml2YXRlIGxpZnRSZXN1bHRzKCk6IE9ic2VydmFibGU8e3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGVWaWV3LmFsbCQoKS5waXBlKFxyXG4gICAgICBkZWJvdW5jZSgocmVzdWx0czoge2VudGl0eTogU2VhcmNoUmVzdWx0LCBzdGF0ZTogRW50aXR5U3RhdGV9W10pID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPT09IDAgPyBFTVBUWSA6IHRpbWVyKDIwMCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBtYXAoKHJlc3VsdHM6IHtlbnRpdHk6IFNlYXJjaFJlc3VsdCwgc3RhdGU6IEVudGl0eVN0YXRlfVtdKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBSZXN1bHRzKHJlc3VsdHMubWFwKHIgPT4gci5lbnRpdHkpLnNvcnQodGhpcy5zb3J0QnlPcmRlcikpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cclxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XHJcbiAgICogQHBhcmFtIHIyIFNlY29uZCByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHJldHVybiByMS5zb3VyY2UuZGlzcGxheU9yZGVyIC0gcjIuc291cmNlLmRpc3BsYXlPcmRlcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdyb3VwIHJlc3VsdHMgYnkgc2VhcmNoIHNvdXJjZVxyXG4gICAqIEBwYXJhbSByZXN1bHRzIFNlYXJjaCByZXN1bHRzIGZyb20gYWxsIHNvdXJjZXNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggcmVzdWx0cyBncm91cGVkIGJ5IHNvdXJjZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ3JvdXBSZXN1bHRzKHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKToge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXSB7XHJcbiAgICBjb25zdCBncm91cGVkID0gbmV3IE1hcDxTZWFyY2hTb3VyY2UsIFNlYXJjaFJlc3VsdFtdPigpO1xyXG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkgPT4ge1xyXG4gICAgICBjb25zdCBzb3VyY2UgPSByZXN1bHQuc291cmNlO1xyXG4gICAgICBsZXQgc291cmNlUmVzdWx0cyA9IGdyb3VwZWQuZ2V0KHNvdXJjZSk7XHJcbiAgICAgIGlmIChzb3VyY2VSZXN1bHRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBzb3VyY2VSZXN1bHRzID0gW107XHJcbiAgICAgICAgZ3JvdXBlZC5zZXQoc291cmNlLCBzb3VyY2VSZXN1bHRzKTtcclxuICAgICAgfVxyXG4gICAgICBzb3VyY2VSZXN1bHRzLnB1c2gocmVzdWx0KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBBcnJheS5mcm9tKGdyb3VwZWQua2V5cygpKS5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2VJdGVyYXRvcltzb3VyY2UuZ2V0SWQoKV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtzb3VyY2UsIHJlc3VsdHM6IGdyb3VwZWQuZ2V0KHNvdXJjZSl9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc01vcmVSZXN1bHRzKGdyb3VwOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XHJcbiAgICBjb25zdCBzdGF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSk7XHJcbiAgICBjb25zdCBhY3RpdmUgPSBzdGF0ZWd5Py5hY3RpdmUgfHwgZmFsc2U7XHJcbiAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXAucmVzdWx0cyAmJiBncm91cC5yZXN1bHRzW2dyb3VwLnJlc3VsdHMubGVuZ3RoIC0gMV0ubWV0YS5uZXh0UGFnZSA9PT0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBncm91cC5yZXN1bHRzPy5sZW5ndGggJSArZ3JvdXAuc291cmNlLnBhcmFtcy5saW1pdCA9PT0gMCAmJiArIGdyb3VwLnNvdXJjZS5wYXJhbXMucGFnZSA8IDMwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGRpc3BsYXlNb3JlUmVzdWx0cyhncm91cDoge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX0pIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge1xyXG4gICAgICBzb3VyY2VJZDogZ3JvdXAuc291cmNlLmdldElkKCksXHJcbiAgICAgIHBhZ2U6ICsrdGhpcy5wYWdlSXRlcmF0b3JbZ3JvdXAuc291cmNlLmdldElkKCldXHJcbiAgICB9O1xyXG5cclxuICAgIGxldCB0ZXJtcztcclxuICAgIGlmICh0aGlzLnRlcm1TcGxpdHRlciAmJiB0aGlzLnRlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcclxuICAgICAgdGVybXMgPSB0aGlzLnRlcm0uc3BsaXQodGhpcy50ZXJtU3BsaXR0ZXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGVybXMgPSBbdGhpcy50ZXJtXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xyXG4gICAgdGVybXMubWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmVzZWFyY2hlcyA9IHJlc2VhcmNoZXMuY29uY2F0KHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGVybSwgb3B0aW9ucykpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmVzZWFyY2hlcy5tYXAocmVzZWFyY2ggPT4ge1xyXG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcclxuICAgICAgICBjb25zdCBuZXdSZXN1bHRzID0gZ3JvdXAucmVzdWx0cy5jb25jYXQocmVzdWx0cyk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3JlUmVzdWx0cy5lbWl0KHtyZXNlYXJjaCwgcmVzdWx0czogbmV3UmVzdWx0c30pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwidHJ1ZVwiICpuZ0lmPVwidGFic01vZGUgPT09IGZhbHNlXCI+XHJcbiAgPG5nLXRlbXBsYXRlXHJcbiAgICAjZ3JvdXBUZW1wbGF0ZVxyXG4gICAgbmdGb3IgbGV0LWdyb3VwXHJcbiAgICBbbmdGb3JPZl09XCJyZXN1bHRzJCB8IGFzeW5jXCI+XHJcblxyXG4gICAgPGlnby1jb2xsYXBzaWJsZSBbY2xhc3NdPVwiZ3JvdXAuc291cmNlLmdldElkKClcIlxyXG4gICAgICAqbmdJZj1cIm1vZGUgPT09IHNlYXJjaFJlc3VsdE1vZGUuR3JvdXBlZDsgZWxzZSBmbGF0VGVtcGxhdGVcIlxyXG4gICAgICBbdGl0bGVdPVwiY29tcHV0ZUdyb3VwVGl0bGUoZ3JvdXApXCJcclxuICAgICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRbZ3JvdXAuc291cmNlLnRpdGxlXVwiXHJcbiAgICAgICh0b2dnbGUpPVwiY29sbGFwc2VkW2dyb3VwLnNvdXJjZS50aXRsZV0gPSAkZXZlbnRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7cmVzdWx0czogZ3JvdXAucmVzdWx0c31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvaWdvLWNvbGxhcHNpYmxlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZmxhdFRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtyZXN1bHRzOiBncm91cC5yZXN1bHRzfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1yZXN1bHRzPVwicmVzdWx0c1wiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlc3VsdCBbbmdGb3JPZl09XCJyZXN1bHRzXCI+XHJcbiAgICAgICAgPGlnby1zZWFyY2gtcmVzdWx0cy1pdGVtXHJcbiAgICAgICAgICBpZ29MaXN0SXRlbVxyXG4gICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgICAgW3Jlc3VsdF09XCJyZXN1bHRcIlxyXG4gICAgICAgICAgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIlxyXG4gICAgICAgICAgW3dpdGhab29tQnV0dG9uXT1cIndpdGhab29tQnV0dG9uXCJcclxuICAgICAgICAgIFtmb2N1c2VkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLmZvY3VzZWRcIlxyXG4gICAgICAgICAgW3NlbGVjdGVkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkXCJcclxuICAgICAgICAgIChmb2N1cyk9XCJyZXN1bHRGb2N1cy5lbWl0KHJlc3VsdClcIlxyXG4gICAgICAgICAgKHVuZm9jdXMpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIlxyXG4gICAgICAgICAgKHNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdChyZXN1bHQpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXHJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgaWdvU2VhcmNoSXRlbVRvb2xiYXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVTZWFyY2hUb29sYmFyXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntyZXN1bHQ6IHJlc3VsdH1cIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8L2lnby1zZWFyY2gtcmVzdWx0cy1pdGVtPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCJpc01vcmVSZXN1bHRzKGdyb3VwKVwiIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCI+XHJcbiAgICAgICAgPHU+e3sgJ2lnby5nZW8uc2VhcmNoLmRpc3BsYXlNb3JlUmVzdWx0cycgfCB0cmFuc2xhdGUgfX08L3U+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L2lnby1saXN0PlxyXG5cclxuPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cInRydWVcIiAqbmdJZj1cInRhYnNNb2RlXCI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSBzZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7IHRoZW4gdGFic1RlbXBsYXRlIGVsc2UgZmxhdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjdGFic1RlbXBsYXRlPlxyXG4gICAgPG1hdC10YWItZ3JvdXAgY2xhc3M9XCJjdXN0b20tdGFicy12aWV3XCIgZHluYW1pY0hlaWdodD5cclxuICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHJlc3VsdHMkIHwgYXN5bmNcIiBbbGFiZWxdPVwiY29tcHV0ZUdyb3VwVGl0bGUoZ3JvdXApXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7Z3JvdXA6IGdyb3VwfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC10YWI+XHJcbiAgICA8L21hdC10YWItZ3JvdXA+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNmbGF0VGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWdyb3VwIFtuZ0Zvck9mXT1cInJlc3VsdHMkIHwgYXN5bmNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7Z3JvdXA6IGdyb3VwfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1ncm91cD1cImdyb3VwXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlc3VsdCBbbmdGb3JPZl09XCJncm91cC5yZXN1bHRzXCI+XHJcbiAgICAgIDxpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbVxyXG4gICAgICAgIGlnb0xpc3RJdGVtXHJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgIFttYXBdPVwibWFwXCJcclxuICAgICAgICBbcmVzdWx0XT1cInJlc3VsdFwiXHJcbiAgICAgICAgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIlxyXG4gICAgICAgIFt3aXRoWm9vbUJ1dHRvbl09XCJ3aXRoWm9vbUJ1dHRvblwiXHJcbiAgICAgICAgW2ZvY3VzZWRdPVwic3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkuZm9jdXNlZFwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkXCJcclxuICAgICAgICAoZm9jdXMpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcclxuICAgICAgICAodW5mb2N1cyk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiXHJcbiAgICAgICAgKHNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdChyZXN1bHQpXCJcclxuICAgICAgICAobW91c2VlbnRlcik9XCJyZXN1bHRGb2N1cy5lbWl0KHJlc3VsdClcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInJlc3VsdFVuZm9jdXMuZW1pdChyZXN1bHQpXCI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgaWdvU2VhcmNoSXRlbVRvb2xiYXJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlU2VhcmNoVG9vbGJhclwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie3Jlc3VsdDogcmVzdWx0fVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCJpc01vcmVSZXN1bHRzKGdyb3VwKVwiIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCI+XHJcbiAgICAgIDx1Pnt7ICdpZ28uZ2VvLnNlYXJjaC5kaXNwbGF5TW9yZVJlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC91PlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvaWdvLWxpc3Q+Il19