@igo2/geo 1.14.2 → 1.14.3

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 (871) hide show
  1. package/esm2020/igo2-geo.mjs +4 -4
  2. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +300 -300
  3. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +305 -305
  4. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -246
  5. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
  6. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
  7. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
  8. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
  9. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
  10. package/esm2020/lib/catalog/catalog.module.mjs +52 -52
  11. package/esm2020/lib/catalog/index.mjs +4 -4
  12. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
  13. package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
  14. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
  16. package/esm2020/lib/catalog/shared/index.mjs +4 -4
  17. package/esm2020/lib/datasource/datasource.module.mjs +21 -21
  18. package/esm2020/lib/datasource/index.mjs +2 -2
  19. package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
  20. package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
  21. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
  25. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
  27. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
  29. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
  30. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
  32. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
  34. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
  36. package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
  57. package/esm2020/lib/datasource/shared/index.mjs +4 -4
  58. package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
  59. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
  61. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
  62. package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
  63. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
  64. package/esm2020/lib/datasource/utils/index.mjs +2 -2
  65. package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
  66. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
  67. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  68. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
  69. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  70. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
  71. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  73. package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
  74. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
  75. package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
  76. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
  77. package/esm2020/lib/directions/directions.component.mjs +310 -310
  78. package/esm2020/lib/directions/directions.module.mjs +101 -101
  79. package/esm2020/lib/directions/index.mjs +6 -6
  80. package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
  81. package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
  82. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  83. package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
  84. package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
  85. package/esm2020/lib/directions/shared/index.mjs +5 -5
  86. package/esm2020/lib/directions/shared/store.mjs +23 -23
  87. package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
  88. package/esm2020/lib/download/download-button/index.mjs +1 -1
  89. package/esm2020/lib/download/download.module.mjs +41 -41
  90. package/esm2020/lib/download/index.mjs +2 -2
  91. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  92. package/esm2020/lib/download/shared/download.service.mjs +64 -64
  93. package/esm2020/lib/download/shared/index.mjs +2 -2
  94. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
  95. package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
  96. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
  97. package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
  98. package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
  99. package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
  100. package/esm2020/lib/draw/index.mjs +2 -2
  101. package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
  102. package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
  103. package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
  104. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
  106. package/esm2020/lib/draw/shared/index.mjs +5 -5
  107. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
  108. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
  109. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
  110. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
  111. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
  112. package/esm2020/lib/feature/feature.module.mjs +27 -27
  113. package/esm2020/lib/feature/index.mjs +3 -3
  114. package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
  115. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  116. package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
  117. package/esm2020/lib/feature/shared/index.mjs +6 -6
  118. package/esm2020/lib/feature/shared/store.mjs +123 -123
  119. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
  120. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
  121. package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
  122. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
  123. package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
  124. package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
  125. package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
  126. package/esm2020/lib/filter/filter.module.mjs +288 -288
  127. package/esm2020/lib/filter/index.mjs +15 -15
  128. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  129. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
  130. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
  132. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  133. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
  134. package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
  135. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
  136. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
  137. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
  139. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  140. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
  141. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
  143. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
  144. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
  145. package/esm2020/lib/filter/shared/index.mjs +11 -11
  146. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
  147. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
  148. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
  150. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
  151. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
  152. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  153. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
  154. package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
  155. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
  157. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  158. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
  159. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
  163. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  164. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
  165. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  166. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
  167. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  168. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
  169. package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
  170. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
  171. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
  172. package/esm2020/lib/geo.module.mjs +101 -101
  173. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
  174. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
  175. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
  176. package/esm2020/lib/geometry/geometry.module.mjs +26 -26
  177. package/esm2020/lib/geometry/index.mjs +3 -3
  178. package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
  179. package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
  180. package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
  181. package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
  182. package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
  183. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
  185. package/esm2020/lib/geometry/shared/index.mjs +4 -4
  186. package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
  187. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  188. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
  189. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  190. package/esm2020/lib/import-export/import-export.module.mjs +95 -95
  191. package/esm2020/lib/import-export/index.mjs +4 -4
  192. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
  193. package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
  194. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/export.service.mjs +194 -194
  196. package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
  197. package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
  198. package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
  199. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
  201. package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
  202. package/esm2020/lib/import-export/shared/index.mjs +10 -10
  203. package/esm2020/lib/import-export/style-list/index.mjs +4 -4
  204. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  205. package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
  206. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
  207. package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
  208. package/esm2020/lib/layer/index.mjs +10 -10
  209. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  210. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
  211. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  212. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
  213. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  214. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
  215. package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
  216. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
  217. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
  218. package/esm2020/lib/layer/layer-list/index.mjs +3 -3
  219. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
  220. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
  221. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
  222. package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
  223. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
  224. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
  225. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
  227. package/esm2020/lib/layer/layer.module.mjs +184 -184
  228. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  229. package/esm2020/lib/layer/shared/index.mjs +6 -6
  230. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  231. package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
  232. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
  236. package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
  237. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
  238. package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
  239. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
  241. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
  243. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
  245. package/esm2020/lib/layer/shared/style.service.mjs +355 -355
  246. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  247. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  248. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
  249. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  250. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
  251. package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
  252. package/esm2020/lib/layer/utils/index.mjs +5 -5
  253. package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
  254. package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
  255. package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
  256. package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
  257. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
  258. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
  259. package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
  260. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -142
  261. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
  262. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  263. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
  264. package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
  265. package/esm2020/lib/map/index.mjs +13 -13
  266. package/esm2020/lib/map/info-section/index.mjs +1 -1
  267. package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
  268. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  269. package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
  270. package/esm2020/lib/map/map-center/index.mjs +1 -1
  271. package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
  272. package/esm2020/lib/map/map.module.mjs +126 -126
  273. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  274. package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
  275. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  276. package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
  277. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  278. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
  279. package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
  280. package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
  281. package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
  282. package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
  283. package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
  284. package/esm2020/lib/map/shared/index.mjs +13 -13
  285. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
  286. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
  287. package/esm2020/lib/map/shared/map.enums.mjs +5 -5
  288. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.mjs +406 -406
  290. package/esm2020/lib/map/shared/map.service.mjs +28 -28
  291. package/esm2020/lib/map/shared/map.utils.mjs +462 -462
  292. package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
  293. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.service.mjs +64 -64
  295. package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
  296. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  297. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
  298. package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
  299. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  300. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
  301. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  302. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
  303. package/esm2020/lib/measure/index.mjs +3 -3
  304. package/esm2020/lib/measure/measure.module.mjs +19 -19
  305. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
  306. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
  307. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
  308. package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
  309. package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
  310. package/esm2020/lib/measure/shared/index.mjs +3 -3
  311. package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
  312. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
  314. package/esm2020/lib/metadata/index.mjs +2 -2
  315. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  316. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
  317. package/esm2020/lib/metadata/metadata.module.mjs +54 -54
  318. package/esm2020/lib/metadata/shared/index.mjs +2 -2
  319. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
  321. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
  322. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
  323. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
  325. package/esm2020/lib/offline/geoDB/index.mjs +4 -4
  326. package/esm2020/lib/offline/index.mjs +2 -2
  327. package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
  328. package/esm2020/lib/offline/shared/index.mjs +1 -1
  329. package/esm2020/lib/overlay/index.mjs +1 -1
  330. package/esm2020/lib/overlay/overlay.module.mjs +22 -22
  331. package/esm2020/lib/overlay/shared/index.mjs +6 -6
  332. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
  333. package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
  334. package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
  335. package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
  336. package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
  337. package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
  338. package/esm2020/lib/print/index.mjs +3 -3
  339. package/esm2020/lib/print/print/print.component.mjs +125 -125
  340. package/esm2020/lib/print/print-form/index.mjs +1 -1
  341. package/esm2020/lib/print/print-form/print-form.component.mjs +427 -427
  342. package/esm2020/lib/print/print.module.mjs +64 -64
  343. package/esm2020/lib/print/shared/geopdf.mjs +57 -57
  344. package/esm2020/lib/print/shared/index.mjs +4 -4
  345. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.service.mjs +933 -933
  347. package/esm2020/lib/print/shared/print.type.mjs +29 -29
  348. package/esm2020/lib/query/index.mjs +1 -1
  349. package/esm2020/lib/query/query.module.mjs +28 -28
  350. package/esm2020/lib/query/shared/index.mjs +6 -6
  351. package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
  352. package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
  353. package/esm2020/lib/query/shared/query.directive.mjs +260 -260
  354. package/esm2020/lib/query/shared/query.enums.mjs +29 -29
  355. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  356. package/esm2020/lib/query/shared/query.service.mjs +732 -732
  357. package/esm2020/lib/query/shared/query.utils.mjs +36 -36
  358. package/esm2020/lib/search/index.mjs +11 -11
  359. package/esm2020/lib/search/search-bar/search-bar.component.mjs +511 -511
  360. package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
  361. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
  362. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +117 -117
  363. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +370 -370
  364. package/esm2020/lib/search/search-results/search-results-item.component.mjs +123 -123
  365. package/esm2020/lib/search/search-results/search-results.component.mjs +339 -339
  366. package/esm2020/lib/search/search-results/search-results.module.mjs +103 -103
  367. package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
  368. package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
  369. package/esm2020/lib/search/search-settings/search-settings.component.mjs +441 -441
  370. package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
  371. package/esm2020/lib/search/search.module.mjs +66 -66
  372. package/esm2020/lib/search/shared/index.mjs +8 -8
  373. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
  374. package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
  375. package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
  376. package/esm2020/lib/search/shared/search.enums.mjs +3 -3
  377. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.service.mjs +120 -120
  379. package/esm2020/lib/search/shared/search.utils.mjs +90 -90
  380. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/coordinates.mjs +152 -152
  382. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
  383. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/icherche.mjs +766 -766
  385. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
  386. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/ilayer.mjs +319 -319
  388. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
  389. package/esm2020/lib/search/shared/sources/index.mjs +17 -17
  390. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
  392. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
  393. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/source.mjs +178 -178
  395. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
  397. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
  398. package/esm2020/lib/toast/index.mjs +1 -1
  399. package/esm2020/lib/toast/toast.component.mjs +112 -112
  400. package/esm2020/lib/toast/toast.module.mjs +44 -44
  401. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  402. package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
  403. package/esm2020/lib/utils/googleLinks.mjs +12 -12
  404. package/esm2020/lib/utils/id-generator.mjs +109 -109
  405. package/esm2020/lib/utils/index.mjs +5 -5
  406. package/esm2020/lib/utils/osmLinks.mjs +9 -9
  407. package/esm2020/lib/wkt/index.mjs +1 -1
  408. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  409. package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
  410. package/esm2020/lib/wkt/wkt.module.mjs +21 -21
  411. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
  412. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
  413. package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
  414. package/esm2020/lib/workspace/index.mjs +7 -7
  415. package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
  416. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
  417. package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
  418. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
  419. package/esm2020/lib/workspace/shared/index.mjs +7 -7
  420. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
  421. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
  422. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
  423. package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
  424. package/esm2020/lib/workspace/widgets/index.mjs +3 -3
  425. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
  426. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
  427. package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
  428. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
  429. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
  430. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
  431. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
  432. package/esm2020/lib/workspace/workspace.module.mjs +61 -61
  433. package/esm2020/public_api.mjs +54 -54
  434. package/fesm2015/igo2-geo.mjs +44986 -44986
  435. package/fesm2015/igo2-geo.mjs.map +1 -1
  436. package/fesm2020/igo2-geo.mjs +43029 -43030
  437. package/fesm2020/igo2-geo.mjs.map +1 -1
  438. package/index.d.ts +5 -5
  439. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -126
  440. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -80
  441. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
  442. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  443. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  444. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  445. package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
  446. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  447. package/lib/catalog/catalog.module.d.ts +14 -14
  448. package/lib/catalog/index.d.ts +4 -4
  449. package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
  450. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  451. package/lib/catalog/shared/catalog.interface.d.ts +66 -66
  452. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  453. package/lib/catalog/shared/index.d.ts +4 -4
  454. package/lib/datasource/datasource.module.d.ts +8 -8
  455. package/lib/datasource/index.d.ts +2 -2
  456. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  457. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  458. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  459. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  460. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  461. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  462. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  463. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  464. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  465. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  466. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  467. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  468. package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
  469. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  470. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
  471. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  472. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  473. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  474. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  475. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  476. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  477. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  478. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  479. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  480. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  481. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  482. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  483. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  484. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  485. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  486. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  487. package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
  488. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
  489. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  490. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  491. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  492. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  493. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  494. package/lib/datasource/shared/index.d.ts +4 -4
  495. package/lib/datasource/shared/options/index.d.ts +4 -4
  496. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  497. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  498. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  499. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  500. package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
  501. package/lib/datasource/utils/index.d.ts +2 -2
  502. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  503. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
  504. package/lib/directions/directions-buttons/index.d.ts +1 -1
  505. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  506. package/lib/directions/directions-inputs/index.d.ts +1 -1
  507. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  508. package/lib/directions/directions-results/index.d.ts +1 -1
  509. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  510. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  511. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  512. package/lib/directions/directions-sources/index.d.ts +4 -4
  513. package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
  514. package/lib/directions/directions.component.d.ts +56 -56
  515. package/lib/directions/directions.module.d.ts +26 -26
  516. package/lib/directions/index.d.ts +6 -6
  517. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  518. package/lib/directions/shared/directions.enum.d.ts +22 -22
  519. package/lib/directions/shared/directions.interface.d.ts +126 -126
  520. package/lib/directions/shared/directions.service.d.ts +13 -13
  521. package/lib/directions/shared/directions.utils.d.ts +42 -42
  522. package/lib/directions/shared/index.d.ts +5 -5
  523. package/lib/directions/shared/store.d.ts +18 -18
  524. package/lib/download/download-button/download-button.component.d.ts +18 -18
  525. package/lib/download/download-button/index.d.ts +1 -1
  526. package/lib/download/download.module.d.ts +14 -14
  527. package/lib/download/index.d.ts +2 -2
  528. package/lib/download/shared/download.interface.d.ts +10 -10
  529. package/lib/download/shared/download.service.d.ts +11 -11
  530. package/lib/download/shared/index.d.ts +2 -2
  531. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  532. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  533. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  534. package/lib/draw/draw/draw.component.d.ts +239 -239
  535. package/lib/draw/draw/draw.module.d.ts +34 -34
  536. package/lib/draw/drawingTool.module.d.ts +7 -7
  537. package/lib/draw/index.d.ts +2 -2
  538. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  539. package/lib/draw/shared/draw-style.service.d.ts +36 -36
  540. package/lib/draw/shared/draw.enum.d.ts +32 -32
  541. package/lib/draw/shared/draw.interface.d.ts +40 -40
  542. package/lib/draw/shared/draw.utils.d.ts +35 -35
  543. package/lib/draw/shared/index.d.ts +5 -5
  544. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  545. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  546. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  547. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  548. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  549. package/lib/feature/feature.module.d.ts +9 -9
  550. package/lib/feature/index.d.ts +3 -3
  551. package/lib/feature/shared/feature.enums.d.ts +7 -7
  552. package/lib/feature/shared/feature.interfaces.d.ts +74 -74
  553. package/lib/feature/shared/feature.utils.d.ts +104 -104
  554. package/lib/feature/shared/index.d.ts +6 -6
  555. package/lib/feature/shared/store.d.ts +71 -71
  556. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  557. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  558. package/lib/feature/shared/strategies/index.d.ts +5 -5
  559. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  560. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  561. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  562. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  563. package/lib/filter/filter.module.d.ts +53 -53
  564. package/lib/filter/index.d.ts +15 -15
  565. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  566. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  567. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  568. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  569. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  570. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  571. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  572. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  573. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  574. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  575. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  576. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  577. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  578. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  579. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  580. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  581. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  582. package/lib/filter/shared/index.d.ts +11 -11
  583. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  584. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  585. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  586. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  587. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  588. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  589. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  590. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  591. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  592. package/lib/filter/shared/time-filter.interface.d.ts +29 -29
  593. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  594. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  595. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  596. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  597. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
  598. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  599. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  600. package/lib/filter/time-filter-button/index.d.ts +1 -1
  601. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  602. package/lib/filter/time-filter-form/index.d.ts +1 -1
  603. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  604. package/lib/filter/time-filter-item/index.d.ts +1 -1
  605. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  606. package/lib/filter/time-filter-list/index.d.ts +2 -2
  607. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  608. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  609. package/lib/geo.module.d.ts +28 -28
  610. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
  611. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  612. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  613. package/lib/geometry/geometry.module.d.ts +8 -8
  614. package/lib/geometry/index.d.ts +3 -3
  615. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  616. package/lib/geometry/shared/controls/index.d.ts +3 -3
  617. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  618. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  619. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  620. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  621. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  622. package/lib/geometry/shared/index.d.ts +4 -4
  623. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  624. package/lib/import-export/export-button/index.d.ts +1 -1
  625. package/lib/import-export/import-export/import-export.component.d.ts +104 -104
  626. package/lib/import-export/import-export/index.d.ts +1 -1
  627. package/lib/import-export/import-export.module.d.ts +26 -26
  628. package/lib/import-export/index.d.ts +4 -4
  629. package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
  630. package/lib/import-export/shared/export.errors.d.ts +8 -8
  631. package/lib/import-export/shared/export.interface.d.ts +11 -11
  632. package/lib/import-export/shared/export.service.d.ts +30 -30
  633. package/lib/import-export/shared/export.type.d.ts +16 -16
  634. package/lib/import-export/shared/export.utils.d.ts +19 -19
  635. package/lib/import-export/shared/import.errors.d.ts +20 -20
  636. package/lib/import-export/shared/import.interface.d.ts +8 -8
  637. package/lib/import-export/shared/import.service.d.ts +31 -31
  638. package/lib/import-export/shared/import.utils.d.ts +18 -18
  639. package/lib/import-export/shared/index.d.ts +10 -10
  640. package/lib/import-export/style-list/index.d.ts +4 -4
  641. package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
  642. package/lib/import-export/style-list/style-list.module.d.ts +8 -8
  643. package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
  644. package/lib/import-export/style-list/style-list.service.d.ts +18 -18
  645. package/lib/layer/index.d.ts +10 -10
  646. package/lib/layer/layer-item/index.d.ts +1 -1
  647. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  648. package/lib/layer/layer-legend/index.d.ts +1 -1
  649. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  650. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  651. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  652. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  653. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  654. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  655. package/lib/layer/layer-list/index.d.ts +3 -3
  656. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  657. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  658. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  659. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  660. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  661. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  662. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  663. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  664. package/lib/layer/layer.module.d.ts +36 -36
  665. package/lib/layer/shared/clusterParam.d.ts +13 -13
  666. package/lib/layer/shared/index.d.ts +6 -6
  667. package/lib/layer/shared/layer.enums.d.ts +1 -1
  668. package/lib/layer/shared/layer.service.d.ts +30 -30
  669. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  670. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  671. package/lib/layer/shared/layers/image-layer.d.ts +22 -22
  672. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  673. package/lib/layer/shared/layers/index.d.ts +12 -12
  674. package/lib/layer/shared/layers/layer.d.ts +62 -62
  675. package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
  676. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  677. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  678. package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
  679. package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
  680. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  681. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
  682. package/lib/layer/shared/style.service.d.ts +57 -57
  683. package/lib/layer/shared/vector-style.interface.d.ts +38 -38
  684. package/lib/layer/style-modal/index.d.ts +1 -1
  685. package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
  686. package/lib/layer/track-feature-button/index.d.ts +1 -1
  687. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  688. package/lib/layer/utils/image-watcher.d.ts +17 -17
  689. package/lib/layer/utils/index.d.ts +5 -5
  690. package/lib/layer/utils/layer.utils.d.ts +2 -2
  691. package/lib/layer/utils/outputLegend.d.ts +7 -7
  692. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  693. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  694. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  695. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
  696. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  697. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
  698. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  699. package/lib/map/geolocate-button/index.d.ts +1 -1
  700. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  701. package/lib/map/home-extent-button/index.d.ts +1 -1
  702. package/lib/map/index.d.ts +13 -13
  703. package/lib/map/info-section/index.d.ts +1 -1
  704. package/lib/map/info-section/info-section.component.d.ts +7 -7
  705. package/lib/map/map-browser/index.d.ts +1 -1
  706. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  707. package/lib/map/map-center/index.d.ts +1 -1
  708. package/lib/map/map-center/map-center.component.d.ts +31 -31
  709. package/lib/map/map.module.d.ts +28 -28
  710. package/lib/map/menu-button/index.d.ts +1 -1
  711. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  712. package/lib/map/offline-button/index.d.ts +1 -1
  713. package/lib/map/offline-button/offline-button.component.d.ts +23 -23
  714. package/lib/map/rotation-button/index.d.ts +1 -1
  715. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  716. package/lib/map/shared/controllers/controller.d.ts +29 -29
  717. package/lib/map/shared/controllers/geolocation.d.ts +112 -112
  718. package/lib/map/shared/controllers/index.d.ts +3 -3
  719. package/lib/map/shared/controllers/view.d.ts +200 -200
  720. package/lib/map/shared/hover-feature.directive.d.ts +132 -132
  721. package/lib/map/shared/index.d.ts +13 -13
  722. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  723. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  724. package/lib/map/shared/map.d.ts +135 -135
  725. package/lib/map/shared/map.enums.d.ts +4 -4
  726. package/lib/map/shared/map.interface.d.ts +57 -57
  727. package/lib/map/shared/map.service.d.ts +19 -19
  728. package/lib/map/shared/map.utils.d.ts +90 -90
  729. package/lib/map/shared/mapOffline.directive.d.ts +21 -21
  730. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  731. package/lib/map/shared/projection.service.d.ts +19 -19
  732. package/lib/map/shared/projection.utils.d.ts +19 -19
  733. package/lib/map/swipe-control/index.d.ts +1 -1
  734. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  735. package/lib/map/utils/layer-watcher.d.ts +20 -20
  736. package/lib/map/wake-lock-button/index.d.ts +1 -1
  737. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
  738. package/lib/map/zoom-button/index.d.ts +1 -1
  739. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  740. package/lib/measure/index.d.ts +3 -3
  741. package/lib/measure/measure.module.d.ts +7 -7
  742. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  743. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  744. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  745. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  746. package/lib/measure/measurer/measurer.module.d.ts +25 -25
  747. package/lib/measure/shared/index.d.ts +3 -3
  748. package/lib/measure/shared/measure.enum.d.ts +33 -33
  749. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  750. package/lib/measure/shared/measure.utils.d.ts +180 -180
  751. package/lib/metadata/index.d.ts +2 -2
  752. package/lib/metadata/metadata-button/index.d.ts +1 -1
  753. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  754. package/lib/metadata/metadata.module.d.ts +15 -15
  755. package/lib/metadata/shared/index.d.ts +2 -2
  756. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  757. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  758. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  759. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  760. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  761. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  762. package/lib/offline/geoDB/index.d.ts +4 -4
  763. package/lib/offline/index.d.ts +2 -2
  764. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  765. package/lib/offline/shared/index.d.ts +1 -1
  766. package/lib/overlay/index.d.ts +1 -1
  767. package/lib/overlay/overlay.module.d.ts +9 -9
  768. package/lib/overlay/shared/index.d.ts +6 -6
  769. package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
  770. package/lib/overlay/shared/overlay.d.ts +81 -81
  771. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  772. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  773. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  774. package/lib/overlay/shared/overlay.utils.d.ts +17 -17
  775. package/lib/print/index.d.ts +3 -3
  776. package/lib/print/print/print.component.d.ts +35 -35
  777. package/lib/print/print-form/index.d.ts +1 -1
  778. package/lib/print/print-form/print-form.component.d.ts +97 -97
  779. package/lib/print/print.module.d.ts +19 -19
  780. package/lib/print/shared/geopdf.d.ts +1 -1
  781. package/lib/print/shared/index.d.ts +4 -4
  782. package/lib/print/shared/print.interface.d.ts +22 -22
  783. package/lib/print/shared/print.service.d.ts +168 -168
  784. package/lib/print/shared/print.type.d.ts +45 -45
  785. package/lib/query/index.d.ts +1 -1
  786. package/lib/query/query.module.d.ts +11 -11
  787. package/lib/query/shared/index.d.ts +6 -6
  788. package/lib/query/shared/query-search-source.d.ts +17 -17
  789. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  790. package/lib/query/shared/query.directive.d.ts +105 -105
  791. package/lib/query/shared/query.enums.d.ts +26 -26
  792. package/lib/query/shared/query.interfaces.d.ts +35 -35
  793. package/lib/query/shared/query.service.d.ts +56 -56
  794. package/lib/query/shared/query.utils.d.ts +27 -27
  795. package/lib/search/index.d.ts +11 -11
  796. package/lib/search/search-bar/search-bar.component.d.ts +230 -230
  797. package/lib/search/search-bar/search-bar.module.d.ts +23 -23
  798. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  799. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
  800. package/lib/search/search-results/search-results-add-button.component.d.ts +76 -76
  801. package/lib/search/search-results/search-results-item.component.d.ts +47 -47
  802. package/lib/search/search-results/search-results.component.d.ts +161 -161
  803. package/lib/search/search-results/search-results.module.d.ts +28 -28
  804. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  805. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  806. package/lib/search/search-settings/search-settings.component.d.ts +102 -102
  807. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  808. package/lib/search/search.module.d.ts +14 -14
  809. package/lib/search/shared/index.d.ts +8 -8
  810. package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
  811. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  812. package/lib/search/shared/search-source.service.d.ts +32 -32
  813. package/lib/search/shared/search.enums.d.ts +1 -1
  814. package/lib/search/shared/search.interfaces.d.ts +29 -29
  815. package/lib/search/shared/search.service.d.ts +53 -53
  816. package/lib/search/shared/search.utils.d.ts +39 -39
  817. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  818. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  819. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  820. package/lib/search/shared/sources/icherche.d.ts +96 -96
  821. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  822. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  823. package/lib/search/shared/sources/ilayer.d.ts +55 -55
  824. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  825. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  826. package/lib/search/shared/sources/index.d.ts +17 -17
  827. package/lib/search/shared/sources/nominatim.d.ts +45 -45
  828. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  829. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  830. package/lib/search/shared/sources/source.d.ts +108 -108
  831. package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
  832. package/lib/search/shared/sources/storedqueries.d.ts +73 -73
  833. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  834. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  835. package/lib/toast/index.d.ts +1 -1
  836. package/lib/toast/toast.component.d.ts +33 -33
  837. package/lib/toast/toast.module.d.ts +14 -14
  838. package/lib/utils/commonVectorStyle.d.ts +14 -14
  839. package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
  840. package/lib/utils/googleLinks.d.ts +5 -5
  841. package/lib/utils/id-generator.d.ts +54 -54
  842. package/lib/utils/index.d.ts +5 -5
  843. package/lib/utils/osmLinks.d.ts +4 -4
  844. package/lib/wkt/index.d.ts +1 -1
  845. package/lib/wkt/shared/index.d.ts +1 -1
  846. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  847. package/lib/wkt/wkt.module.d.ts +8 -8
  848. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  849. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  850. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  851. package/lib/workspace/index.d.ts +7 -7
  852. package/lib/workspace/shared/edition-workspace.d.ts +82 -82
  853. package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
  854. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  855. package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
  856. package/lib/workspace/shared/index.d.ts +7 -7
  857. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  858. package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
  859. package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
  860. package/lib/workspace/shared/workspace.utils.d.ts +10 -10
  861. package/lib/workspace/widgets/index.d.ts +3 -3
  862. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  863. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  864. package/lib/workspace/widgets/widgets.d.ts +9 -9
  865. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  866. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  867. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  868. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  869. package/lib/workspace/workspace.module.d.ts +14 -14
  870. package/package.json +4 -4
  871. package/public_api.d.ts +51 -51
@@ -1,64 +1,64 @@
1
- /**
2
- * Return a number of zone MTM for a longitude for province of Quebec only
3
- * @param lon number
4
- * @returns zone
5
- */
6
- export function zoneMtm(lon) {
7
- let lonMin = -54;
8
- const lonMax = -81;
9
- if (lon < lonMax || lon > lonMin) {
10
- return 0;
11
- }
12
- else {
13
- const deltaLon = 3;
14
- let zone = 2;
15
- while (Math.abs(lon - lonMin) > deltaLon) {
16
- lonMin = lonMin - deltaLon;
17
- zone++;
18
- }
19
- return zone;
20
- }
21
- }
22
- /**
23
- * Return a number of zone UTM for a longitude
24
- * @param lon number
25
- * @returns zone
26
- */
27
- export function zoneUtm(lon) {
28
- let lonMin = -180;
29
- const lonMax = 180;
30
- const deltaLon = 6;
31
- let zone = 1;
32
- while (Math.abs(lon - lonMin) > deltaLon) {
33
- lonMin = lonMin + deltaLon;
34
- zone++;
35
- }
36
- return zone;
37
- }
38
- /**
39
- * Compute the contraints of projections
40
- * @param projectionsLimitations: ProjectionsLimitationsOptions
41
- * @returns projectionsContraints: ProjectionsLimitationsOptions
42
- */
43
- export function computeProjectionsConstraints(projectionsLimitations) {
44
- const mtmZone = projectionsLimitations.mtmZone;
45
- const utmZone = projectionsLimitations.utmZone;
46
- const projectionsConstraints = {
47
- projFromConfig: projectionsLimitations.projFromConfig === false ? false : true,
48
- nad83: projectionsLimitations.nad83 === false ? false : true,
49
- wgs84: projectionsLimitations.wgs84 === false ? false : true,
50
- webMercator: projectionsLimitations.webMercator === false ? false : true,
51
- utm: projectionsLimitations.utm === false ? false : true,
52
- mtm: projectionsLimitations.mtm === false ? false : true,
53
- utmZone: {
54
- minZone: utmZone && utmZone.minZone ? utmZone.minZone : 17,
55
- maxZone: utmZone && utmZone.maxZone ? utmZone.maxZone : 21,
56
- },
57
- mtmZone: {
58
- minZone: mtmZone && mtmZone.minZone ? mtmZone.minZone : 2,
59
- maxZone: mtmZone && mtmZone.maxZone ? mtmZone.maxZone : 10,
60
- }
61
- };
62
- return projectionsConstraints;
63
- }
1
+ /**
2
+ * Return a number of zone MTM for a longitude for province of Quebec only
3
+ * @param lon number
4
+ * @returns zone
5
+ */
6
+ export function zoneMtm(lon) {
7
+ let lonMin = -54;
8
+ const lonMax = -81;
9
+ if (lon < lonMax || lon > lonMin) {
10
+ return 0;
11
+ }
12
+ else {
13
+ const deltaLon = 3;
14
+ let zone = 2;
15
+ while (Math.abs(lon - lonMin) > deltaLon) {
16
+ lonMin = lonMin - deltaLon;
17
+ zone++;
18
+ }
19
+ return zone;
20
+ }
21
+ }
22
+ /**
23
+ * Return a number of zone UTM for a longitude
24
+ * @param lon number
25
+ * @returns zone
26
+ */
27
+ export function zoneUtm(lon) {
28
+ let lonMin = -180;
29
+ const lonMax = 180;
30
+ const deltaLon = 6;
31
+ let zone = 1;
32
+ while (Math.abs(lon - lonMin) > deltaLon) {
33
+ lonMin = lonMin + deltaLon;
34
+ zone++;
35
+ }
36
+ return zone;
37
+ }
38
+ /**
39
+ * Compute the contraints of projections
40
+ * @param projectionsLimitations: ProjectionsLimitationsOptions
41
+ * @returns projectionsContraints: ProjectionsLimitationsOptions
42
+ */
43
+ export function computeProjectionsConstraints(projectionsLimitations) {
44
+ const mtmZone = projectionsLimitations.mtmZone;
45
+ const utmZone = projectionsLimitations.utmZone;
46
+ const projectionsConstraints = {
47
+ projFromConfig: projectionsLimitations.projFromConfig === false ? false : true,
48
+ nad83: projectionsLimitations.nad83 === false ? false : true,
49
+ wgs84: projectionsLimitations.wgs84 === false ? false : true,
50
+ webMercator: projectionsLimitations.webMercator === false ? false : true,
51
+ utm: projectionsLimitations.utm === false ? false : true,
52
+ mtm: projectionsLimitations.mtm === false ? false : true,
53
+ utmZone: {
54
+ minZone: utmZone && utmZone.minZone ? utmZone.minZone : 17,
55
+ maxZone: utmZone && utmZone.maxZone ? utmZone.maxZone : 21,
56
+ },
57
+ mtmZone: {
58
+ minZone: mtmZone && mtmZone.minZone ? mtmZone.minZone : 2,
59
+ maxZone: mtmZone && mtmZone.maxZone ? mtmZone.maxZone : 10,
60
+ }
61
+ };
62
+ return projectionsConstraints;
63
+ }
64
64
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zaGFyZWQvcHJvamVjdGlvbi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFXO0lBQy9CLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2pCLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxHQUFHLEdBQUcsTUFBTSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7U0FDSTtRQUNILE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEdBQUcsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUMzQixJQUFJLEVBQUUsQ0FBQztTQUNSO1FBQ0QsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUM7QUFDSDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFXO0lBQ2pDLElBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ2xCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNuQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxRQUFRLEVBQUU7UUFDeEMsTUFBTSxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDM0IsSUFBSSxFQUFFLENBQUM7S0FDUjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLHNCQUFxRDtJQUVyRCxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDO0lBQy9DLE1BQU0sc0JBQXNCLEdBQUc7UUFDM0IsY0FBYyxFQUFFLHNCQUFzQixDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUM5RSxLQUFLLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQzVELEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDNUQsV0FBVyxFQUFFLHNCQUFzQixDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUN4RSxHQUFHLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3hELEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDeEQsT0FBTyxFQUFFO1lBQ1QsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFELE9BQU8sRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN6RDtRQUNELE9BQU8sRUFBRTtZQUNULE9BQU8sRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RCxPQUFPLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDekQ7S0FDSixDQUFDO0lBQ0YsT0FBTyxzQkFBc0IsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdGlvbnNMaW1pdGF0aW9uc09wdGlvbnMgfSBmcm9tICcuL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogUmV0dXJuIGEgbnVtYmVyIG9mIHpvbmUgTVRNIGZvciBhIGxvbmdpdHVkZSBmb3IgcHJvdmluY2Ugb2YgUXVlYmVjIG9ubHlcbiAqIEBwYXJhbSBsb24gbnVtYmVyXG4gKiBAcmV0dXJucyB6b25lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6b25lTXRtKGxvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgbG9uTWluID0gLTU0O1xuICAgIGNvbnN0IGxvbk1heCA9IC04MTtcbiAgICBpZiAobG9uIDwgbG9uTWF4IHx8IGxvbiA+IGxvbk1pbikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgZGVsdGFMb24gPSAzO1xuICAgICAgbGV0IHpvbmUgPSAyO1xuICAgICAgd2hpbGUgKE1hdGguYWJzKGxvbiAtIGxvbk1pbikgPiBkZWx0YUxvbikge1xuICAgICAgICBsb25NaW4gPSBsb25NaW4gLSBkZWx0YUxvbjtcbiAgICAgICAgem9uZSsrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHpvbmU7XG4gICAgfVxuICB9XG4vKipcbiAqIFJldHVybiBhIG51bWJlciBvZiB6b25lIFVUTSBmb3IgYSBsb25naXR1ZGVcbiAqIEBwYXJhbSBsb24gbnVtYmVyXG4gKiBAcmV0dXJucyB6b25lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6b25lVXRtKGxvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGxvbk1pbiA9IC0xODA7XG4gIGNvbnN0IGxvbk1heCA9IDE4MDtcbiAgY29uc3QgZGVsdGFMb24gPSA2O1xuICBsZXQgem9uZSA9IDE7XG4gIHdoaWxlIChNYXRoLmFicyhsb24gLSBsb25NaW4pID4gZGVsdGFMb24pIHtcbiAgICBsb25NaW4gPSBsb25NaW4gKyBkZWx0YUxvbjtcbiAgICB6b25lKys7XG4gIH1cbiAgcmV0dXJuIHpvbmU7XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgY29udHJhaW50cyBvZiBwcm9qZWN0aW9uc1xuICogQHBhcmFtIHByb2plY3Rpb25zTGltaXRhdGlvbnM6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zXG4gKiBAcmV0dXJucyBwcm9qZWN0aW9uc0NvbnRyYWludHM6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlUHJvamVjdGlvbnNDb25zdHJhaW50cyhcbiAgICBwcm9qZWN0aW9uc0xpbWl0YXRpb25zOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucyk6XG4gICAgUHJvamVjdGlvbnNMaW1pdGF0aW9uc09wdGlvbnMge1xuICAgIGNvbnN0IG10bVpvbmUgPSBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLm10bVpvbmU7XG4gICAgY29uc3QgdXRtWm9uZSA9IHByb2plY3Rpb25zTGltaXRhdGlvbnMudXRtWm9uZTtcbiAgICBjb25zdCBwcm9qZWN0aW9uc0NvbnN0cmFpbnRzID0ge1xuICAgICAgICBwcm9qRnJvbUNvbmZpZzogcHJvamVjdGlvbnNMaW1pdGF0aW9ucy5wcm9qRnJvbUNvbmZpZyA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgIG5hZDgzOiBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLm5hZDgzID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgd2dzODQ6IHByb2plY3Rpb25zTGltaXRhdGlvbnMud2dzODQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICB3ZWJNZXJjYXRvcjogcHJvamVjdGlvbnNMaW1pdGF0aW9ucy53ZWJNZXJjYXRvciA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgIHV0bTogcHJvamVjdGlvbnNMaW1pdGF0aW9ucy51dG0gPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICBtdG06IHByb2plY3Rpb25zTGltaXRhdGlvbnMubXRtID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgdXRtWm9uZToge1xuICAgICAgICBtaW5ab25lOiB1dG1ab25lICYmIHV0bVpvbmUubWluWm9uZSA/IHV0bVpvbmUubWluWm9uZSA6IDE3LFxuICAgICAgICBtYXhab25lOiB1dG1ab25lICYmIHV0bVpvbmUubWF4Wm9uZSA/IHV0bVpvbmUubWF4Wm9uZSA6IDIxLFxuICAgICAgICB9LFxuICAgICAgICBtdG1ab25lOiB7XG4gICAgICAgIG1pblpvbmU6IG10bVpvbmUgJiYgbXRtWm9uZS5taW5ab25lID8gbXRtWm9uZS5taW5ab25lIDogMixcbiAgICAgICAgbWF4Wm9uZTogbXRtWm9uZSAmJiBtdG1ab25lLm1heFpvbmUgPyBtdG1ab25lLm1heFpvbmUgOiAxMCxcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHByb2plY3Rpb25zQ29uc3RyYWludHM7XG4gIH1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './swipe-control.component';
1
+ export * from './swipe-control.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc3dpcGUtY29udHJvbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zd2lwZS1jb250cm9sLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,193 +1,193 @@
1
- import { Component, Input } from '@angular/core';
2
- import { getRenderPixel } from 'ol/render';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Tool to swipe the layers
6
- */
7
- export class SwipeControlComponent {
8
- constructor() {
9
- /**
10
- * State of draggable action
11
- */
12
- this.inDragAction = false;
13
- /**
14
- * Binder of prerender on the same element
15
- */
16
- this.boundPrerender = this.prerender.bind(this);
17
- }
18
- /**
19
- * Get the list of layers for swipe and activate of deactivate the swipe
20
- * @internal
21
- */
22
- ngAfterViewInit() {
23
- this.getListOfLayers();
24
- this.swipeEnabled$$ = this.map.swipeEnabled$.subscribe(value => {
25
- value ? this.displaySwipe() : this.displaySwipeOff();
26
- });
27
- this.letZoom();
28
- }
29
- /**
30
- * Clear the overlay layer and any interaction added by this component.
31
- * @internal
32
- */
33
- ngOnDestroy() {
34
- this.swipeEnabled$$.unsubscribe();
35
- this.map.swipeEnabled$.unsubscribe();
36
- this.displaySwipeOff();
37
- }
38
- /**
39
- * Display a swipe-element and render the layers
40
- */
41
- displaySwipe() {
42
- this.swipeId.style.visibility = 'visible';
43
- this.layers.map(layer => layer.ol.on('prerender', this.boundPrerender));
44
- this.layers.map(layer => layer.ol.on('postrender', this.postrender));
45
- this.map.ol.render();
46
- }
47
- /**
48
- * Clear a swipe-element and render the layers on the initial state
49
- */
50
- displaySwipeOff() {
51
- this.swipeId.style.visibility = 'hidden';
52
- this.layers.map(layer => layer.ol.un('prerender', this.boundPrerender));
53
- this.layers.map(layer => layer.ol.un('postrender', this.postrender));
54
- this.map.ol.render();
55
- this.layers = [];
56
- }
57
- /**
58
- * Getter of element
59
- */
60
- get swipeId() {
61
- return document.getElementById('igo-layer-swipe');
62
- }
63
- /**
64
- * Get the list of layers for swipe
65
- */
66
- getListOfLayers() {
67
- this.map.selectedFeatures$.subscribe(layers => {
68
- this.layers = [];
69
- if (layers !== null) {
70
- for (const layer of layers) {
71
- if (!this.layers.includes(layer)) {
72
- this.layers.push(layer);
73
- }
74
- }
75
- }
76
- });
77
- }
78
- /**
79
- * Get a position of click or touch
80
- */
81
- dragDown(event) {
82
- this.inDragAction = true;
83
- event.preventDefault();
84
- if (event.type === 'mousedown') {
85
- this.pos3 = event.clientX;
86
- this.mouseSwipe();
87
- document.onmouseup = this.closeDragMouseElement;
88
- }
89
- else if (event.type === 'touchstart') {
90
- document.getElementById('arrows').style.visibility = 'hidden';
91
- this.pos3 = event.touches[0].clientX;
92
- this.touchSwipe();
93
- document.ontouchend = this.closeDragTouchElement;
94
- }
95
- }
96
- /**
97
- * Moving a line with a mouse
98
- */
99
- mouseSwipe() {
100
- document.addEventListener('mousemove', event => {
101
- if (this.inDragAction) {
102
- event.preventDefault();
103
- this.pos1 = this.pos3 - event.clientX;
104
- this.pos3 = event.clientX;
105
- this.swipeId.style.left = (this.swipeId.offsetLeft - this.pos1) + 'px';
106
- }
107
- this.map.ol.render();
108
- });
109
- }
110
- /**
111
- * Moving a line with a touch
112
- */
113
- touchSwipe() {
114
- document.addEventListener('touchmove', event => {
115
- if (this.inDragAction) {
116
- event.preventDefault();
117
- document.getElementById('arrows').style.visibility = 'hidden';
118
- this.pos1 = this.pos3 - event.changedTouches[0].clientX;
119
- this.pos3 = event.changedTouches[0].clientX;
120
- this.swipeId.style.left = (this.swipeId.offsetLeft - this.pos1) + 'px';
121
- }
122
- this.map.ol.render();
123
- });
124
- }
125
- /**
126
- * Deactivate a listener of a mouse-action
127
- */
128
- closeDragMouseElement() {
129
- document.onmouseup = null;
130
- document.onmousemove = null;
131
- this.inDragAction = false;
132
- }
133
- /**
134
- * Deactivate a listener of a touch-action
135
- */
136
- closeDragTouchElement() {
137
- document.ontouchend = null;
138
- document.ontouchmove = null;
139
- document.getElementById('arrows').style.visibility = 'visible';
140
- this.inDragAction = false;
141
- }
142
- /**
143
- * Cut the image of a layer by the position of swiped-element
144
- */
145
- prerender(event) {
146
- const ctx = event.context;
147
- const mapSize = this.map.ol.getSize();
148
- const width = this.swipeId.offsetLeft;
149
- const tl = getRenderPixel(event, [width, 0]);
150
- const tr = getRenderPixel(event, [0, 0]);
151
- const bl = getRenderPixel(event, [width, mapSize[1]]);
152
- const br = getRenderPixel(event, [0, mapSize[1]]);
153
- ctx.save();
154
- ctx.beginPath();
155
- ctx.moveTo(tl[0], tl[1]);
156
- ctx.lineTo(bl[0], bl[1]);
157
- ctx.lineTo(br[0], br[1]);
158
- ctx.lineTo(tr[0], tr[1]);
159
- ctx.closePath();
160
- ctx.clip();
161
- }
162
- /**
163
- * Save a current state of the context
164
- */
165
- postrender(event) {
166
- event.context.restore();
167
- event.context.save();
168
- }
169
- /**
170
- * Zoom on div
171
- */
172
- letZoom() {
173
- document.getElementById('igo-layer-swipe').addEventListener('wheel', event => {
174
- event.deltaY > 0 ? this.map.viewController.zoomOut() : this.map.viewController.zoomIn();
175
- }, true);
176
- }
177
- }
178
- SwipeControlComponent.ɵfac = function SwipeControlComponent_Factory(t) { return new (t || SwipeControlComponent)(); };
179
- SwipeControlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SwipeControlComponent, selectors: [["igo-swipe-control"]], inputs: { map: "map" }, decls: 5, vars: 0, consts: [["id", "igo-layer-swipe", 1, "igo-swipe-control-container", 3, "mousedown", "mouseup", "touchstart", "touchend"], [1, "igo-swipe-control-line"], ["id", "arrows", 1, "igo-swipe-control-arrows"], [1, "igo-arrow-left"], [1, "igo-arrow-right"]], template: function SwipeControlComponent_Template(rf, ctx) { if (rf & 1) {
180
- i0.ɵɵelementStart(0, "div", 0);
181
- i0.ɵɵlistener("mousedown", function SwipeControlComponent_Template_div_mousedown_0_listener($event) { return ctx.dragDown($event); })("mouseup", function SwipeControlComponent_Template_div_mouseup_0_listener() { return ctx.closeDragMouseElement(); })("touchstart", function SwipeControlComponent_Template_div_touchstart_0_listener($event) { return ctx.dragDown($event); })("touchend", function SwipeControlComponent_Template_div_touchend_0_listener() { return ctx.closeDragTouchElement(); });
182
- i0.ɵɵelement(1, "div", 1);
183
- i0.ɵɵelementStart(2, "div", 2);
184
- i0.ɵɵelement(3, "div", 3)(4, "div", 4);
185
- i0.ɵɵelementEnd()();
186
- } }, styles: [".igo-swipe-control-container[_ngcontent-%COMP%]{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:-webkit-grab;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container[_ngcontent-%COMP%]:active{cursor:-webkit-grabbing;cursor:grabbing}.igo-swipe-control-line[_ngcontent-%COMP%]{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows[_ngcontent-%COMP%]{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows[_ngcontent-%COMP%] .igo-arrow-right[_ngcontent-%COMP%]{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows[_ngcontent-%COMP%] .igo-arrow-left[_ngcontent-%COMP%]{border-right:10px solid white}.igo-swipe-control-arrows[_ngcontent-%COMP%]:active{display:none}"] });
187
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SwipeControlComponent, [{
188
- type: Component,
189
- args: [{ selector: 'igo-swipe-control', template: "<div class=\"igo-swipe-control-container\" id=\"igo-layer-swipe\"\n (mousedown)=\"dragDown($event)\"\n (mouseup)=\"closeDragMouseElement()\"\n (touchstart)=\"dragDown($event)\"\n (touchend)=\"closeDragTouchElement()\">\n <div class=\"igo-swipe-control-line\" ></div>\n \n <div class=\"igo-swipe-control-arrows\" id=\"arrows\">\n <div class=\"igo-arrow-left\"></div>\n <div class=\"igo-arrow-right\"></div>\n </div>\n</div>\n", styles: [".igo-swipe-control-container{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:-webkit-grab;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container:active{cursor:-webkit-grabbing;cursor:grabbing}.igo-swipe-control-line{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows div{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows .igo-arrow-right{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows .igo-arrow-left{border-right:10px solid white}.igo-swipe-control-arrows:active{display:none}\n"] }]
190
- }], function () { return []; }, { map: [{
191
- type: Input
192
- }] }); })();
1
+ import { Component, Input } from '@angular/core';
2
+ import { getRenderPixel } from 'ol/render';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Tool to swipe the layers
6
+ */
7
+ export class SwipeControlComponent {
8
+ constructor() {
9
+ /**
10
+ * State of draggable action
11
+ */
12
+ this.inDragAction = false;
13
+ /**
14
+ * Binder of prerender on the same element
15
+ */
16
+ this.boundPrerender = this.prerender.bind(this);
17
+ }
18
+ /**
19
+ * Get the list of layers for swipe and activate of deactivate the swipe
20
+ * @internal
21
+ */
22
+ ngAfterViewInit() {
23
+ this.getListOfLayers();
24
+ this.swipeEnabled$$ = this.map.swipeEnabled$.subscribe(value => {
25
+ value ? this.displaySwipe() : this.displaySwipeOff();
26
+ });
27
+ this.letZoom();
28
+ }
29
+ /**
30
+ * Clear the overlay layer and any interaction added by this component.
31
+ * @internal
32
+ */
33
+ ngOnDestroy() {
34
+ this.swipeEnabled$$.unsubscribe();
35
+ this.map.swipeEnabled$.unsubscribe();
36
+ this.displaySwipeOff();
37
+ }
38
+ /**
39
+ * Display a swipe-element and render the layers
40
+ */
41
+ displaySwipe() {
42
+ this.swipeId.style.visibility = 'visible';
43
+ this.layers.map(layer => layer.ol.on('prerender', this.boundPrerender));
44
+ this.layers.map(layer => layer.ol.on('postrender', this.postrender));
45
+ this.map.ol.render();
46
+ }
47
+ /**
48
+ * Clear a swipe-element and render the layers on the initial state
49
+ */
50
+ displaySwipeOff() {
51
+ this.swipeId.style.visibility = 'hidden';
52
+ this.layers.map(layer => layer.ol.un('prerender', this.boundPrerender));
53
+ this.layers.map(layer => layer.ol.un('postrender', this.postrender));
54
+ this.map.ol.render();
55
+ this.layers = [];
56
+ }
57
+ /**
58
+ * Getter of element
59
+ */
60
+ get swipeId() {
61
+ return document.getElementById('igo-layer-swipe');
62
+ }
63
+ /**
64
+ * Get the list of layers for swipe
65
+ */
66
+ getListOfLayers() {
67
+ this.map.selectedFeatures$.subscribe(layers => {
68
+ this.layers = [];
69
+ if (layers !== null) {
70
+ for (const layer of layers) {
71
+ if (!this.layers.includes(layer)) {
72
+ this.layers.push(layer);
73
+ }
74
+ }
75
+ }
76
+ });
77
+ }
78
+ /**
79
+ * Get a position of click or touch
80
+ */
81
+ dragDown(event) {
82
+ this.inDragAction = true;
83
+ event.preventDefault();
84
+ if (event.type === 'mousedown') {
85
+ this.pos3 = event.clientX;
86
+ this.mouseSwipe();
87
+ document.onmouseup = this.closeDragMouseElement;
88
+ }
89
+ else if (event.type === 'touchstart') {
90
+ document.getElementById('arrows').style.visibility = 'hidden';
91
+ this.pos3 = event.touches[0].clientX;
92
+ this.touchSwipe();
93
+ document.ontouchend = this.closeDragTouchElement;
94
+ }
95
+ }
96
+ /**
97
+ * Moving a line with a mouse
98
+ */
99
+ mouseSwipe() {
100
+ document.addEventListener('mousemove', event => {
101
+ if (this.inDragAction) {
102
+ event.preventDefault();
103
+ this.pos1 = this.pos3 - event.clientX;
104
+ this.pos3 = event.clientX;
105
+ this.swipeId.style.left = (this.swipeId.offsetLeft - this.pos1) + 'px';
106
+ }
107
+ this.map.ol.render();
108
+ });
109
+ }
110
+ /**
111
+ * Moving a line with a touch
112
+ */
113
+ touchSwipe() {
114
+ document.addEventListener('touchmove', event => {
115
+ if (this.inDragAction) {
116
+ event.preventDefault();
117
+ document.getElementById('arrows').style.visibility = 'hidden';
118
+ this.pos1 = this.pos3 - event.changedTouches[0].clientX;
119
+ this.pos3 = event.changedTouches[0].clientX;
120
+ this.swipeId.style.left = (this.swipeId.offsetLeft - this.pos1) + 'px';
121
+ }
122
+ this.map.ol.render();
123
+ });
124
+ }
125
+ /**
126
+ * Deactivate a listener of a mouse-action
127
+ */
128
+ closeDragMouseElement() {
129
+ document.onmouseup = null;
130
+ document.onmousemove = null;
131
+ this.inDragAction = false;
132
+ }
133
+ /**
134
+ * Deactivate a listener of a touch-action
135
+ */
136
+ closeDragTouchElement() {
137
+ document.ontouchend = null;
138
+ document.ontouchmove = null;
139
+ document.getElementById('arrows').style.visibility = 'visible';
140
+ this.inDragAction = false;
141
+ }
142
+ /**
143
+ * Cut the image of a layer by the position of swiped-element
144
+ */
145
+ prerender(event) {
146
+ const ctx = event.context;
147
+ const mapSize = this.map.ol.getSize();
148
+ const width = this.swipeId.offsetLeft;
149
+ const tl = getRenderPixel(event, [width, 0]);
150
+ const tr = getRenderPixel(event, [0, 0]);
151
+ const bl = getRenderPixel(event, [width, mapSize[1]]);
152
+ const br = getRenderPixel(event, [0, mapSize[1]]);
153
+ ctx.save();
154
+ ctx.beginPath();
155
+ ctx.moveTo(tl[0], tl[1]);
156
+ ctx.lineTo(bl[0], bl[1]);
157
+ ctx.lineTo(br[0], br[1]);
158
+ ctx.lineTo(tr[0], tr[1]);
159
+ ctx.closePath();
160
+ ctx.clip();
161
+ }
162
+ /**
163
+ * Save a current state of the context
164
+ */
165
+ postrender(event) {
166
+ event.context.restore();
167
+ event.context.save();
168
+ }
169
+ /**
170
+ * Zoom on div
171
+ */
172
+ letZoom() {
173
+ document.getElementById('igo-layer-swipe').addEventListener('wheel', event => {
174
+ event.deltaY > 0 ? this.map.viewController.zoomOut() : this.map.viewController.zoomIn();
175
+ }, true);
176
+ }
177
+ }
178
+ SwipeControlComponent.ɵfac = function SwipeControlComponent_Factory(t) { return new (t || SwipeControlComponent)(); };
179
+ SwipeControlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SwipeControlComponent, selectors: [["igo-swipe-control"]], inputs: { map: "map" }, decls: 5, vars: 0, consts: [["id", "igo-layer-swipe", 1, "igo-swipe-control-container", 3, "mousedown", "mouseup", "touchstart", "touchend"], [1, "igo-swipe-control-line"], ["id", "arrows", 1, "igo-swipe-control-arrows"], [1, "igo-arrow-left"], [1, "igo-arrow-right"]], template: function SwipeControlComponent_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵelementStart(0, "div", 0);
181
+ i0.ɵɵlistener("mousedown", function SwipeControlComponent_Template_div_mousedown_0_listener($event) { return ctx.dragDown($event); })("mouseup", function SwipeControlComponent_Template_div_mouseup_0_listener() { return ctx.closeDragMouseElement(); })("touchstart", function SwipeControlComponent_Template_div_touchstart_0_listener($event) { return ctx.dragDown($event); })("touchend", function SwipeControlComponent_Template_div_touchend_0_listener() { return ctx.closeDragTouchElement(); });
182
+ i0.ɵɵelement(1, "div", 1);
183
+ i0.ɵɵelementStart(2, "div", 2);
184
+ i0.ɵɵelement(3, "div", 3)(4, "div", 4);
185
+ i0.ɵɵelementEnd()();
186
+ } }, styles: [".igo-swipe-control-container[_ngcontent-%COMP%]{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:-webkit-grab;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container[_ngcontent-%COMP%]:active{cursor:-webkit-grabbing;cursor:grabbing}.igo-swipe-control-line[_ngcontent-%COMP%]{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows[_ngcontent-%COMP%]{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows[_ngcontent-%COMP%] .igo-arrow-right[_ngcontent-%COMP%]{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows[_ngcontent-%COMP%] .igo-arrow-left[_ngcontent-%COMP%]{border-right:10px solid white}.igo-swipe-control-arrows[_ngcontent-%COMP%]:active{display:none}"] });
187
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SwipeControlComponent, [{
188
+ type: Component,
189
+ args: [{ selector: 'igo-swipe-control', template: "<div class=\"igo-swipe-control-container\" id=\"igo-layer-swipe\"\n (mousedown)=\"dragDown($event)\"\n (mouseup)=\"closeDragMouseElement()\"\n (touchstart)=\"dragDown($event)\"\n (touchend)=\"closeDragTouchElement()\">\n <div class=\"igo-swipe-control-line\" ></div>\n \n <div class=\"igo-swipe-control-arrows\" id=\"arrows\">\n <div class=\"igo-arrow-left\"></div>\n <div class=\"igo-arrow-right\"></div>\n </div>\n</div>\n", styles: [".igo-swipe-control-container{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:-webkit-grab;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container:active{cursor:-webkit-grabbing;cursor:grabbing}.igo-swipe-control-line{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows div{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows .igo-arrow-right{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows .igo-arrow-left{border-right:10px solid white}.igo-swipe-control-arrows:active{display:none}\n"] }]
190
+ }], function () { return []; }, { map: [{
191
+ type: Input
192
+ }] }); })();
193
193
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc3dpcGUtY29udHJvbC9zd2lwZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zd2lwZS1jb250cm9sL3N3aXBlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHFCQUFxQjtJQXNDaEM7UUFmQTs7V0FFRztRQUNLLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBT3RDOztXQUVHO1FBQ0ssbUJBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRCxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDbkIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3pCO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztTQUNuRDthQUNJLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUM7WUFDakMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUM5RCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBQztnQkFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3hFO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3hFO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxQkFBcUI7UUFDbkIsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDMUIsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCO1FBQ25CLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLEtBQUs7UUFDWCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFFO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLEVBQUUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWCxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxLQUFLO1FBQ2QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNRLE9BQU87UUFDZCxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzNFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUYsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7MEZBcE5RLHFCQUFxQjt3RUFBckIscUJBQXFCO1FDZmxDLDhCQUl1QztRQUhyQyw2R0FBYSxvQkFBZ0IsSUFBQyxzRkFDbkIsMkJBQXVCLElBREosa0dBRWhCLG9CQUFnQixJQUZBLHdGQUdsQiwyQkFBdUIsSUFITDtRQUk5Qix5QkFBMkM7UUFFM0MsOEJBQWtEO1FBQ2hELHlCQUFrQyxhQUFBO1FBRXBDLGlCQUFNLEVBQUE7O3VGREtLLHFCQUFxQjtjQU5qQyxTQUFTOzJCQUNFLG1CQUFtQjtzQ0FXcEIsR0FBRztrQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgZ2V0UmVuZGVyUGl4ZWwgfSBmcm9tICdvbC9yZW5kZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVG9vbCB0byBzd2lwZSB0aGUgbGF5ZXJzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zd2lwZS1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXBlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zd2lwZS1jb250cm9sLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBTd2lwZUNvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG5cbiAgLyoqXG4gICAqIEdldCBhbiBhY3RpdmUgbWFwXG4gICAqL1xuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgbGF5ZXJzIGZvciBzd2lwZVxuICAgKi9cbiAgcHJpdmF0ZSBsYXllcnM6IExheWVyW107XG5cbiAgLyoqXG4gICAqIEZpbmFsIHBvc2l0aW9uIG9mIHRoZSBzd2lwZWQgZWxlbWVudFxuICAgKi9cbiAgcHJpdmF0ZSBwb3MxOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEludGVybWVkaWF0ZSBwb3NpdGlvbiBvZiB0aGUgc3dpcGVkIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgcG9zMzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTdGF0ZSBvZiBkcmFnZ2FibGUgYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGluRHJhZ0FjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5lciBvZiB0b2dnbGUgZnJvbSBhZHZhbmNlZC1tYXAtdG9vbFxuICAgKi9cbiAgcHJpdmF0ZSBzd2lwZUVuYWJsZWQkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBCaW5kZXIgb2YgcHJlcmVuZGVyIG9uIHRoZSBzYW1lIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgYm91bmRQcmVyZW5kZXIgPSB0aGlzLnByZXJlbmRlci5iaW5kKHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgbGF5ZXJzIGZvciBzd2lwZSBhbmQgYWN0aXZhdGUgb2YgZGVhY3RpdmF0ZSB0aGUgc3dpcGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRMaXN0T2ZMYXllcnMoKTtcbiAgICB0aGlzLnN3aXBlRW5hYmxlZCQkID0gdGhpcy5tYXAuc3dpcGVFbmFibGVkJC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZSA/IHRoaXMuZGlzcGxheVN3aXBlKCkgOiB0aGlzLmRpc3BsYXlTd2lwZU9mZigpO1xuICAgICAgfSk7XG4gICAgdGhpcy5sZXRab29tKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIG92ZXJsYXkgbGF5ZXIgYW5kIGFueSBpbnRlcmFjdGlvbiBhZGRlZCBieSB0aGlzIGNvbXBvbmVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN3aXBlRW5hYmxlZCQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5tYXAuc3dpcGVFbmFibGVkJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZGlzcGxheVN3aXBlT2ZmKCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheSBhIHN3aXBlLWVsZW1lbnQgYW5kIHJlbmRlciB0aGUgbGF5ZXJzXG4gICAqL1xuICBkaXNwbGF5U3dpcGUoKSB7XG4gICAgdGhpcy5zd2lwZUlkLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgdGhpcy5sYXllcnMubWFwKGxheWVyID0+IGxheWVyLm9sLm9uKCdwcmVyZW5kZXInLCB0aGlzLmJvdW5kUHJlcmVuZGVyKSk7XG4gICAgdGhpcy5sYXllcnMubWFwKGxheWVyID0+IGxheWVyLm9sLm9uKCdwb3N0cmVuZGVyJywgdGhpcy5wb3N0cmVuZGVyKSk7XG4gICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYSBzd2lwZS1lbGVtZW50IGFuZCByZW5kZXIgdGhlIGxheWVycyBvbiB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgKi9cbiAgZGlzcGxheVN3aXBlT2ZmKCkge1xuICAgIHRoaXMuc3dpcGVJZC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgdGhpcy5sYXllcnMubWFwKGxheWVyID0+IGxheWVyLm9sLnVuKCdwcmVyZW5kZXInLCB0aGlzLmJvdW5kUHJlcmVuZGVyKSk7XG4gICAgdGhpcy5sYXllcnMubWFwKGxheWVyID0+IGxheWVyLm9sLnVuKCdwb3N0cmVuZGVyJywgdGhpcy5wb3N0cmVuZGVyKSk7XG4gICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gICAgdGhpcy5sYXllcnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgb2YgZWxlbWVudFxuICAgKi9cbiAgZ2V0IHN3aXBlSWQoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZ28tbGF5ZXItc3dpcGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgbGF5ZXJzIGZvciBzd2lwZVxuICAgKi9cbiAgZ2V0TGlzdE9mTGF5ZXJzKCkge1xuICAgIHRoaXMubWFwLnNlbGVjdGVkRmVhdHVyZXMkLnN1YnNjcmliZShsYXllcnMgPT4ge1xuICAgICAgdGhpcy5sYXllcnMgPSBbXTtcbiAgICAgIGlmIChsYXllcnMgIT09IG51bGwpIHtcbiAgICAgICAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnMpIHtcbiAgICAgICAgICBpZiAoIXRoaXMubGF5ZXJzLmluY2x1ZGVzKGxheWVyKSkge1xuICAgICAgICAgICAgdGhpcy5sYXllcnMucHVzaChsYXllcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgcG9zaXRpb24gb2YgY2xpY2sgb3IgdG91Y2hcbiAgICovXG4gIGRyYWdEb3duKGV2ZW50KSB7XG4gICAgdGhpcy5pbkRyYWdBY3Rpb24gPSB0cnVlO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nKXtcbiAgICAgICAgdGhpcy5wb3MzID0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgdGhpcy5tb3VzZVN3aXBlKCk7XG4gICAgICAgIGRvY3VtZW50Lm9ubW91c2V1cCA9IHRoaXMuY2xvc2VEcmFnTW91c2VFbGVtZW50O1xuICAgIH1cbiAgICBlbHNlIGlmIChldmVudC50eXBlID09PSAndG91Y2hzdGFydCcpe1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJyb3dzJykuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgICB0aGlzLnBvczMgPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICAgIHRoaXMudG91Y2hTd2lwZSgpO1xuICAgICAgICBkb2N1bWVudC5vbnRvdWNoZW5kID0gdGhpcy5jbG9zZURyYWdUb3VjaEVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmluZyBhIGxpbmUgd2l0aCBhIG1vdXNlXG4gICAqL1xuICBtb3VzZVN3aXBlKCl7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgZXZlbnQgPT4ge1xuICAgICAgaWYgKHRoaXMuaW5EcmFnQWN0aW9uKXtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wb3MxID0gdGhpcy5wb3MzIC0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgdGhpcy5wb3MzID0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgdGhpcy5zd2lwZUlkLnN0eWxlLmxlZnQgPSAodGhpcy5zd2lwZUlkLm9mZnNldExlZnQgLSB0aGlzLnBvczEpICsgJ3B4JztcbiAgICAgIH1cbiAgICAgIHRoaXMubWFwLm9sLnJlbmRlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmluZyBhIGxpbmUgd2l0aCBhIHRvdWNoXG4gICAqL1xuICB0b3VjaFN3aXBlKCl7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgZXZlbnQgPT4ge1xuICAgICAgaWYgKHRoaXMuaW5EcmFnQWN0aW9uKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcnJvd3MnKS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMucG9zMSA9IHRoaXMucG9zMyAtIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICAgIHRoaXMucG9zMyA9IGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICAgIHRoaXMuc3dpcGVJZC5zdHlsZS5sZWZ0ID0gKHRoaXMuc3dpcGVJZC5vZmZzZXRMZWZ0IC0gdGhpcy5wb3MxKSArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLm1hcC5vbC5yZW5kZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGEgbGlzdGVuZXIgb2YgYSBtb3VzZS1hY3Rpb25cbiAgICovXG4gIGNsb3NlRHJhZ01vdXNlRWxlbWVudCgpIHtcbiAgICBkb2N1bWVudC5vbm1vdXNldXAgPSBudWxsO1xuICAgIGRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gbnVsbDtcbiAgICB0aGlzLmluRHJhZ0FjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYSBsaXN0ZW5lciBvZiBhIHRvdWNoLWFjdGlvblxuICAgKi9cbiAgY2xvc2VEcmFnVG91Y2hFbGVtZW50KCkge1xuICAgIGRvY3VtZW50Lm9udG91Y2hlbmQgPSBudWxsO1xuICAgIGRvY3VtZW50Lm9udG91Y2htb3ZlID0gbnVsbDtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJyb3dzJykuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICB0aGlzLmluRHJhZ0FjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1dCB0aGUgaW1hZ2Ugb2YgYSBsYXllciBieSB0aGUgcG9zaXRpb24gb2Ygc3dpcGVkLWVsZW1lbnRcbiAgICovXG4gIHByZXJlbmRlcihldmVudCkge1xuICAgICAgY29uc3QgY3R4ID0gZXZlbnQuY29udGV4dDtcbiAgICAgIGNvbnN0IG1hcFNpemUgPSB0aGlzLm1hcC5vbC5nZXRTaXplKCk7XG4gICAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3dpcGVJZC5vZmZzZXRMZWZ0IDtcbiAgICAgIGNvbnN0IHRsID0gZ2V0UmVuZGVyUGl4ZWwoZXZlbnQsIFt3aWR0aCwgMF0pO1xuICAgICAgY29uc3QgdHIgPSBnZXRSZW5kZXJQaXhlbChldmVudCwgWzAsIDBdKTtcbiAgICAgIGNvbnN0IGJsID0gZ2V0UmVuZGVyUGl4ZWwoZXZlbnQsIFt3aWR0aCwgbWFwU2l6ZVsxXV0pO1xuICAgICAgY29uc3QgYnIgPSBnZXRSZW5kZXJQaXhlbChldmVudCwgWzAsIG1hcFNpemVbMV1dKTtcbiAgICAgIGN0eC5zYXZlKCk7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHgubW92ZVRvKHRsWzBdLCB0bFsxXSk7XG4gICAgICBjdHgubGluZVRvKGJsWzBdLCBibFsxXSk7XG4gICAgICBjdHgubGluZVRvKGJyWzBdLCBiclsxXSk7XG4gICAgICBjdHgubGluZVRvKHRyWzBdLCB0clsxXSk7XG4gICAgICBjdHguY2xvc2VQYXRoKCk7XG4gICAgICBjdHguY2xpcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgYSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjb250ZXh0XG4gICAqL1xuICBwb3N0cmVuZGVyKGV2ZW50KXtcbiAgICBldmVudC5jb250ZXh0LnJlc3RvcmUoKTtcbiAgICBldmVudC5jb250ZXh0LnNhdmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBab29tIG9uIGRpdlxuICAgKi9cbiAgICAgcHJpdmF0ZSBsZXRab29tKCkge1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lnby1sYXllci1zd2lwZScpLmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgZXZlbnQgPT4ge1xuICAgICAgICBldmVudC5kZWx0YVkgPiAwID8gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuem9vbU91dCgpIDogdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuem9vbUluKCk7XG4gICAgICB9LCB0cnVlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXN3aXBlLWNvbnRyb2wtY29udGFpbmVyXCIgIGlkPVwiaWdvLWxheWVyLXN3aXBlXCJcbiAgKG1vdXNlZG93bik9XCJkcmFnRG93bigkZXZlbnQpXCJcbiAgKG1vdXNldXApPVwiY2xvc2VEcmFnTW91c2VFbGVtZW50KClcIlxuICAodG91Y2hzdGFydCk9XCJkcmFnRG93bigkZXZlbnQpXCJcbiAgKHRvdWNoZW5kKT1cImNsb3NlRHJhZ1RvdWNoRWxlbWVudCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJpZ28tc3dpcGUtY29udHJvbC1saW5lXCIgPjwvZGl2PlxuICBcbiAgPGRpdiBjbGFzcz1cImlnby1zd2lwZS1jb250cm9sLWFycm93c1wiIGlkPVwiYXJyb3dzXCI+XG4gICAgPGRpdiBjbGFzcz1cImlnby1hcnJvdy1sZWZ0XCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlnby1hcnJvdy1yaWdodFwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19