@igo2/geo 18.0.0-next.9 → 18.0.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/fesm2022/igo2-geo.mjs +23016 -22107
  2. package/fesm2022/igo2-geo.mjs.map +1 -1
  3. package/lib/datasource/shared/capabilities.service.d.ts +7 -2
  4. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  5. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +5 -5
  6. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
  7. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
  8. package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
  9. package/lib/directions/directions-sources/directions-source.d.ts +2 -2
  10. package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
  11. package/lib/directions/directions.component.d.ts +5 -5
  12. package/lib/directions/shared/directions.enum.d.ts +42 -1
  13. package/lib/directions/shared/directions.interface.d.ts +50 -25
  14. package/lib/directions/shared/directions.service.d.ts +46 -8
  15. package/lib/directions/shared/directions.utils.d.ts +102 -23
  16. package/lib/directions/shared/store.d.ts +3 -3
  17. package/lib/download/download-button/download-button.component.d.ts +4 -8
  18. package/lib/download/shared/download.service.d.ts +1 -1
  19. package/lib/draw/draw/draw.component.d.ts +2 -2
  20. package/lib/draw/shared/draw.utils.d.ts +2 -1
  21. package/lib/environment/environment.interface.d.ts +2 -0
  22. package/lib/feature/shared/feature-store.utils.d.ts +1 -1
  23. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  24. package/lib/feature/shared/store.d.ts +1 -1
  25. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  26. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  27. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
  28. package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
  29. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
  30. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
  31. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
  32. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  33. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
  34. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  35. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
  36. package/lib/import-export/export-button/export-button.component.d.ts +3 -7
  37. package/lib/import-export/import-export/import-export.component.d.ts +1 -2
  38. package/lib/import-export/shared/export.service.d.ts +2 -2
  39. package/lib/layer/index.d.ts +9 -4
  40. package/lib/layer/layer-group/index.d.ts +1 -0
  41. package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
  42. package/lib/layer/layer-item/layer-item.component.d.ts +19 -42
  43. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
  44. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
  45. package/lib/layer/layer-list/index.d.ts +0 -2
  46. package/lib/layer/layer-list/layer-list.component.d.ts +51 -128
  47. package/lib/layer/layer-list-tool/index.d.ts +0 -1
  48. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
  49. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
  50. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
  51. package/lib/layer/layer-search/index.d.ts +1 -0
  52. package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
  53. package/lib/layer/layer-unavailable/index.d.ts +2 -0
  54. package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
  55. package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
  56. package/lib/layer/layer-viewer/index.d.ts +2 -0
  57. package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
  58. package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
  59. package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
  60. package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
  61. package/lib/layer/layer-visibility-button/index.d.ts +1 -0
  62. package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
  63. package/lib/layer/layer.module.d.ts +18 -6
  64. package/lib/layer/shared/index.d.ts +1 -0
  65. package/lib/layer/shared/layer-controller.d.ts +81 -0
  66. package/lib/layer/shared/layer-selection.d.ts +14 -0
  67. package/lib/layer/shared/layer.service.d.ts +9 -5
  68. package/lib/layer/shared/layers/any-layer.d.ts +3 -6
  69. package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
  70. package/lib/layer/shared/layers/image-layer.d.ts +5 -2
  71. package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
  72. package/lib/layer/shared/layers/index.d.ts +5 -0
  73. package/lib/layer/shared/layers/layer-base.d.ts +75 -0
  74. package/lib/layer/shared/layers/layer-group.d.ts +32 -0
  75. package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
  76. package/lib/layer/shared/layers/layer.d.ts +27 -45
  77. package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
  78. package/lib/layer/shared/layers/linked/index.d.ts +3 -0
  79. package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
  80. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
  81. package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
  82. package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
  83. package/lib/layer/shared/layers/vector-layer.d.ts +7 -3
  84. package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
  85. package/lib/layer/utils/layer.utils.d.ts +12 -2
  86. package/lib/layer/utils/outputLegend.d.ts +2 -2
  87. package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
  88. package/lib/map/shared/hover-feature.directive.d.ts +0 -1
  89. package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
  90. package/lib/map/shared/map.abstract.d.ts +12 -29
  91. package/lib/map/shared/map.d.ts +10 -85
  92. package/lib/map/shared/map.service.d.ts +1 -1
  93. package/lib/map/shared/map.utils.d.ts +5 -3
  94. package/lib/map/utils/index.d.ts +1 -0
  95. package/lib/map/utils/layer-watcher.d.ts +18 -8
  96. package/lib/measure/measurer/measurer.component.d.ts +0 -8
  97. package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
  98. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  99. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  100. package/lib/offline/offline.provider.d.ts +1 -1
  101. package/lib/query/shared/query.service.d.ts +1 -1
  102. package/lib/query/shared/query.utils.d.ts +2 -1
  103. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  104. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
  105. package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
  106. package/lib/style/style-list/style-list.provider.d.ts +1 -8
  107. package/lib/style/style-list/style-list.service.d.ts +1 -1
  108. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  109. package/locale/en.geo.json +104 -89
  110. package/locale/fr.geo.json +103 -89
  111. package/package.json +15 -17
  112. package/src/geo-theme.scss +1 -1
  113. package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
  114. package/src/lib/directions/directions.theming.scss +2 -0
  115. package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
  116. package/src/lib/layer/layer-item/layer-item.theme.scss +4 -9
  117. package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
  118. package/src/lib/layer/layer-list/layer-list.theme.scss +51 -0
  119. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
  120. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
  121. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
  122. package/src/lib/layer/layer.theming.scss +14 -3
  123. package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
  124. package/src/style/style.scss +1 -1
  125. package/esm2022/igo2-geo.mjs +0 -5
  126. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
  127. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -274
  128. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -243
  129. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
  130. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
  131. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
  132. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
  133. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
  134. package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
  135. package/esm2022/lib/catalog/catalog.module.mjs +0 -26
  136. package/esm2022/lib/catalog/index.mjs +0 -6
  137. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
  138. package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
  139. package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
  140. package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
  141. package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
  142. package/esm2022/lib/catalog/shared/index.mjs +0 -5
  143. package/esm2022/lib/datasource/index.mjs +0 -3
  144. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
  145. package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
  146. package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
  147. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
  148. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
  149. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
  150. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
  151. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
  152. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
  153. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
  154. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
  155. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
  156. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
  157. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -40
  158. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
  159. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
  160. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
  161. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
  162. package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
  163. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
  164. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
  165. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
  166. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
  167. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
  168. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
  169. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
  170. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
  171. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
  172. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
  173. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
  174. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
  175. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
  176. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
  177. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
  178. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
  179. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
  180. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
  181. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
  182. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
  183. package/esm2022/lib/datasource/shared/index.mjs +0 -6
  184. package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
  185. package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
  186. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
  187. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
  188. package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
  189. package/esm2022/lib/datasource/utils/index.mjs +0 -2
  190. package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
  191. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -197
  192. package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
  193. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -218
  194. package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
  195. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -143
  196. package/esm2022/lib/directions/directions-results/index.mjs +0 -2
  197. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
  198. package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
  199. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
  200. package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
  201. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
  202. package/esm2022/lib/directions/directions.component.mjs +0 -413
  203. package/esm2022/lib/directions/directions.module.mjs +0 -46
  204. package/esm2022/lib/directions/directions.provider.mjs +0 -16
  205. package/esm2022/lib/directions/index.mjs +0 -8
  206. package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
  207. package/esm2022/lib/directions/shared/directions.enum.mjs +0 -28
  208. package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
  209. package/esm2022/lib/directions/shared/directions.service.mjs +0 -213
  210. package/esm2022/lib/directions/shared/directions.utils.mjs +0 -559
  211. package/esm2022/lib/directions/shared/index.mjs +0 -6
  212. package/esm2022/lib/directions/shared/store.mjs +0 -21
  213. package/esm2022/lib/download/download-button/download-button.component.mjs +0 -60
  214. package/esm2022/lib/download/download-button/index.mjs +0 -2
  215. package/esm2022/lib/download/download.module.mjs +0 -24
  216. package/esm2022/lib/download/index.mjs +0 -3
  217. package/esm2022/lib/download/shared/download.interface.mjs +0 -2
  218. package/esm2022/lib/download/shared/download.service.mjs +0 -67
  219. package/esm2022/lib/download/shared/index.mjs +0 -3
  220. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
  221. package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
  222. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
  223. package/esm2022/lib/draw/draw/draw.component.mjs +0 -1143
  224. package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
  225. package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
  226. package/esm2022/lib/draw/index.mjs +0 -3
  227. package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
  228. package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
  229. package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
  230. package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
  231. package/esm2022/lib/draw/shared/index.mjs +0 -5
  232. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  233. package/esm2022/lib/environment/index.mjs +0 -2
  234. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
  235. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
  236. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
  237. package/esm2022/lib/feature/feature-details/index.mjs +0 -4
  238. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
  239. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
  240. package/esm2022/lib/feature/feature.module.mjs +0 -26
  241. package/esm2022/lib/feature/index.mjs +0 -5
  242. package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -27
  243. package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
  244. package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
  245. package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
  246. package/esm2022/lib/feature/shared/index.mjs +0 -8
  247. package/esm2022/lib/feature/shared/store.mjs +0 -143
  248. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
  249. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -116
  250. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
  251. package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
  252. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
  253. package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
  254. package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
  255. package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -384
  256. package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
  257. package/esm2022/lib/filter/filter.module.mjs +0 -131
  258. package/esm2022/lib/filter/index.mjs +0 -17
  259. package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
  260. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
  261. package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
  262. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
  263. package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
  264. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
  265. package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
  266. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
  267. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
  268. package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
  269. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
  270. package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
  271. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
  272. package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
  273. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -37
  274. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
  275. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -56
  276. package/esm2022/lib/filter/shared/index.mjs +0 -12
  277. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
  278. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
  279. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
  280. package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
  281. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
  282. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
  283. package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
  284. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
  285. package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
  286. package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
  287. package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
  288. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
  289. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
  290. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
  291. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -197
  292. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
  293. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -126
  294. package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
  295. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
  296. package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
  297. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -534
  298. package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
  299. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
  300. package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
  301. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -37
  302. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -35
  303. package/esm2022/lib/geo.module.mjs +0 -63
  304. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
  305. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
  306. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
  307. package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
  308. package/esm2022/lib/geometry/geometry.module.mjs +0 -18
  309. package/esm2022/lib/geometry/index.mjs +0 -3
  310. package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
  311. package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
  312. package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
  313. package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
  314. package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
  315. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
  316. package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
  317. package/esm2022/lib/geometry/shared/index.mjs +0 -5
  318. package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -62
  319. package/esm2022/lib/import-export/export-button/index.mjs +0 -2
  320. package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -865
  321. package/esm2022/lib/import-export/import-export/index.mjs +0 -2
  322. package/esm2022/lib/import-export/import-export.module.mjs +0 -31
  323. package/esm2022/lib/import-export/index.mjs +0 -5
  324. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
  325. package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
  326. package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
  327. package/esm2022/lib/import-export/shared/export.service.mjs +0 -375
  328. package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
  329. package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
  330. package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
  331. package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
  332. package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
  333. package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
  334. package/esm2022/lib/import-export/shared/index.mjs +0 -11
  335. package/esm2022/lib/layer/index.mjs +0 -11
  336. package/esm2022/lib/layer/layer-item/index.mjs +0 -2
  337. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -281
  338. package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
  339. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -290
  340. package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
  341. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
  342. package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
  343. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -55
  344. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -111
  345. package/esm2022/lib/layer/layer-list/index.mjs +0 -4
  346. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
  347. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -841
  348. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  349. package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -5
  350. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -125
  351. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  352. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -2
  353. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -21
  354. package/esm2022/lib/layer/layer.module.mjs +0 -89
  355. package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
  356. package/esm2022/lib/layer/shared/index.mjs +0 -5
  357. package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
  358. package/esm2022/lib/layer/shared/layer.service.mjs +0 -300
  359. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
  360. package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
  361. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
  362. package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -70
  363. package/esm2022/lib/layer/shared/layers/index.mjs +0 -13
  364. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -17
  365. package/esm2022/lib/layer/shared/layers/layer.mjs +0 -187
  366. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
  367. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
  368. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -50
  369. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
  370. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -570
  371. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
  372. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -107
  373. package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
  374. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
  375. package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
  376. package/esm2022/lib/layer/utils/index.mjs +0 -6
  377. package/esm2022/lib/layer/utils/layer.utils.mjs +0 -11
  378. package/esm2022/lib/layer/utils/outputLegend.mjs +0 -28
  379. package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
  380. package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
  381. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
  382. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
  383. package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
  384. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -120
  385. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
  386. package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
  387. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
  388. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
  389. package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
  390. package/esm2022/lib/map/index.mjs +0 -14
  391. package/esm2022/lib/map/info-section/index.mjs +0 -2
  392. package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
  393. package/esm2022/lib/map/map-browser/index.mjs +0 -2
  394. package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
  395. package/esm2022/lib/map/map-center/index.mjs +0 -2
  396. package/esm2022/lib/map/map-center/map-center.component.mjs +0 -57
  397. package/esm2022/lib/map/map.module.mjs +0 -89
  398. package/esm2022/lib/map/menu-button/index.mjs +0 -2
  399. package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
  400. package/esm2022/lib/map/offline-button/index.mjs +0 -2
  401. package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
  402. package/esm2022/lib/map/rotation-button/index.mjs +0 -2
  403. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
  404. package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
  405. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
  406. package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
  407. package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
  408. package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
  409. package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -489
  410. package/esm2022/lib/map/shared/index.mjs +0 -15
  411. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -248
  412. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
  413. package/esm2022/lib/map/shared/map.abstract.mjs +0 -23
  414. package/esm2022/lib/map/shared/map.enums.mjs +0 -6
  415. package/esm2022/lib/map/shared/map.interface.mjs +0 -2
  416. package/esm2022/lib/map/shared/map.mjs +0 -437
  417. package/esm2022/lib/map/shared/map.service.mjs +0 -29
  418. package/esm2022/lib/map/shared/map.utils.mjs +0 -455
  419. package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -110
  420. package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
  421. package/esm2022/lib/map/shared/projection.service.mjs +0 -67
  422. package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
  423. package/esm2022/lib/map/swipe-control/index.mjs +0 -2
  424. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -213
  425. package/esm2022/lib/map/utils/layer-watcher.mjs +0 -80
  426. package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
  427. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
  428. package/esm2022/lib/map/zoom-button/index.mjs +0 -2
  429. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
  430. package/esm2022/lib/measure/index.mjs +0 -3
  431. package/esm2022/lib/measure/measure.module.mjs +0 -20
  432. package/esm2022/lib/measure/measurer/index.mjs +0 -6
  433. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
  434. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
  435. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
  436. package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -966
  437. package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
  438. package/esm2022/lib/measure/shared/index.mjs +0 -4
  439. package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
  440. package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
  441. package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
  442. package/esm2022/lib/metadata/index.mjs +0 -4
  443. package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
  444. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -108
  445. package/esm2022/lib/metadata/metadata.module.mjs +0 -29
  446. package/esm2022/lib/metadata/shared/index.mjs +0 -3
  447. package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
  448. package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
  449. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
  450. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
  451. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
  452. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
  453. package/esm2022/lib/offline/geoDB/index.mjs +0 -5
  454. package/esm2022/lib/offline/index.mjs +0 -6
  455. package/esm2022/lib/offline/layerDB/index.mjs +0 -3
  456. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
  457. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
  458. package/esm2022/lib/offline/offline.interface.mjs +0 -2
  459. package/esm2022/lib/offline/offline.provider.mjs +0 -51
  460. package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
  461. package/esm2022/lib/offline/shared/index.mjs +0 -2
  462. package/esm2022/lib/overlay/index.mjs +0 -2
  463. package/esm2022/lib/overlay/shared/index.mjs +0 -4
  464. package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
  465. package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
  466. package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
  467. package/esm2022/lib/print/index.mjs +0 -4
  468. package/esm2022/lib/print/print/print.component.mjs +0 -116
  469. package/esm2022/lib/print/print-form/index.mjs +0 -2
  470. package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
  471. package/esm2022/lib/print/print.module.mjs +0 -20
  472. package/esm2022/lib/print/shared/geopdf.mjs +0 -68
  473. package/esm2022/lib/print/shared/index.mjs +0 -5
  474. package/esm2022/lib/print/shared/print.interface.mjs +0 -2
  475. package/esm2022/lib/print/shared/print.service.mjs +0 -1136
  476. package/esm2022/lib/print/shared/print.type.mjs +0 -30
  477. package/esm2022/lib/query/index.mjs +0 -2
  478. package/esm2022/lib/query/query.module.mjs +0 -27
  479. package/esm2022/lib/query/shared/index.mjs +0 -8
  480. package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
  481. package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
  482. package/esm2022/lib/query/shared/query.directive.mjs +0 -286
  483. package/esm2022/lib/query/shared/query.enums.mjs +0 -32
  484. package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
  485. package/esm2022/lib/query/shared/query.service.mjs +0 -753
  486. package/esm2022/lib/query/shared/query.utils.mjs +0 -41
  487. package/esm2022/lib/search/index.mjs +0 -10
  488. package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
  489. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  490. package/esm2022/lib/search/search-results/index.mjs +0 -5
  491. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
  492. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -427
  493. package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
  494. package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
  495. package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
  496. package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
  497. package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
  498. package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
  499. package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
  500. package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
  501. package/esm2022/lib/search/search.module.mjs +0 -77
  502. package/esm2022/lib/search/shared/index.mjs +0 -10
  503. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -337
  504. package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
  505. package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
  506. package/esm2022/lib/search/shared/search.enums.mjs +0 -4
  507. package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
  508. package/esm2022/lib/search/shared/search.provider.mjs +0 -20
  509. package/esm2022/lib/search/shared/search.service.mjs +0 -149
  510. package/esm2022/lib/search/shared/search.utils.mjs +0 -92
  511. package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
  512. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
  513. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
  514. package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
  515. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
  516. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
  517. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
  518. package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
  519. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
  520. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
  521. package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
  522. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
  523. package/esm2022/lib/search/shared/sources/index.mjs +0 -23
  524. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
  525. package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
  526. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
  527. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
  528. package/esm2022/lib/search/shared/sources/source.mjs +0 -221
  529. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
  530. package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
  531. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
  532. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
  533. package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
  534. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
  535. package/esm2022/lib/style/index.mjs +0 -5
  536. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
  537. package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
  538. package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
  539. package/esm2022/lib/style/shared/feature/index.mjs +0 -2
  540. package/esm2022/lib/style/shared/font.enum.mjs +0 -17
  541. package/esm2022/lib/style/shared/index.mjs +0 -5
  542. package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
  543. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
  544. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
  545. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
  546. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
  547. package/esm2022/lib/style/shared/vector/index.mjs +0 -4
  548. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
  549. package/esm2022/lib/style/style-list/index.mjs +0 -5
  550. package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
  551. package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
  552. package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
  553. package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
  554. package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
  555. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
  556. package/esm2022/lib/style/style-modal/index.mjs +0 -5
  557. package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
  558. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
  559. package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
  560. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
  561. package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
  562. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
  563. package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
  564. package/esm2022/lib/style/style-service/index.mjs +0 -3
  565. package/esm2022/lib/style/style-service/style.service.mjs +0 -393
  566. package/esm2022/lib/style/style.module.mjs +0 -46
  567. package/esm2022/lib/toast/index.mjs +0 -2
  568. package/esm2022/lib/toast/toast.component.mjs +0 -99
  569. package/esm2022/lib/toast/toast.module.mjs +0 -24
  570. package/esm2022/lib/utils/googleLinks.mjs +0 -13
  571. package/esm2022/lib/utils/id-generator.mjs +0 -112
  572. package/esm2022/lib/utils/index.mjs +0 -5
  573. package/esm2022/lib/utils/osmLinks.mjs +0 -9
  574. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
  575. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
  576. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
  577. package/esm2022/lib/wkt/index.mjs +0 -2
  578. package/esm2022/lib/wkt/shared/index.mjs +0 -2
  579. package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
  580. package/esm2022/lib/wkt/wkt.module.mjs +0 -25
  581. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
  582. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
  583. package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
  584. package/esm2022/lib/workspace/index.mjs +0 -8
  585. package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -299
  586. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -718
  587. package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
  588. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
  589. package/esm2022/lib/workspace/shared/index.mjs +0 -8
  590. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
  591. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -106
  592. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -230
  593. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -185
  594. package/esm2022/lib/workspace/widgets/index.mjs +0 -4
  595. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
  596. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
  597. package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
  598. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -168
  599. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
  600. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -136
  601. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
  602. package/esm2022/lib/workspace/workspace.module.mjs +0 -32
  603. package/esm2022/public_api.mjs +0 -56
  604. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
  605. package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
  606. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
  607. package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
@@ -1,427 +0,0 @@
1
- import { AsyncPipe, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { MatBadgeModule } from '@angular/material/badge';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatDialog } from '@angular/material/dialog';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { IgoBadgeIconDirective } from '@igo2/common/badge';
9
- import { EntityStore } from '@igo2/common/entity';
10
- import { StopPropagationDirective } from '@igo2/common/stop-propagation';
11
- import { IgoLanguageModule } from '@igo2/core/language';
12
- import { Media, MediaService } from '@igo2/core/media';
13
- import Circle from 'ol/style/Circle';
14
- import Fill from 'ol/style/Fill';
15
- import Stroke from 'ol/style/Stroke';
16
- import Style from 'ol/style/Style';
17
- import { BehaviorSubject, take } from 'rxjs';
18
- import { DataSourceService } from '../../datasource/shared/datasource.service';
19
- import { FeatureMotion, FeatureStore, FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer } from '../../feature';
20
- import { LAYER } from '../../layer/shared/layer.enums';
21
- import { LayerService } from '../../layer/shared/layer.service';
22
- import { VectorLayer } from '../../layer/shared/layers/vector-layer';
23
- import { IgoMap } from '../../map/shared/map';
24
- import { getTooltipsOfOlGeometry } from '../../measure';
25
- import { SaveFeatureDialogComponent } from './save-feature-dialog.component';
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "../../layer/shared/layer.service";
28
- import * as i2 from "@angular/material/dialog";
29
- import * as i3 from "../../datasource/shared/datasource.service";
30
- import * as i4 from "@igo2/core/media";
31
- import * as i5 from "@angular/material/button";
32
- import * as i6 from "@angular/material/tooltip";
33
- import * as i7 from "@angular/material/icon";
34
- import * as i8 from "@angular/material/badge";
35
- import * as i9 from "@ngx-translate/core";
36
- export class SearchResultAddButtonComponent {
37
- layerService;
38
- dialog;
39
- dataSourceService;
40
- mediaService;
41
- tooltip$ = new BehaviorSubject('igo.geo.catalog.layer.addToMap');
42
- addFeatureToLayerTooltip$ = new BehaviorSubject('igo.geo.search.addToLayer');
43
- resolution$$;
44
- layers$$;
45
- inRange$ = new BehaviorSubject(true);
46
- isVisible$ = new BehaviorSubject(false);
47
- isPreview$ = new BehaviorSubject(false);
48
- layersSubcriptions = [];
49
- lastTimeoutRequest;
50
- mouseInsideAdd = false;
51
- layer;
52
- store;
53
- /**
54
- * Whether the layer is already added to the map
55
- */
56
- added;
57
- /**
58
- * The map to add the search result layer to
59
- */
60
- map;
61
- /**
62
- * show hide save search result in layer button
63
- */
64
- saveSearchResultInLayer = false;
65
- get color() {
66
- return this._color;
67
- }
68
- set color(value) {
69
- this._color = value;
70
- }
71
- _color = 'primary';
72
- stores = [];
73
- get allLayers() {
74
- return this.map.layers.filter((layer) => String(layer.id).includes('igo-search-layer'));
75
- }
76
- mediaService$$;
77
- isMobile = false;
78
- constructor(layerService, dialog, dataSourceService, mediaService) {
79
- this.layerService = layerService;
80
- this.dialog = dialog;
81
- this.dataSourceService = dataSourceService;
82
- this.mediaService = mediaService;
83
- }
84
- /**
85
- * @internal
86
- */
87
- ngOnInit() {
88
- // check the view if is mobile or not
89
- this.mediaService$$ = this.mediaService.media$.subscribe((media) => {
90
- if (media === Media.Mobile) {
91
- this.isMobile = true;
92
- }
93
- });
94
- if (this.layer.meta.dataType === 'Layer') {
95
- this.added =
96
- this.map.layers.findIndex((lay) => lay.id === this.layer.data.sourceOptions.id) !== -1;
97
- }
98
- this.layers$$ = this.map.layers$.subscribe(() => {
99
- this.isVisible();
100
- });
101
- this.resolution$$ = this.map.viewController.resolution$.subscribe((value) => {
102
- this.isInResolutionsRange(value);
103
- this.isVisible();
104
- });
105
- }
106
- ngOnDestroy() {
107
- this.resolution$$.unsubscribe();
108
- this.layers$$.unsubscribe();
109
- if (this.mediaService$$) {
110
- this.mediaService$$.unsubscribe();
111
- }
112
- }
113
- /**
114
- * On mouse event, mouseenter /mouseleave
115
- * @internal
116
- */
117
- onMouseEvent(event) {
118
- this.onToggleClick(event);
119
- }
120
- /**
121
- * On toggle button click, emit the added change event
122
- * @internal
123
- */
124
- onToggleClick(currEvent) {
125
- if (typeof this.lastTimeoutRequest !== 'undefined') {
126
- clearTimeout(this.lastTimeoutRequest);
127
- }
128
- const event = currEvent ? currEvent : {};
129
- if (event.type === 'mouseenter' && this.mouseInsideAdd) {
130
- return;
131
- }
132
- switch (event.type) {
133
- case 'click':
134
- if (!this.isPreview$.value) {
135
- if (this.added) {
136
- this.remove();
137
- }
138
- else {
139
- this.add(event);
140
- }
141
- }
142
- this.isPreview$.next(false);
143
- break;
144
- case 'mouseenter':
145
- if (!this.isPreview$.value && !this.added) {
146
- this.lastTimeoutRequest = setTimeout(() => {
147
- this.add(event);
148
- this.isPreview$.next(true);
149
- }, 500);
150
- }
151
- this.mouseInsideAdd = true;
152
- break;
153
- case 'mouseleave':
154
- if (this.isPreview$.value) {
155
- this.remove();
156
- this.isPreview$.next(false);
157
- }
158
- this.mouseInsideAdd = false;
159
- break;
160
- default:
161
- break;
162
- }
163
- }
164
- add(event) {
165
- if (!this.added) {
166
- this.added = true;
167
- this.addLayerToMap(event);
168
- }
169
- }
170
- remove() {
171
- if (this.added) {
172
- this.added = false;
173
- this.removeLayerFromMap();
174
- this.layersSubcriptions.map((s) => s.unsubscribe());
175
- this.layersSubcriptions = [];
176
- }
177
- }
178
- /**
179
- * Emit added change event with added = true
180
- */
181
- addLayerToMap(event) {
182
- if (this.map === undefined) {
183
- return;
184
- }
185
- if (this.layer.meta.dataType !== LAYER) {
186
- return undefined;
187
- }
188
- const layerOptions = this.layer.data;
189
- if (layerOptions.sourceOptions.optionsFromApi === undefined) {
190
- layerOptions.sourceOptions.optionsFromApi = true;
191
- }
192
- this.layersSubcriptions.push(this.layerService.createAsyncLayer(layerOptions).subscribe((layer) => {
193
- if (event.type === 'click') {
194
- this.map.layersAddedByClick$.next([layer]);
195
- }
196
- this.map.addLayer(layer);
197
- }));
198
- }
199
- /**
200
- * Emit added change event with added = false
201
- */
202
- removeLayerFromMap() {
203
- if (this.map === undefined) {
204
- return;
205
- }
206
- if (this.layer.meta.dataType !== LAYER) {
207
- return undefined;
208
- }
209
- const oLayer = this.map.getLayerById(this.layer.data.sourceOptions.id);
210
- this.map.removeLayer(oLayer);
211
- }
212
- isInResolutionsRange(resolution) {
213
- const minResolution = this.layer.data.minResolution || 0;
214
- const maxResolution = this.layer.data.maxResolution || Infinity;
215
- this.inRange$.next(resolution >= minResolution && resolution <= maxResolution);
216
- }
217
- isVisible() {
218
- if (this.layer?.data?.sourceOptions?.id) {
219
- const oLayer = this.map.getLayerById(this.layer.data.sourceOptions.id);
220
- this.isVisible$.next(oLayer?.visible ?? false);
221
- }
222
- }
223
- getBadgeIcon() {
224
- if (this.inRange$.value) {
225
- return this.isVisible$.value ? '' : 'visibility_off';
226
- }
227
- else {
228
- return 'visibility_off';
229
- }
230
- }
231
- computeTooltip() {
232
- if (this.added) {
233
- if (this.isPreview$.value) {
234
- return 'igo.geo.catalog.layer.addToMap';
235
- }
236
- else if (this.inRange$.value) {
237
- return this.isVisible$.value
238
- ? 'igo.geo.catalog.layer.removeFromMap'
239
- : 'igo.geo.catalog.layer.removeFromMapNotVisible';
240
- }
241
- else {
242
- return 'igo.geo.catalog.layer.removeFromMapOutRange';
243
- }
244
- }
245
- else {
246
- return this.inRange$.value
247
- ? 'igo.geo.catalog.layer.addToMap'
248
- : 'igo.geo.catalog.layer.addToMapOutRange';
249
- }
250
- }
251
- addFeatureToLayer() {
252
- if (this.layer.meta.dataType !== 'Feature') {
253
- return;
254
- }
255
- const selectedFeature = this.layer;
256
- const dialogRef = this.dialog.open(SaveFeatureDialogComponent, {
257
- width: '700px',
258
- data: {
259
- feature: selectedFeature,
260
- layers: this.allLayers
261
- }
262
- });
263
- dialogRef
264
- .afterClosed()
265
- .subscribe((data) => {
266
- if (data) {
267
- if (this.stores.length > 0) {
268
- this.stores.map((store) => {
269
- store.state.updateAll({ selected: false });
270
- if (store?.layer) {
271
- store.layer.visible = false;
272
- }
273
- return store;
274
- });
275
- }
276
- // check if is new layer
277
- if (typeof data.layer === 'string') {
278
- this.createLayer(data.layer, data.feature);
279
- }
280
- else {
281
- const activeStore = this.stores.find((store) => store.layer.id === data.layer.id);
282
- activeStore.layer.visible = true;
283
- activeStore.layer.opacity = 1;
284
- this.addFeature(data.feature, activeStore);
285
- }
286
- }
287
- });
288
- }
289
- createLayer(layerTitle, selectedFeature) {
290
- const activeStore = new FeatureStore([], {
291
- map: this.map
292
- });
293
- const styles = [
294
- new Style({
295
- image: new Circle({
296
- radius: 5,
297
- stroke: new Stroke({
298
- width: 1,
299
- color: 'rgba(143,7,7,1)'
300
- }),
301
- fill: new Fill({
302
- color: 'rgba(143,7,7,1)'
303
- })
304
- })
305
- }),
306
- new Style({
307
- stroke: new Stroke({
308
- width: 1,
309
- color: 'rgba(143,7,7,1)'
310
- }),
311
- fill: new Fill({
312
- color: 'rgba(0, 0, 255, 0.1)'
313
- })
314
- })
315
- ];
316
- // set layer id
317
- let layerCounterID = 0;
318
- for (const layer of this.allLayers) {
319
- const numberId = Number(layer.id.replace('igo-search-layer', ''));
320
- layerCounterID = Math.max(numberId, layerCounterID);
321
- }
322
- this.dataSourceService
323
- .createAsyncDataSource({
324
- type: 'vector',
325
- queryable: true
326
- })
327
- .pipe(take(1))
328
- .subscribe((dataSource) => {
329
- const searchLayer = new VectorLayer({
330
- isIgoInternalLayer: true,
331
- id: 'igo-search-layer' + ++layerCounterID,
332
- title: layerTitle,
333
- source: dataSource,
334
- igoStyle: {
335
- editable: false,
336
- igoStyleObject: {
337
- fill: { color: 'rgba(255,255,255,0.4)' },
338
- stroke: { color: 'rgba(143,7,7,1)', width: 1 },
339
- circle: {
340
- fill: { color: 'rgba(255,255,255,0.4)' },
341
- stroke: { color: 'rgba(143,7,7,1)', width: 1 },
342
- radius: 5
343
- }
344
- }
345
- },
346
- style: styles,
347
- showInLayerList: true,
348
- exportable: true,
349
- workspace: {
350
- enabled: true
351
- }
352
- });
353
- tryBindStoreLayer(activeStore, searchLayer);
354
- tryAddLoadingStrategy(activeStore, new FeatureStoreLoadingStrategy({
355
- motion: FeatureMotion.None
356
- }));
357
- tryAddSelectionStrategy(activeStore, new FeatureStoreSelectionStrategy({
358
- map: this.map,
359
- motion: FeatureMotion.None,
360
- many: true
361
- }));
362
- activeStore.layer.visible = true;
363
- activeStore.source.ol.on('removefeature', (event) => {
364
- const olGeometry = event.feature.getGeometry();
365
- this.clearLabelsOfOlGeometry(olGeometry);
366
- });
367
- this.addFeature(selectedFeature, activeStore);
368
- this.stores.push(activeStore);
369
- });
370
- }
371
- addFeature(feature, activeStore) {
372
- const newFeature = {
373
- type: feature.data.type,
374
- geometry: {
375
- coordinates: feature.data.geometry.coordinates,
376
- type: feature.data.geometry.type
377
- },
378
- projection: feature.data.projection,
379
- properties: feature.data.properties,
380
- meta: {
381
- id: feature.meta.id
382
- }
383
- };
384
- delete newFeature.properties.Route;
385
- activeStore.update(newFeature);
386
- activeStore.setLayerExtent();
387
- activeStore.layer.ol.getSource().refresh();
388
- }
389
- clearLabelsOfOlGeometry(olGeometry) {
390
- getTooltipsOfOlGeometry(olGeometry).forEach((olTooltip) => {
391
- if (olTooltip && olTooltip.getMap()) {
392
- this.map.ol.removeOverlay(olTooltip);
393
- }
394
- });
395
- }
396
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchResultAddButtonComponent, deps: [{ token: i1.LayerService }, { token: i2.MatDialog }, { token: i3.DataSourceService }, { token: i4.MediaService }], target: i0.ɵɵFactoryTarget.Component });
397
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchResultAddButtonComponent, isStandalone: true, selector: "igo-search-add-button", inputs: { layer: "layer", store: "store", added: "added", map: "map", saveSearchResultInLayer: "saveSearchResultInLayer", color: "color", stores: "stores" }, ngImport: i0, template: "<button\n igoStopPropagation\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n *ngIf=\"layer.meta.dataType === 'Layer'\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n>\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >{{ (isPreview$ | async) ? 'add' : added ? 'delete' : 'add' }}\n </mat-icon>\n</button>\n\n<button\n [id]=\"!isMobile ? 'hide-save-search-result-btn' : ''\"\n igoStopPropagation\n *ngIf=\"layer.meta.dataType === 'Feature' && saveSearchResultInLayer\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"addFeatureToLayerTooltip$ | async | translate\"\n (click)=\"addFeatureToLayer()\"\n>\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n igoMatBadgeIcon=\"visibility_off\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"inRange$ | async\"\n [matBadgeDisabled]=\"true\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >add_to_photos\n </mat-icon>\n</button>\n", styles: [":host #hide-save-search-result-btn{display:none}:host #show-save-search-result-btn{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: StopPropagationDirective, selector: "[igoStopPropagation]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
398
- }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchResultAddButtonComponent, decorators: [{
400
- type: Component,
401
- args: [{ selector: 'igo-search-add-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
402
- NgIf,
403
- MatButtonModule,
404
- StopPropagationDirective,
405
- MatTooltipModule,
406
- MatIconModule,
407
- MatBadgeModule,
408
- IgoBadgeIconDirective,
409
- AsyncPipe,
410
- IgoLanguageModule
411
- ], template: "<button\n igoStopPropagation\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n *ngIf=\"layer.meta.dataType === 'Layer'\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n>\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >{{ (isPreview$ | async) ? 'add' : added ? 'delete' : 'add' }}\n </mat-icon>\n</button>\n\n<button\n [id]=\"!isMobile ? 'hide-save-search-result-btn' : ''\"\n igoStopPropagation\n *ngIf=\"layer.meta.dataType === 'Feature' && saveSearchResultInLayer\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"addFeatureToLayerTooltip$ | async | translate\"\n (click)=\"addFeatureToLayer()\"\n>\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n igoMatBadgeIcon=\"visibility_off\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"inRange$ | async\"\n [matBadgeDisabled]=\"true\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >add_to_photos\n </mat-icon>\n</button>\n", styles: [":host #hide-save-search-result-btn{display:none}:host #show-save-search-result-btn{display:block}\n"] }]
412
- }], ctorParameters: () => [{ type: i1.LayerService }, { type: i2.MatDialog }, { type: i3.DataSourceService }, { type: i4.MediaService }], propDecorators: { layer: [{
413
- type: Input
414
- }], store: [{
415
- type: Input
416
- }], added: [{
417
- type: Input
418
- }], map: [{
419
- type: Input
420
- }], saveSearchResultInLayer: [{
421
- type: Input
422
- }], color: [{
423
- type: Input
424
- }], stores: [{
425
- type: Input
426
- }] } });
427
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJdkQsT0FBTyxNQUFNLE1B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QUUsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F4YVUsOEJBQThCOzRGQUE5Qiw4QkFBOEIsK09DckUzQyxpcURBcURBLDZKREtJLElBQUksNEZBQ0osZUFBZSw0SUFDZix3QkFBd0IsZ0VBQ3hCLGdCQUFnQiw0VEFDaEIsYUFBYSxtTEFDYixjQUFjLDRQQUNkLHFCQUFxQixvT0FDckIsU0FBUyw2Q0FDVCxpQkFBaUI7OzRGQUdSLDhCQUE4QjtrQkFsQjFDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLFNBQVM7d0JBQ1QsaUJBQWlCO3FCQUNsQjtvS0EwQlEsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUtHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFHRixLQUFLO3NCQURSLEtBQUs7Z0JBU0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0JhZGdlSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9iYWRnZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL3N0b3AtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lZGlhLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lZGlhJztcblxuaW1wb3J0IE9sT3ZlcmxheSBmcm9tICdvbC9PdmVybGF5JztcbmltcG9ydCB7IFZlY3RvclNvdXJjZUV2ZW50IGFzIE9sVmVjdG9yU291cmNlRXZlbnQgfSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCBDaXJjbGUgZnJvbSAnb2wvc3R5bGUvQ2lyY2xlJztcbmltcG9ydCBGaWxsIGZyb20gJ29sL3N0eWxlL0ZpbGwnO1xuaW1wb3J0IFN0cm9rZSBmcm9tICdvbC9zdHlsZS9TdHJva2UnO1xuaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQge1xuICBGZWF0dXJlLFxuICBGZWF0dXJlTW90aW9uLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneSxcbiAgdHJ5QWRkU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIHRyeUJpbmRTdG9yZUxheWVyXG59IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xuaW1wb3J0IHsgTEFZRVIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuZW51bXMnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBnZXRUb29sdGlwc09mT2xHZW9tZXRyeSB9IGZyb20gJy4uLy4uL21lYXN1cmUnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNhdmVGZWF0dXJlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zYXZlLWZlYXR1cmUtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtYWRkLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgSWdvQmFkZ2VJY29uRGlyZWN0aXZlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHRvb2x0aXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFxuICAgICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXG4gICk7XG5cbiAgcHVibGljIGFkZEZlYXR1cmVUb0xheWVyVG9vbHRpcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oXG4gICAgJ2lnby5nZW8uc2VhcmNoLmFkZFRvTGF5ZXInXG4gICk7XG5cbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBpblJhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHVibGljIGlzVmlzaWJsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgaXNQcmV2aWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgbGF5ZXJzU3ViY3JpcHRpb25zID0gW107XG5cbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxheWVyOiBTZWFyY2hSZXN1bHQ7XG5cbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxuICAgKi9cbiAgQElucHV0KCkgYWRkZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtYXAgdG8gYWRkIHRoZSBzZWFyY2ggcmVzdWx0IGxheWVyIHRvXG4gICAqL1xuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogc2hvdyBoaWRlIHNhdmUgc2VhcmNoIHJlc3VsdCBpbiBsYXllciBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHNhdmVTZWFyY2hSZXN1bHRJbkxheWVyID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KCkgc3RvcmVzOiBGZWF0dXJlU3RvcmU8RmVhdHVyZT5bXSA9IFtdO1xuXG4gIGdldCBhbGxMYXllcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwLmxheWVycy5maWx0ZXIoKGxheWVyKSA9PlxuICAgICAgU3RyaW5nKGxheWVyLmlkKS5pbmNsdWRlcygnaWdvLXNlYXJjaC1sYXllcicpXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIG1lZGlhU2VydmljZSQkOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBpc01vYmlsZSA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gY2hlY2sgdGhlIHZpZXcgaWYgaXMgbW9iaWxlIG9yIG5vdFxuICAgIHRoaXMubWVkaWFTZXJ2aWNlJCQgPSB0aGlzLm1lZGlhU2VydmljZS5tZWRpYSQuc3Vic2NyaWJlKChtZWRpYTogTWVkaWEpID0+IHtcbiAgICAgIGlmIChtZWRpYSA9PT0gTWVkaWEuTW9iaWxlKSB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdMYXllcicpIHtcbiAgICAgIHRoaXMuYWRkZWQgPVxuICAgICAgICB0aGlzLm1hcC5sYXllcnMuZmluZEluZGV4KFxuICAgICAgICAgIChsYXkpID0+IGxheS5pZCA9PT0gdGhpcy5sYXllci5kYXRhLnNvdXJjZU9wdGlvbnMuaWRcbiAgICAgICAgKSAhPT0gLTE7XG4gICAgfVxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgIH0pO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQuc3Vic2NyaWJlKFxuICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGF5ZXJzJCQudW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UkJCkge1xuICAgICAgdGhpcy5tZWRpYVNlcnZpY2UkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uTW91c2VFdmVudChldmVudCkge1xuICAgIHRoaXMub25Ub2dnbGVDbGljayhldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogT24gdG9nZ2xlIGJ1dHRvbiBjbGljaywgZW1pdCB0aGUgYWRkZWQgY2hhbmdlIGV2ZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25Ub2dnbGVDbGljayhjdXJyRXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgfVxuICAgIGNvbnN0IGV2ZW50ID0gY3VyckV2ZW50ID8gY3VyckV2ZW50IDogKHt9IGFzIEV2ZW50KTtcblxuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicgJiYgdGhpcy5tb3VzZUluc2lkZUFkZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcbiAgICAgICAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW91c2VlbnRlcic6XG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlICYmICF0aGlzLmFkZGVkKSB7XG4gICAgICAgICAgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWRkKGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW91c2VsZWF2ZSc6XG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmFkZGVkKSB7XG4gICAgICB0aGlzLmFkZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWRkTGF5ZXJUb01hcChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoKSB7XG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKCk7XG4gICAgICB0aGlzLmxheWVyc1N1YmNyaXB0aW9ucy5tYXAoKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICB0aGlzLmxheWVyc1N1YmNyaXB0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGRMYXllclRvTWFwKGV2ZW50PzogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09IExBWUVSKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9ICh0aGlzLmxheWVyIGFzIFNlYXJjaFJlc3VsdDxMYXllck9wdGlvbnM+KS5kYXRhO1xuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKGxheWVyT3B0aW9ucykuc3Vic2NyaWJlKChsYXllcikgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgIHRoaXMubWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChbbGF5ZXJdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hcC5hZGRMYXllcihsYXllcik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUxheWVyRnJvbU1hcCgpIHtcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09IExBWUVSKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyLmRhdGEuc291cmNlT3B0aW9ucy5pZCk7XG4gICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcbiAgfVxuXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSB0aGlzLmxheWVyLmRhdGEubWluUmVzb2x1dGlvbiB8fCAwO1xuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPSB0aGlzLmxheWVyLmRhdGEubWF4UmVzb2x1dGlvbiB8fCBJbmZpbml0eTtcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXG4gICAgKTtcbiAgfVxuXG4gIGlzVmlzaWJsZSgpIHtcbiAgICBpZiAodGhpcy5sYXllcj8uZGF0YT8uc291cmNlT3B0aW9ucz8uaWQpIHtcbiAgICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyLmRhdGEuc291cmNlT3B0aW9ucy5pZCk7XG5cbiAgICAgIHRoaXMuaXNWaXNpYmxlJC5uZXh0KG9MYXllcj8udmlzaWJsZSA/PyBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QmFkZ2VJY29uKCkge1xuICAgIGlmICh0aGlzLmluUmFuZ2UkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlID8gJycgOiAndmlzaWJpbGl0eV9vZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3Zpc2liaWxpdHlfb2ZmJztcbiAgICB9XG4gIH1cblxuICBjb21wdXRlVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pblJhbmdlJC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXG4gICAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXAnXG4gICAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBOb3RWaXNpYmxlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBPdXRSYW5nZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmluUmFuZ2UkLnZhbHVlXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwT3V0UmFuZ2UnO1xuICAgIH1cbiAgfVxuXG4gIGFkZEZlYXR1cmVUb0xheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09ICdGZWF0dXJlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkRmVhdHVyZSA9IHRoaXMubGF5ZXI7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihTYXZlRmVhdHVyZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc3MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZlYXR1cmU6IHNlbGVjdGVkRmVhdHVyZSxcbiAgICAgICAgbGF5ZXJzOiB0aGlzLmFsbExheWVyc1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogeyBsYXllcjogc3RyaW5nIHwgYW55OyBmZWF0dXJlOiBTZWFyY2hSZXN1bHQgfSkgPT4ge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIGlmICh0aGlzLnN0b3Jlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3Jlcy5tYXAoKHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgIHN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IHNlbGVjdGVkOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgaWYgKHN0b3JlPy5sYXllcikge1xuICAgICAgICAgICAgICAgIHN0b3JlLmxheWVyLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gc3RvcmU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gY2hlY2sgaWYgaXMgbmV3IGxheWVyXG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhLmxheWVyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVMYXllcihkYXRhLmxheWVyLCBkYXRhLmZlYXR1cmUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVTdG9yZSA9IHRoaXMuc3RvcmVzLmZpbmQoXG4gICAgICAgICAgICAgIChzdG9yZSkgPT4gc3RvcmUubGF5ZXIuaWQgPT09IGRhdGEubGF5ZXIuaWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhY3RpdmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGFjdGl2ZVN0b3JlLmxheWVyLm9wYWNpdHkgPSAxO1xuICAgICAgICAgICAgdGhpcy5hZGRGZWF0dXJlKGRhdGEuZmVhdHVyZSwgYWN0aXZlU3RvcmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjcmVhdGVMYXllcihsYXllclRpdGxlOiBzdHJpbmcsIHNlbGVjdGVkRmVhdHVyZTogU2VhcmNoUmVzdWx0KSB7XG4gICAgY29uc3QgYWN0aXZlU3RvcmU6IEZlYXR1cmVTdG9yZTxGZWF0dXJlPiA9IG5ldyBGZWF0dXJlU3RvcmU8RmVhdHVyZT4oW10sIHtcbiAgICAgIG1hcDogdGhpcy5tYXBcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0eWxlcyA9IFtcbiAgICAgIG5ldyBTdHlsZSh7XG4gICAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgICByYWRpdXM6IDUsXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgICAgIHdpZHRoOiAxLFxuICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDE0Myw3LDcsMSknXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDE0Myw3LDcsMSknXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgbmV3IFN0eWxlKHtcbiAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMTQzLDcsNywxKSdcbiAgICAgICAgfSksXG4gICAgICAgIGZpbGw6IG5ldyBGaWxsKHtcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwgMCwgMjU1LCAwLjEpJ1xuICAgICAgICB9KVxuICAgICAgfSlcbiAgICBdO1xuXG4gICAgLy8gc2V0IGxheWVyIGlkXG4gICAgbGV0IGxheWVyQ291bnRlcklEID0gMDtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMuYWxsTGF5ZXJzKSB7XG4gICAgICBjb25zdCBudW1iZXJJZCA9IE51bWJlcihsYXllci5pZC5yZXBsYWNlKCdpZ28tc2VhcmNoLWxheWVyJywgJycpKTtcbiAgICAgIGxheWVyQ291bnRlcklEID0gTWF0aC5tYXgobnVtYmVySWQsIGxheWVyQ291bnRlcklEKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXN5bmNEYXRhU291cmNlKHtcbiAgICAgICAgdHlwZTogJ3ZlY3RvcicsXG4gICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxuICAgICAgfSBhcyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBGZWF0dXJlRGF0YVNvdXJjZSkgPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2hMYXllcjogVmVjdG9yTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcbiAgICAgICAgICBpZDogJ2lnby1zZWFyY2gtbGF5ZXInICsgKytsYXllckNvdW50ZXJJRCxcbiAgICAgICAgICB0aXRsZTogbGF5ZXJUaXRsZSxcbiAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXG4gICAgICAgICAgaWdvU3R5bGU6IHtcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGlnb1N0eWxlT2JqZWN0OiB7XG4gICAgICAgICAgICAgIGZpbGw6IHsgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknIH0sXG4gICAgICAgICAgICAgIHN0cm9rZTogeyBjb2xvcjogJ3JnYmEoMTQzLDcsNywxKScsIHdpZHRoOiAxIH0sXG4gICAgICAgICAgICAgIGNpcmNsZToge1xuICAgICAgICAgICAgICAgIGZpbGw6IHsgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknIH0sXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB7IGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJywgd2lkdGg6IDEgfSxcbiAgICAgICAgICAgICAgICByYWRpdXM6IDVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3R5bGU6IHN0eWxlcyxcbiAgICAgICAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXG4gICAgICAgICAgZXhwb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICB3b3Jrc3BhY2U6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeUJpbmRTdG9yZUxheWVyKGFjdGl2ZVN0b3JlLCBzZWFyY2hMYXllcik7XG4gICAgICAgIHRyeUFkZExvYWRpbmdTdHJhdGVneShcbiAgICAgICAgICBhY3RpdmVTdG9yZSxcbiAgICAgICAgICBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcbiAgICAgICAgICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbi5Ob25lXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneShcbiAgICAgICAgICBhY3RpdmVTdG9yZSxcbiAgICAgICAgICBuZXcgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3koe1xuICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcbiAgICAgICAgICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbi5Ob25lLFxuICAgICAgICAgICAgbWFueTogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgYWN0aXZlU3RvcmUubGF5ZXIudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIGFjdGl2ZVN0b3JlLnNvdXJjZS5vbC5vbihcbiAgICAgICAgICAncmVtb3ZlZmVhdHVyZScsXG4gICAgICAgICAgKGV2ZW50OiBPbFZlY3RvclNvdXJjZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvbEdlb21ldHJ5ID0gZXZlbnQuZmVhdHVyZS5nZXRHZW9tZXRyeSgpO1xuICAgICAgICAgICAgdGhpcy5jbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hZGRGZWF0dXJlKHNlbGVjdGVkRmVhdHVyZSwgYWN0aXZlU3RvcmUpO1xuICAgICAgICB0aGlzLnN0b3Jlcy5wdXNoKGFjdGl2ZVN0b3JlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYWRkRmVhdHVyZShmZWF0dXJlOiBTZWFyY2hSZXN1bHQsIGFjdGl2ZVN0b3JlOiBGZWF0dXJlU3RvcmU8RmVhdHVyZT4pIHtcbiAgICBjb25zdCBuZXdGZWF0dXJlID0ge1xuICAgICAgdHlwZTogZmVhdHVyZS5kYXRhLnR5cGUsXG4gICAgICBnZW9tZXRyeToge1xuICAgICAgICBjb29yZGluYXRlczogZmVhdHVyZS5kYXRhLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgICB0eXBlOiBmZWF0dXJlLmRhdGEuZ2VvbWV0cnkudHlwZVxuICAgICAgfSxcbiAgICAgIHByb2plY3Rpb246IGZlYXR1cmUuZGF0YS5wcm9qZWN0aW9uLFxuICAgICAgcHJvcGVydGllczogZmVhdHVyZS5kYXRhLnByb3BlcnRpZXMsXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGlkOiBmZWF0dXJlLm1ldGEuaWRcbiAgICAgIH1cbiAgICB9O1xuICAgIGRlbGV0ZSBuZXdGZWF0dXJlLnByb3BlcnRpZXMuUm91dGU7XG4gICAgYWN0aXZlU3RvcmUudXBkYXRlKG5ld0ZlYXR1cmUpO1xuICAgIGFjdGl2ZVN0b3JlLnNldExheWVyRXh0ZW50KCk7XG4gICAgYWN0aXZlU3RvcmUubGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KSB7XG4gICAgZ2V0VG9vbHRpcHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSkuZm9yRWFjaChcbiAgICAgIChvbFRvb2x0aXA6IE9sT3ZlcmxheSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICBpZiAob2xUb29sdGlwICYmIG9sVG9vbHRpcC5nZXRNYXAoKSkge1xuICAgICAgICAgIHRoaXMubWFwLm9sLnJlbW92ZU92ZXJsYXkob2xUb29sdGlwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgaWdvU3RvcFByb3BhZ2F0aW9uXG4gIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxuICAqbmdJZj1cImxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdMYXllcidcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cImNvbXB1dGVUb29sdGlwKCkgfCB0cmFuc2xhdGVcIlxuICBbY29sb3JdPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAnJyA6IGFkZGVkID8gJ3dhcm4nIDogJydcIlxuICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uXG4gICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgbWF0QmFkZ2U9XCJpY29uXCJcbiAgICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcbiAgICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXG4gICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcbiAgICBbaWdvTWF0QmFkZ2VJbnZlcnNlQ29sb3JdPVwidHJ1ZVwiXG4gICAgW21hdEJhZGdlSGlkZGVuXT1cIlxuICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNWaXNpYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSkgfHxcbiAgICAgICgoaW5SYW5nZSQgfCBhc3luYykgJiYgIWFkZGVkKSB8fFxuICAgICAgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNQcmV2aWV3JCB8IGFzeW5jKSlcbiAgICBcIlxuICAgIFttYXRCYWRnZURpc2FibGVkXT1cIihpblJhbmdlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgID57eyAoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdhZGQnIDogYWRkZWQgPyAnZGVsZXRlJyA6ICdhZGQnIH19XG4gIDwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPGJ1dHRvblxuICBbaWRdPVwiIWlzTW9iaWxlID8gJ2hpZGUtc2F2ZS1zZWFyY2gtcmVzdWx0LWJ0bicgOiAnJ1wiXG4gIGlnb1N0b3BQcm9wYWdhdGlvblxuICAqbmdJZj1cImxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdGZWF0dXJlJyAmJiBzYXZlU2VhcmNoUmVzdWx0SW5MYXllclwiXG4gIG1hdC1pY29uLWJ1dHRvblxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiYWRkRmVhdHVyZVRvTGF5ZXJUb29sdGlwJCB8IGFzeW5jIHwgdHJhbnNsYXRlXCJcbiAgKGNsaWNrKT1cImFkZEZlYXR1cmVUb0xheWVyKClcIlxuPlxuICA8bWF0LWljb25cbiAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICBtYXRCYWRnZT1cImljb25cIlxuICAgIGlnb01hdEJhZGdlSWNvbj1cInZpc2liaWxpdHlfb2ZmXCJcbiAgICBbaWdvTWF0QmFkZ2VJbnZlcnNlQ29sb3JdPVwidHJ1ZVwiXG4gICAgW21hdEJhZGdlSGlkZGVuXT1cImluUmFuZ2UkIHwgYXN5bmNcIlxuICAgIFttYXRCYWRnZURpc2FibGVkXT1cInRydWVcIlxuICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgID5hZGRfdG9fcGhvdG9zXG4gIDwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,119 +0,0 @@
1
- import { NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatListModule } from '@angular/material/list';
6
- import { MatTooltipModule } from '@angular/material/tooltip';
7
- import { getEntityIcon, getEntityTitle, getEntityTitleHtml } from '@igo2/common/entity';
8
- import { StopPropagationDirective } from '@igo2/common/stop-propagation';
9
- import olFormatGeoJSON from 'ol/format/GeoJSON';
10
- import { FeatureMotion, moveToOlFeatures } from '../../feature';
11
- import { IgoMap } from '../../map/shared/map';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/material/list";
14
- import * as i2 from "@angular/material/icon";
15
- import * as i3 from "@angular/material/tooltip";
16
- import * as i4 from "@angular/material/button";
17
- /**
18
- * Search results list item
19
- */
20
- export class SearchResultsItemComponent {
21
- /**
22
- * Search result item
23
- */
24
- result;
25
- map;
26
- /**
27
- * Search result title
28
- * @internal
29
- */
30
- /**
31
- * to show hide results icons
32
- */
33
- showIcons;
34
- /**
35
- * Whether there should be a zoom button
36
- */
37
- withZoomButton = false;
38
- zoomEvent = new EventEmitter();
39
- format = new olFormatGeoJSON();
40
- get title() {
41
- return getEntityTitle(this.result);
42
- }
43
- /**
44
- * Search result HTML title
45
- * @internal
46
- */
47
- get titleHtml() {
48
- return getEntityTitleHtml(this.result);
49
- }
50
- /**
51
- * Search result tooltip
52
- * @internal
53
- */
54
- get tooltipHtml() {
55
- return this.titleHtml
56
- .replace(/<small?[^>]+(>|$)/g, '\n')
57
- .replace(/<\/?[^>]+(>|$)/g, '');
58
- }
59
- /**
60
- * Search result icon
61
- * @internal
62
- */
63
- get icon() {
64
- return getEntityIcon(this.result);
65
- }
66
- onZoomHandler() {
67
- const olFeature = this.format.readFeature(this.result.data, {
68
- dataProjection: this.result.data.projection,
69
- featureProjection: this.map.projection
70
- });
71
- moveToOlFeatures(this.map.viewController, [olFeature], FeatureMotion.Default);
72
- }
73
- /**
74
- * On mouse event, mouseenter /mouseleave
75
- * @internal
76
- */
77
- onMouseEvent(event) {
78
- const element = event.target;
79
- const type = event.type;
80
- switch (type) {
81
- case 'mouseenter': {
82
- const hideBtn = element.querySelector('#hide-save-search-result-btn');
83
- hideBtn?.setAttribute('id', 'show-save-search-result-btn');
84
- break;
85
- }
86
- case 'mouseleave': {
87
- const showBtn = element.querySelector('#show-save-search-result-btn');
88
- showBtn?.setAttribute('id', 'hide-save-search-result-btn');
89
- break;
90
- }
91
- default:
92
- break;
93
- }
94
- }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchResultsItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchResultsItemComponent, isStandalone: true, selector: "igo-search-results-item", inputs: { result: "result", map: "map", showIcons: "showIcons", withZoomButton: "withZoomButton" }, outputs: { zoomEvent: "zoomEvent" }, ngImport: i0, template: "<mat-list-item\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n>\n <mat-icon *ngIf=\"icon\" matListItemIcon>{{\n showIcons ? icon : 'blank'\n }}</mat-icon>\n\n <div\n matListItemTitle\n *ngIf=\"titleHtml; else normalTitle\"\n [innerHtml]=\"titleHtml\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"tooltipHtml\"\n matTooltipClass=\"search-result-tooltip\"\n ></div>\n <ng-template #normalTitle>\n <span\n matListItemTitle\n *ngIf=\"!titleHtml\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n >{{ title }}</span\n >\n </ng-template>\n\n <div matListItemMeta>\n <button\n *ngIf=\"withZoomButton\"\n igoStopPropagation\n mat-icon-button\n (click)=\"onZoomHandler()\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <ng-content select=\"[igoSearchItemToolbar]\"> </ng-content>\n </div>\n</mat-list-item>\n", styles: [":host ::ng-deep small{color:#8c8c8c}:host div[matlistitemmeta]:empty{display:none}:host ::ng-deep .search-result-tooltip{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: StopPropagationDirective, selector: "[igoStopPropagation]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchResultsItemComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
101
- MatListModule,
102
- NgIf,
103
- MatIconModule,
104
- MatTooltipModule,
105
- MatButtonModule,
106
- StopPropagationDirective
107
- ], template: "<mat-list-item\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n>\n <mat-icon *ngIf=\"icon\" matListItemIcon>{{\n showIcons ? icon : 'blank'\n }}</mat-icon>\n\n <div\n matListItemTitle\n *ngIf=\"titleHtml; else normalTitle\"\n [innerHtml]=\"titleHtml\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"tooltipHtml\"\n matTooltipClass=\"search-result-tooltip\"\n ></div>\n <ng-template #normalTitle>\n <span\n matListItemTitle\n *ngIf=\"!titleHtml\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n >{{ title }}</span\n >\n </ng-template>\n\n <div matListItemMeta>\n <button\n *ngIf=\"withZoomButton\"\n igoStopPropagation\n mat-icon-button\n (click)=\"onZoomHandler()\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <ng-content select=\"[igoSearchItemToolbar]\"> </ng-content>\n </div>\n</mat-list-item>\n", styles: [":host ::ng-deep small{color:#8c8c8c}:host div[matlistitemmeta]:empty{display:none}:host ::ng-deep .search-result-tooltip{white-space:pre-line}\n"] }]
108
- }], propDecorators: { result: [{
109
- type: Input
110
- }], map: [{
111
- type: Input
112
- }], showIcons: [{
113
- type: Input
114
- }], withZoomButton: [{
115
- type: Input
116
- }], zoomEvent: [{
117
- type: Output
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ25CLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUc5Qzs7R0FFRztBQWdCSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDOztPQUVHO0lBQ00sTUFB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L2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQge1xuICBnZXRFbnRpdHlJY29uLFxuICBnZXRFbnRpdHlUaXRsZSxcbiAgZ2V0RW50aXR5VGl0bGVIdG1sXG59IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL3N0b3AtcHJvcGFnYXRpb24nO1xuXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcblxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiwgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTZWFyY2ggcmVzdWx0cyBsaXN0IGl0ZW1cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRzSXRlbUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IGl0ZW1cbiAgICovXG4gIEBJbnB1dCgpIHJlc3VsdDogU2VhcmNoUmVzdWx0O1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IHRpdGxlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cblxuICAvKipcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgd2l0aFpvb21CdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgem9vbUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLnJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdCBIVE1MIHRpdGxlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlSHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZUh0bWwodGhpcy5yZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHQgdG9vbHRpcFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCB0b29sdGlwSHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlSHRtbFxuICAgICAgLnJlcGxhY2UoLzxzbWFsbD9bXj5dKyg+fCQpL2csICdcXG4nKVxuICAgICAgLnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdCBpY29uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5SWNvbih0aGlzLnJlc3VsdCk7XG4gIH1cblxuICBvblpvb21IYW5kbGVyKCkge1xuICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMucmVzdWx0LmRhdGEsIHtcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLnJlc3VsdC5kYXRhLnByb2plY3Rpb24sXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxuICAgIH0pO1xuICAgIG1vdmVUb09sRmVhdHVyZXMoXG4gICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlcixcbiAgICAgIFtvbEZlYXR1cmVdLFxuICAgICAgRmVhdHVyZU1vdGlvbi5EZWZhdWx0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uTW91c2VFdmVudChldmVudCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQ7XG4gICAgY29uc3QgdHlwZSA9IGV2ZW50LnR5cGU7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdtb3VzZWVudGVyJzoge1xuICAgICAgICBjb25zdCBoaWRlQnRuID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjaGlkZS1zYXZlLXNlYXJjaC1yZXN1bHQtYnRuJyk7XG4gICAgICAgIGhpZGVCdG4/LnNldEF0dHJpYnV0ZSgnaWQnLCAnc2hvdy1zYXZlLXNlYXJjaC1yZXN1bHQtYnRuJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnbW91c2VsZWF2ZSc6IHtcbiAgICAgICAgY29uc3Qgc2hvd0J0biA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignI3Nob3ctc2F2ZS1zZWFyY2gtcmVzdWx0LWJ0bicpO1xuICAgICAgICBzaG93QnRuPy5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2hpZGUtc2F2ZS1zZWFyY2gtcmVzdWx0LWJ0bicpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1saXN0LWl0ZW1cbiAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxuICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4+XG4gIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIiBtYXRMaXN0SXRlbUljb24+e3tcbiAgICBzaG93SWNvbnMgPyBpY29uIDogJ2JsYW5rJ1xuICB9fTwvbWF0LWljb24+XG5cbiAgPGRpdlxuICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAqbmdJZj1cInRpdGxlSHRtbDsgZWxzZSBub3JtYWxUaXRsZVwiXG4gICAgW2lubmVySHRtbF09XCJ0aXRsZUh0bWxcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBIdG1sXCJcbiAgICBtYXRUb29sdGlwQ2xhc3M9XCJzZWFyY2gtcmVzdWx0LXRvb2x0aXBcIlxuICA+PC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9ybWFsVGl0bGU+XG4gICAgPHNwYW5cbiAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICpuZ0lmPVwiIXRpdGxlSHRtbFwiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRpdGxlXCJcbiAgICAgID57eyB0aXRsZSB9fTwvc3BhblxuICAgID5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIndpdGhab29tQnV0dG9uXCJcbiAgICAgIGlnb1N0b3BQcm9wYWdhdGlvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwib25ab29tSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpZ29TZWFyY2hJdGVtVG9vbGJhcl1cIj4gPC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==