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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +4 -4
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +5 -5
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +3 -3
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
  9. package/esm2022/lib/catalog/catalog.module.mjs +3 -3
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
  14. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  15. package/esm2022/lib/datasource/datasource.module.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
  17. package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
  21. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  22. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
  24. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  31. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  32. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  38. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  41. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  42. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  46. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  47. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  48. package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
  49. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  50. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
  51. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  52. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +5 -5
  53. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  54. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  55. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  56. package/esm2022/lib/directions/directions.component.mjs +50 -25
  57. package/esm2022/lib/directions/directions.module.mjs +10 -6
  58. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  60. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  61. package/esm2022/lib/directions/shared/store.mjs +1 -1
  62. package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
  63. package/esm2022/lib/download/download.module.mjs +2 -2
  64. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  65. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  66. package/esm2022/lib/draw/draw/draw-popup.component.mjs +9 -9
  67. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  68. package/esm2022/lib/draw/draw/draw.component.mjs +28 -28
  69. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  70. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  71. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  72. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  73. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  74. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  75. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  76. package/esm2022/lib/environment/index.mjs +2 -0
  77. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +8 -8
  78. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  79. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  80. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
  81. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  82. package/esm2022/lib/feature/feature.module.mjs +2 -2
  83. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  84. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  85. package/esm2022/lib/feature/shared/store.mjs +3 -3
  86. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  87. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  88. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  89. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  90. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  91. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  92. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  93. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  94. package/esm2022/lib/filter/filter.module.mjs +21 -21
  95. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
  96. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +5 -5
  97. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +8 -8
  98. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  99. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +5 -5
  100. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +24 -4
  101. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  102. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  103. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +3 -3
  104. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  105. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  106. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  107. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  108. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  109. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +1 -1
  110. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  111. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  112. package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
  113. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  114. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  115. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +14 -14
  116. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  117. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +4 -4
  118. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +3 -3
  119. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +4 -4
  120. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +3 -3
  121. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  122. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +3 -3
  123. package/esm2022/lib/geo.module.mjs +4 -4
  124. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +8 -8
  125. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  126. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  127. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  128. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  129. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  130. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  131. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  132. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  133. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  134. package/esm2022/lib/import-export/export-button/export-button.component.mjs +4 -4
  135. package/esm2022/lib/import-export/import-export/import-export.component.mjs +38 -38
  136. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  137. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  138. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  139. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  140. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  141. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  142. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  143. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  144. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  145. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  146. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  147. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -7
  148. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
  149. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  150. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +4 -4
  151. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  152. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +9 -9
  153. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  154. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  155. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  156. package/esm2022/lib/layer/layer.module.mjs +9 -9
  157. package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
  158. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  159. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  160. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  161. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  162. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  163. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  164. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  165. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  166. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  167. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  168. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  169. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  170. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  171. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  172. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +3 -3
  173. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  174. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  175. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  176. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  177. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  178. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  179. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  180. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
  181. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +3 -3
  182. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +8 -10
  183. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  184. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  185. package/esm2022/lib/map/info-section/info-section.component.mjs +2 -2
  186. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  187. package/esm2022/lib/map/map-center/map-center.component.mjs +2 -2
  188. package/esm2022/lib/map/map.module.mjs +14 -14
  189. package/esm2022/lib/map/menu-button/menu-button.component.mjs +9 -20
  190. package/esm2022/lib/map/offline-button/offline-button.component.mjs +2 -2
  191. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +3 -3
  192. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  193. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  194. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  195. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  196. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  197. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +2 -2
  198. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  199. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  200. package/esm2022/lib/map/shared/map.interface.mjs +1 -1
  201. package/esm2022/lib/map/shared/map.mjs +9 -6
  202. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  203. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  204. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  205. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  206. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  207. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  208. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  209. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -4
  210. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  211. package/esm2022/lib/measure/measure.module.mjs +1 -1
  212. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  213. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +3 -3
  214. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  215. package/esm2022/lib/measure/measurer/measurer.component.mjs +11 -11
  216. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  217. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  218. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  219. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  220. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +4 -4
  221. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  222. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  223. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  224. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  225. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  226. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  227. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  228. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  229. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  230. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  231. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  232. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  233. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  234. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  235. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  236. package/esm2022/lib/print/print/print.component.mjs +3 -3
  237. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  238. package/esm2022/lib/print/print.module.mjs +4 -4
  239. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  240. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  241. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  242. package/esm2022/lib/query/query.module.mjs +3 -3
  243. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  244. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  245. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  246. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  247. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  248. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  249. package/esm2022/lib/search/search-bar/search-bar.component.mjs +6 -6
  250. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  251. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  252. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +5 -5
  253. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +15 -15
  254. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  255. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  256. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  257. package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
  258. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  259. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  260. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  261. package/esm2022/lib/search/search.module.mjs +8 -8
  262. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  263. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  264. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  265. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  266. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  267. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  268. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  269. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  270. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  271. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  272. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  273. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  274. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  275. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  276. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  277. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  278. package/esm2022/lib/search/shared/sources/nominatim.mjs +6 -6
  279. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  280. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  281. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  282. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  283. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  284. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  285. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  286. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  287. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  288. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  289. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  290. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  291. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  292. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  293. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  294. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  295. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  296. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  297. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  298. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  299. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  300. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  301. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
  302. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  303. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  304. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  305. package/esm2022/lib/style/style.module.mjs +4 -4
  306. package/esm2022/lib/toast/toast.component.mjs +3 -3
  307. package/esm2022/lib/toast/toast.module.mjs +3 -3
  308. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  309. package/esm2022/lib/utils/id-generator.mjs +2 -2
  310. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  311. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  312. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  313. package/esm2022/lib/wkt/shared/wkt.service.mjs +2 -2
  314. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  315. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
  316. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  317. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  318. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  319. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  320. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  321. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  322. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  323. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  324. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  325. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  326. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +3 -3
  327. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  328. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  329. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  330. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  331. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  332. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  333. package/esm2022/public_api.mjs +2 -1
  334. package/fesm2022/igo2-geo.mjs +34336 -34355
  335. package/fesm2022/igo2-geo.mjs.map +1 -1
  336. package/geo-theme.scss +23 -21
  337. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  338. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  339. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  340. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  341. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  342. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  343. package/lib/catalog/catalog.theming.scss +5 -0
  344. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  345. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  346. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  347. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  348. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  349. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  350. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  351. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  352. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  353. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  354. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  355. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  356. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  357. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  358. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  359. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  360. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  361. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  362. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  363. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  364. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  365. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  366. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  367. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  368. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  369. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  370. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  371. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  372. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  373. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  374. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  375. package/lib/directions/directions.component.d.ts +11 -3
  376. package/lib/directions/directions.module.d.ts +5 -4
  377. package/lib/directions/directions.theming.scss +6 -6
  378. package/lib/directions/shared/directions.interface.d.ts +1 -1
  379. package/lib/directions/shared/directions.service.d.ts +5 -5
  380. package/lib/directions/shared/directions.utils.d.ts +3 -3
  381. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  382. package/lib/draw/draw/draw.component.d.ts +12 -12
  383. package/lib/draw/draw.theming.scss +32 -32
  384. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  385. package/lib/draw/shared/draw.interface.d.ts +3 -3
  386. package/lib/draw/shared/draw.utils.d.ts +4 -4
  387. package/lib/environment/environment.interface.d.ts +48 -0
  388. package/lib/environment/index.d.ts +1 -0
  389. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  390. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  391. package/lib/feature/feature-details/feature-details.theming.scss +16 -16
  392. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  393. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  394. package/lib/feature/shared/feature.utils.d.ts +4 -4
  395. package/lib/feature/shared/store.d.ts +1 -1
  396. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  397. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  398. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  399. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  400. package/lib/feature/shared/strategies/search.d.ts +1 -1
  401. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  402. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  403. package/lib/filter/filter.theming.scss +0 -3
  404. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  405. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  406. package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
  407. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  408. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  409. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  410. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  411. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  412. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  413. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  414. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  415. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  416. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  417. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  418. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  419. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  420. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  421. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  422. package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
  423. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  424. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  425. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  426. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  427. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  428. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  429. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  430. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  431. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  432. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  433. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  434. package/lib/import-export/shared/export.interface.d.ts +1 -1
  435. package/lib/import-export/shared/export.service.d.ts +2 -2
  436. package/lib/import-export/shared/import.interface.d.ts +1 -0
  437. package/lib/import-export/shared/import.utils.d.ts +3 -3
  438. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  439. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  440. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  441. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  442. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  443. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  444. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  445. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  446. package/lib/layer/layer.theming.scss +0 -7
  447. package/lib/layer/shared/layer.service.d.ts +5 -5
  448. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  449. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  450. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  451. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  452. package/lib/layer/shared/layers/layer.d.ts +6 -6
  453. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  454. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  455. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  456. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  457. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  458. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  459. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  460. package/lib/layer/utils/image-watcher.d.ts +1 -1
  461. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  462. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  463. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  464. package/lib/map/home-extent-button/index.d.ts +1 -0
  465. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  466. package/lib/map/map-browser/map-browser.theming.scss +46 -46
  467. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  468. package/lib/map/menu-button/menu-button.theming.scss +20 -24
  469. package/lib/map/shared/controllers/controller.d.ts +1 -1
  470. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  471. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  472. package/lib/map/shared/controllers/view.d.ts +2 -2
  473. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  474. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  475. package/lib/map/shared/map.abstract.d.ts +5 -5
  476. package/lib/map/shared/map.d.ts +14 -10
  477. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  478. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  479. package/lib/map/utils/layer-watcher.d.ts +2 -2
  480. package/lib/map/zoom-button/zoom-button.theming.scss +32 -32
  481. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  482. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  483. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  484. package/lib/measure/shared/measure.utils.d.ts +5 -5
  485. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  486. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  487. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  488. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  489. package/lib/overlay/shared/overlay.d.ts +1 -1
  490. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  491. package/lib/print/print/print.component.d.ts +1 -1
  492. package/lib/print/print-form/print-form.component.d.ts +2 -2
  493. package/lib/print/shared/print.interface.d.ts +1 -1
  494. package/lib/print/shared/print.service.d.ts +2 -2
  495. package/lib/query/shared/query.directive.d.ts +4 -4
  496. package/lib/query/shared/query.interfaces.d.ts +3 -3
  497. package/lib/query/shared/query.service.d.ts +3 -3
  498. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  499. package/lib/search/search-bar/search-bar.theming.scss +36 -36
  500. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  501. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  502. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  503. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  504. package/lib/search/search-results/search-results.component.d.ts +4 -4
  505. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  506. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  507. package/lib/search/search.theming.scss +5 -5
  508. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  509. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  510. package/lib/search/shared/search.interfaces.d.ts +1 -1
  511. package/lib/search/shared/search.service.d.ts +2 -2
  512. package/lib/search/shared/search.utils.d.ts +1 -1
  513. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  514. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  515. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  516. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  517. package/lib/search/shared/sources/icherche.d.ts +4 -4
  518. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  519. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  520. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  521. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  522. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  523. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  524. package/lib/search/shared/sources/source.d.ts +2 -2
  525. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  526. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  527. package/lib/search/shared/sources/workspace.d.ts +1 -1
  528. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  529. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  530. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  531. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  532. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  533. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  534. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  535. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  536. package/lib/style/style-service/style.service.d.ts +3 -3
  537. package/lib/utils/id-generator.d.ts +2 -2
  538. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  539. package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  540. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  541. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  542. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  543. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  544. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  545. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  546. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  547. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  548. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  549. package/lib/workspace/workspace.theming.scss +6 -6
  550. package/locale/en.geo.json +11 -4
  551. package/locale/fr.geo.json +11 -4
  552. package/package.json +5 -5
  553. package/public_api.d.ts +1 -0
  554. package/style/style.css +0 -1
  555. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,26 +1,26 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { IgoLanguageModule } from '@igo2/core';
7
6
  import { IgoConfirmDialogModule } from '@igo2/common';
8
- import { MapBrowserComponent } from './map-browser/map-browser.component';
9
- import { ZoomButtonComponent } from './zoom-button/zoom-button.component';
10
- import { GeolocateButtonComponent } from './geolocate-button/geolocate-button.component';
11
- import { HomeExtentButtonComponent } from './home-extent-button/home-extent-button.component';
12
- import { RotationButtonComponent } from './rotation-button/rotation-button.component';
7
+ import { IgoLanguageModule } from '@igo2/core';
13
8
  import { BaseLayersSwitcherComponent } from './baselayers-switcher/baselayers-switcher.component';
14
9
  import { MiniBaseMapComponent } from './baselayers-switcher/mini-basemap.component';
15
- import { MapOfflineDirective } from './shared/mapOffline.directive';
10
+ import { GeolocateButtonComponent } from './geolocate-button/geolocate-button.component';
11
+ import { HomeExtentButtonComponent } from './home-extent-button/home-extent-button.component';
12
+ import { InfoSectionComponent } from './info-section/info-section.component';
13
+ import { MapBrowserComponent } from './map-browser/map-browser.component';
14
+ import { MapCenterComponent } from './map-center/map-center.component';
15
+ import { MenuButtonComponent } from './menu-button/menu-button.component';
16
16
  import { OfflineButtonComponent } from './offline-button/offline-button.component';
17
- import { WakeLockButtonComponent } from './wake-lock-button/wake-lock-button.component';
18
- import { PointerPositionDirective } from './shared/map-pointer-position.directive';
17
+ import { RotationButtonComponent } from './rotation-button/rotation-button.component';
19
18
  import { HoverFeatureDirective } from './shared/hover-feature.directive';
19
+ import { PointerPositionDirective } from './shared/map-pointer-position.directive';
20
+ import { MapOfflineDirective } from './shared/mapOffline.directive';
20
21
  import { SwipeControlComponent } from './swipe-control/swipe-control.component';
21
- import { MapCenterComponent } from './map-center/map-center.component';
22
- import { MenuButtonComponent } from './menu-button/menu-button.component';
23
- import { InfoSectionComponent } from './info-section/info-section.component';
22
+ import { WakeLockButtonComponent } from './wake-lock-button/wake-lock-button.component';
23
+ import { ZoomButtonComponent } from './zoom-button/zoom-button.component';
24
24
  import * as i0 from "@angular/core";
25
25
  export class IgoMapModule {
26
26
  static ɵfac = function IgoMapModule_Factory(t) { return new (t || IgoMapModule)(); };
@@ -117,4 +117,4 @@ export class IgoMapModule {
117
117
  SwipeControlComponent,
118
118
  MapCenterComponent,
119
119
  MenuButtonComponent] }); })();
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9tYXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFnRDdFLE1BQU0sT0FBTyxZQUFZO3NFQUFaLFlBQVk7NERBQVosWUFBWTtnRUE1Q3JCLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCOzt1RkF1Q1AsWUFBWTtjQTlDeEIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO2lCQUNwQjthQUNGOzt3RkFDWSxZQUFZLG1CQWxCckIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsbUJBQW1CLGFBekNuQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQixhQUdoQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgSWdvQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgWm9vbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vem9vbS1idXR0b24vem9vbS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEdlb2xvY2F0ZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZ2VvbG9jYXRlLWJ1dHRvbi9nZW9sb2NhdGUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb21lRXh0ZW50QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9ob21lLWV4dGVudC1idXR0b24vaG9tZS1leHRlbnQtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcm90YXRpb24tYnV0dG9uL3JvdGF0aW9uLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZUxheWVyc1N3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlbGF5ZXJzLXN3aXRjaGVyL2Jhc2VsYXllcnMtc3dpdGNoZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmlCYXNlTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlbGF5ZXJzLXN3aXRjaGVyL21pbmktYmFzZW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwT2ZmbGluZURpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL21hcE9mZmxpbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9mZmxpbmVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL29mZmxpbmUtYnV0dG9uL29mZmxpbmUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYWtlTG9ja0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vd2FrZS1sb2NrLWJ1dHRvbi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2ludGVyUG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJGZWF0dXJlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvaG92ZXItZmVhdHVyZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3dpcGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9zd2lwZS1jb250cm9sL3N3aXBlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcENlbnRlckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLWNlbnRlci9tYXAtY2VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5mb1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2luZm8tc2VjdGlvbi9pbmZvLXNlY3Rpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29Db25maXJtRGlhbG9nTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hcEJyb3dzZXJDb21wb25lbnQsXG4gICAgWm9vbUJ1dHRvbkNvbXBvbmVudCxcbiAgICBHZW9sb2NhdGVCdXR0b25Db21wb25lbnQsXG4gICAgSG9tZUV4dGVudEJ1dHRvbkNvbXBvbmVudCxcbiAgICBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbmZvU2VjdGlvbkNvbXBvbmVudCxcbiAgICBCYXNlTGF5ZXJzU3dpdGNoZXJDb21wb25lbnQsXG4gICAgTWluaUJhc2VNYXBDb21wb25lbnQsXG4gICAgTWFwT2ZmbGluZURpcmVjdGl2ZSxcbiAgICBPZmZsaW5lQnV0dG9uQ29tcG9uZW50LFxuICAgIFdha2VMb2NrQnV0dG9uQ29tcG9uZW50LFxuICAgIFBvaW50ZXJQb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICBIb3ZlckZlYXR1cmVEaXJlY3RpdmUsXG4gICAgU3dpcGVDb250cm9sQ29tcG9uZW50LFxuICAgIE1hcENlbnRlckNvbXBvbmVudCxcbiAgICBNZW51QnV0dG9uQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1hcEJyb3dzZXJDb21wb25lbnQsXG4gICAgWm9vbUJ1dHRvbkNvbXBvbmVudCxcbiAgICBHZW9sb2NhdGVCdXR0b25Db21wb25lbnQsXG4gICAgSG9tZUV4dGVudEJ1dHRvbkNvbXBvbmVudCxcbiAgICBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbmZvU2VjdGlvbkNvbXBvbmVudCxcbiAgICBCYXNlTGF5ZXJzU3dpdGNoZXJDb21wb25lbnQsXG4gICAgTWluaUJhc2VNYXBDb21wb25lbnQsXG4gICAgTWFwT2ZmbGluZURpcmVjdGl2ZSxcbiAgICBPZmZsaW5lQnV0dG9uQ29tcG9uZW50LFxuICAgIFdha2VMb2NrQnV0dG9uQ29tcG9uZW50LFxuICAgIFBvaW50ZXJQb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICBIb3ZlckZlYXR1cmVEaXJlY3RpdmUsXG4gICAgU3dpcGVDb250cm9sQ29tcG9uZW50LFxuICAgIE1hcENlbnRlckNvbXBvbmVudCxcbiAgICBNZW51QnV0dG9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvTWFwTW9kdWxlIHt9XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9tYXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFnRDFFLE1BQU0sT0FBTyxZQUFZO3NFQUFaLFlBQVk7NERBQVosWUFBWTtnRUE1Q3JCLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCOzt1RkF1Q1AsWUFBWTtjQTlDeEIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO2lCQUNwQjthQUNGOzt3RkFDWSxZQUFZLG1CQWxCckIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsbUJBQW1CLGFBekNuQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQixhQUdoQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0NvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUxheWVyc1N3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlbGF5ZXJzLXN3aXRjaGVyL2Jhc2VsYXllcnMtc3dpdGNoZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWluaUJhc2VNYXBDb21wb25lbnQgfSBmcm9tICcuL2Jhc2VsYXllcnMtc3dpdGNoZXIvbWluaS1iYXNlbWFwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlb2xvY2F0ZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZ2VvbG9jYXRlLWJ1dHRvbi9nZW9sb2NhdGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhvbWVFeHRlbnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2hvbWUtZXh0ZW50LWJ1dHRvbi9ob21lLWV4dGVudC1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2luZm8tc2VjdGlvbi9pbmZvLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFwQ2VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtY2VudGVyL21hcC1jZW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVudUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1idXR0b24vbWVudS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2ZmbGluZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vb2ZmbGluZS1idXR0b24vb2ZmbGluZS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm90YXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JvdGF0aW9uLWJ1dHRvbi9yb3RhdGlvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSG92ZXJGZWF0dXJlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvaG92ZXItZmVhdHVyZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb2ludGVyUG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXBPZmZsaW5lRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvbWFwT2ZmbGluZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTd2lwZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3N3aXBlLWNvbnRyb2wvc3dpcGUtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXYWtlTG9ja0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vd2FrZS1sb2NrLWJ1dHRvbi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvb21CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3pvb20tYnV0dG9uL3pvb20tYnV0dG9uLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvQ29uZmlybURpYWxvZ01vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgWm9vbUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEdlb2xvY2F0ZUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEhvbWVFeHRlbnRCdXR0b25Db21wb25lbnQsXHJcbiAgICBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEluZm9TZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFzZUxheWVyc1N3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgTWluaUJhc2VNYXBDb21wb25lbnQsXHJcbiAgICBNYXBPZmZsaW5lRGlyZWN0aXZlLFxyXG4gICAgT2ZmbGluZUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFdha2VMb2NrQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUG9pbnRlclBvc2l0aW9uRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJGZWF0dXJlRGlyZWN0aXZlLFxyXG4gICAgU3dpcGVDb250cm9sQ29tcG9uZW50LFxyXG4gICAgTWFwQ2VudGVyQ29tcG9uZW50LFxyXG4gICAgTWVudUJ1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgWm9vbUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEdlb2xvY2F0ZUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEhvbWVFeHRlbnRCdXR0b25Db21wb25lbnQsXHJcbiAgICBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEluZm9TZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFzZUxheWVyc1N3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgTWluaUJhc2VNYXBDb21wb25lbnQsXHJcbiAgICBNYXBPZmZsaW5lRGlyZWN0aXZlLFxyXG4gICAgT2ZmbGluZUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFdha2VMb2NrQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUG9pbnRlclBvc2l0aW9uRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJGZWF0dXJlRGlyZWN0aXZlLFxyXG4gICAgU3dpcGVDb250cm9sQ29tcG9uZW50LFxyXG4gICAgTWFwQ2VudGVyQ29tcG9uZW50LFxyXG4gICAgTWVudUJ1dHRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb01hcE1vZHVsZSB7fVxyXG4iXX0=
@@ -18,28 +18,17 @@ export class MenuButtonComponent {
18
18
  }
19
19
  _sidenavOpenend;
20
20
  openSidenav = new EventEmitter();
21
- menuButtonReverseColor = false;
21
+ useThemeColor;
22
22
  menuButtonClass;
23
23
  constructor(configService) {
24
24
  this.configService = configService;
25
- if (typeof this.configService.getConfig('menuButtonReverseColor') !==
26
- 'undefined') {
27
- this.menuButtonReverseColor = this.configService.getConfig('menuButtonReverseColor');
28
- }
25
+ const configValue = this.configService.getConfig('menu.button.useThemeColor');
26
+ this.useThemeColor = configValue !== undefined ? configValue : false;
29
27
  }
30
28
  getClassMenuButton() {
31
- if (this.sidenavOpened) {
32
- this.menuButtonClass = {
33
- 'menu-button': this.menuButtonReverseColor === false,
34
- 'menu-button-reverse-color': this.menuButtonReverseColor === true
35
- };
36
- }
37
- else {
38
- this.menuButtonClass = {
39
- 'menu-button': this.menuButtonReverseColor === false,
40
- 'menu-button-reverse-color-close': this.menuButtonReverseColor === true
41
- };
42
- }
29
+ this.menuButtonClass = {
30
+ 'menu-button-white-background': !this.useThemeColor
31
+ };
43
32
  }
44
33
  onToggleSidenavClick() {
45
34
  this.openSidenav.emit();
@@ -53,14 +42,14 @@ export class MenuButtonComponent {
53
42
  i0.ɵɵelementEnd();
54
43
  } if (rf & 2) {
55
44
  i0.ɵɵproperty("ngClass", ctx.menuButtonClass)("matTooltip", i0.ɵɵpipeBind1(1, 2, ctx.sidenavOpened ? "menu.close" : "menu.open"));
56
- } }, dependencies: [i2.NgClass, i3.MatIcon, i4.MatIconButton, i5.MatTooltip, i6.TranslatePipe], styles: ["[_nghost-%COMP%] button[_ngcontent-%COMP%]{border-radius:0!important}[_nghost-%COMP%] button[_ngcontent-%COMP%] .mat-ripple[_ngcontent-%COMP%], [_nghost-%COMP%] button[_ngcontent-%COMP%] .mdc-icon-button__ripple[_ngcontent-%COMP%]{border-radius:0!important}[_nghost-%COMP%] #menu-button[_ngcontent-%COMP%]{background-color:#fff;border-radius:0}[_nghost-%COMP%] #menu-button.menu-button-reverse-color[_ngcontent-%COMP%]{height:40px;border-radius:0;height:45px;width:48px}[_nghost-%COMP%] #menu-button.menu-button-reverse-color-close[_ngcontent-%COMP%]{border-radius:0}[_nghost-%COMP%] mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}"] });
45
+ } }, dependencies: [i2.NgClass, i3.MatIcon, i4.MatIconButton, i5.MatTooltip, i6.TranslatePipe], styles: ["[_nghost-%COMP%] button[_ngcontent-%COMP%]{border-radius:0!important}[_nghost-%COMP%] button[_ngcontent-%COMP%] .mat-ripple[_ngcontent-%COMP%], [_nghost-%COMP%] button[_ngcontent-%COMP%] .mdc-icon-button__ripple[_ngcontent-%COMP%]{border-radius:0!important}"] });
57
46
  }
58
47
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuButtonComponent, [{
59
48
  type: Component,
60
- args: [{ selector: 'igo-menu-button', template: "<button\r\n mat-icon-button\r\n id=\"menu-button\"\r\n [ngClass]=\"menuButtonClass\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(sidenavOpened ? 'menu.close' : 'menu.open') | translate\"\r\n (click)=\"onToggleSidenavClick()\"\r\n>\r\n <mat-icon svgIcon=\"menu\"></mat-icon>\r\n</button>\r\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host #menu-button{background-color:#fff;border-radius:0}:host #menu-button.menu-button-reverse-color{height:40px;border-radius:0;height:45px;width:48px}:host #menu-button.menu-button-reverse-color-close{border-radius:0}:host mat-icon.disabled{color:#00000061}\n"] }]
49
+ args: [{ selector: 'igo-menu-button', template: "<button\n mat-icon-button\n id=\"menu-button\"\n [ngClass]=\"menuButtonClass\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sidenavOpened ? 'menu.close' : 'menu.open') | translate\"\n (click)=\"onToggleSidenavClick()\"\n>\n <mat-icon svgIcon=\"menu\"></mat-icon>\n</button>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}\n"] }]
61
50
  }], function () { return [{ type: i1.ConfigService }]; }, { sidenavOpened: [{
62
51
  type: Input
63
52
  }], openSidenav: [{
64
53
  type: Output
65
54
  }] }); })();
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL21lbnUtYnV0dG9uL21lbnUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFpQlg7SUFoQm5CLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ08sZUFBZSxDQUFVO0lBRXZCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXpDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUUvQixlQUFlLENBQUM7SUFFdkIsWUFBbUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDN0MsSUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDO1lBQzdELFdBQVcsRUFDWDtZQUNBLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDeEQsd0JBQXdCLENBQ3pCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUc7Z0JBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsc0JBQXNCLEtBQUssS0FBSztnQkFDcEQsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixLQUFLLElBQUk7YUFDbEUsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHO2dCQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixLQUFLLEtBQUs7Z0JBQ3BELGlDQUFpQyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxJQUFJO2FBQ3hFLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzZFQTVDVSxtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ1RoQyxpQ0FRQztZQURDLGdHQUFTLDBCQUFzQixJQUFDOztZQUVoQyw4QkFBb0M7WUFDdEMsaUJBQVM7O1lBUFAsNkNBQTJCLG9GQUFBOzs7dUZETWhCLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLGlCQUFpQjtnRUFNdkIsYUFBYTtrQkFEaEIsS0FBSztZQVVJLFdBQVc7a0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbWVudS1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBnZXQgc2lkZW5hdk9wZW5lZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zaWRlbmF2T3BlbmVuZDtcclxuICB9XHJcbiAgc2V0IHNpZGVuYXZPcGVuZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NpZGVuYXZPcGVuZW5kID0gdmFsdWU7XHJcbiAgICB0aGlzLmdldENsYXNzTWVudUJ1dHRvbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zaWRlbmF2T3BlbmVuZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIG9wZW5TaWRlbmF2ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHB1YmxpYyBtZW51QnV0dG9uUmV2ZXJzZUNvbG9yID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBtZW51QnV0dG9uQ2xhc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdtZW51QnV0dG9uUmV2ZXJzZUNvbG9yJykgIT09XHJcbiAgICAgICd1bmRlZmluZWQnXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tZW51QnV0dG9uUmV2ZXJzZUNvbG9yID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZyhcclxuICAgICAgICAnbWVudUJ1dHRvblJldmVyc2VDb2xvcidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENsYXNzTWVudUJ1dHRvbigpIHtcclxuICAgIGlmICh0aGlzLnNpZGVuYXZPcGVuZWQpIHtcclxuICAgICAgdGhpcy5tZW51QnV0dG9uQ2xhc3MgPSB7XHJcbiAgICAgICAgJ21lbnUtYnV0dG9uJzogdGhpcy5tZW51QnV0dG9uUmV2ZXJzZUNvbG9yID09PSBmYWxzZSxcclxuICAgICAgICAnbWVudS1idXR0b24tcmV2ZXJzZS1jb2xvcic6IHRoaXMubWVudUJ1dHRvblJldmVyc2VDb2xvciA9PT0gdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZW51QnV0dG9uQ2xhc3MgPSB7XHJcbiAgICAgICAgJ21lbnUtYnV0dG9uJzogdGhpcy5tZW51QnV0dG9uUmV2ZXJzZUNvbG9yID09PSBmYWxzZSxcclxuICAgICAgICAnbWVudS1idXR0b24tcmV2ZXJzZS1jb2xvci1jbG9zZSc6IHRoaXMubWVudUJ1dHRvblJldmVyc2VDb2xvciA9PT0gdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ub2dnbGVTaWRlbmF2Q2xpY2soKSB7XHJcbiAgICB0aGlzLm9wZW5TaWRlbmF2LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIG1hdC1pY29uLWJ1dHRvblxyXG4gIGlkPVwibWVudS1idXR0b25cIlxyXG4gIFtuZ0NsYXNzXT1cIm1lbnVCdXR0b25DbGFzc1wiXHJcbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICBbbWF0VG9vbHRpcF09XCIoc2lkZW5hdk9wZW5lZCA/ICdtZW51LmNsb3NlJyA6ICdtZW51Lm9wZW4nKSB8IHRyYW5zbGF0ZVwiXHJcbiAgKGNsaWNrKT1cIm9uVG9nZ2xlU2lkZW5hdkNsaWNrKClcIlxyXG4+XHJcbiAgPG1hdC1pY29uIHN2Z0ljb249XCJtZW51XCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL21lbnUtYnV0dG9uL21lbnUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFpQlg7SUFoQm5CLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ08sZUFBZSxDQUFVO0lBRXZCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXpDLGFBQWEsQ0FBVTtJQUV2QixlQUFlLENBQUM7SUFFdkIsWUFBbUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQzlDLDJCQUEyQixDQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsOEJBQThCLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7NkVBaENVLG1CQUFtQjs2REFBbkIsbUJBQW1CO1lDVGhDLGlDQVFDO1lBREMsZ0dBQVMsMEJBQXNCLElBQUM7O1lBRWhDLDhCQUFvQztZQUN0QyxpQkFBUzs7WUFQUCw2Q0FBMkIsb0ZBQUE7Ozt1RkRNaEIsbUJBQW1CO2NBTC9CLFNBQVM7MkJBQ0UsaUJBQWlCO2dFQU12QixhQUFhO2tCQURoQixLQUFLO1lBVUksV0FBVztrQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1tZW51LWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51QnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBzaWRlbmF2T3BlbmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NpZGVuYXZPcGVuZW5kO1xyXG4gIH1cclxuICBzZXQgc2lkZW5hdk9wZW5lZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2lkZW5hdk9wZW5lbmQgPSB2YWx1ZTtcclxuICAgIHRoaXMuZ2V0Q2xhc3NNZW51QnV0dG9uKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NpZGVuYXZPcGVuZW5kOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlblNpZGVuYXYgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIHVzZVRoZW1lQ29sb3I6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBtZW51QnV0dG9uQ2xhc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCBjb25maWdWYWx1ZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdtZW51LmJ1dHRvbi51c2VUaGVtZUNvbG9yJ1xyXG4gICAgKTtcclxuICAgIHRoaXMudXNlVGhlbWVDb2xvciA9IGNvbmZpZ1ZhbHVlICE9PSB1bmRlZmluZWQgPyBjb25maWdWYWx1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NNZW51QnV0dG9uKCkge1xyXG4gICAgdGhpcy5tZW51QnV0dG9uQ2xhc3MgPSB7XHJcbiAgICAgICdtZW51LWJ1dHRvbi13aGl0ZS1iYWNrZ3JvdW5kJzogIXRoaXMudXNlVGhlbWVDb2xvclxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG9uVG9nZ2xlU2lkZW5hdkNsaWNrKCkge1xyXG4gICAgdGhpcy5vcGVuU2lkZW5hdi5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cbiAgbWF0LWljb24tYnV0dG9uXG4gIGlkPVwibWVudS1idXR0b25cIlxuICBbbmdDbGFzc109XCJtZW51QnV0dG9uQ2xhc3NcIlxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiKHNpZGVuYXZPcGVuZWQgPyAnbWVudS5jbG9zZScgOiAnbWVudS5vcGVuJykgfCB0cmFuc2xhdGVcIlxuICAoY2xpY2spPVwib25Ub2dnbGVTaWRlbmF2Q2xpY2soKVwiXG4+XG4gIDxtYXQtaWNvbiBzdmdJY29uPVwibWVudVwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -44,7 +44,7 @@ export class OfflineButtonComponent {
44
44
  }
45
45
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OfflineButtonComponent, [{
46
46
  type: Component,
47
- args: [{ selector: 'igo-offline-button', template: "<div class=\"igo-user-button-container\">\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"\r\n enabled\r\n ? ('igo.geo.mapButtons.online' | translate)\r\n : ('igo.geo.mapButtons.offline' | translate)\r\n \"\r\n matTooltipPosition=\"left\"\r\n [ngClass]=\"[btnStyle]\"\r\n [color]=\"enabled ? color : null\"\r\n (click)=\"onClick()\"\r\n >\r\n <mat-icon svgIcon=\"wifi-strength-off\"></mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .onlineStyle{width:40px;background-color:#fff}:host .onlineStyle:hover{background-color:#efefef}:host .offlineStyle{width:40px;background-color:#b9b9b9}\n"] }]
47
+ args: [{ selector: 'igo-offline-button', template: "<div class=\"igo-user-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"\n enabled\n ? ('igo.geo.mapButtons.online' | translate)\n : ('igo.geo.mapButtons.offline' | translate)\n \"\n matTooltipPosition=\"left\"\n [ngClass]=\"[btnStyle]\"\n [color]=\"enabled ? color : null\"\n (click)=\"onClick()\"\n >\n <mat-icon svgIcon=\"wifi-strength-off\"></mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .onlineStyle{width:40px;background-color:#fff}:host .onlineStyle:hover{background-color:#efefef}:host .offlineStyle{width:40px;background-color:#b9b9b9}\n"] }]
48
48
  }], function () { return []; }, { map: [{
49
49
  type: Input
50
50
  }], color: [{
@@ -52,4 +52,4 @@ export class OfflineButtonComponent {
52
52
  }], enabled: [{
53
53
  type: Input
54
54
  }] }); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL29mZmxpbmUtYnV0dG9uL29mZmxpbmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9vZmZsaW5lLWJ1dHRvbi9vZmZsaW5lLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU92QyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFFBQVEsR0FBVyxhQUFhLENBQUM7SUFFeEIsR0FBRyxDQUFTO0lBQ1osS0FBSyxDQUFTO0lBQ2QsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVsQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7U0FDL0I7SUFDSCxDQUFDO2dGQXpCVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ1JuQyw4QkFBdUMsZ0JBQUE7WUFXbkMsbUdBQVMsYUFBUyxJQUFDOzs7WUFFbkIsOEJBQWlEO1lBQ25ELGlCQUFTLEVBQUE7O1lBWFAsZUFJQztZQUpELGlKQUlDLHFEQUFBLHlDQUFBOzs7dUZEQ1Esc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CO3NDQU9yQixHQUFHO2tCQUFYLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vc2hhcmVkL21hcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1vZmZsaW5lLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29mZmxpbmUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vZmZsaW5lLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPZmZsaW5lQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBidG5TdHlsZTogc3RyaW5nID0gJ29ubGluZVN0eWxlJztcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcbiAgQElucHV0KCkgY29sb3I6IElnb01hcDtcclxuICBASW5wdXQoKSBlbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcC5mb3JjZWRPZmZsaW5lJC5uZXh0KHRoaXMuZW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5lbmFibGVkID0gIXRoaXMuZW5hYmxlZDtcclxuICAgIHRoaXMuaGFuZGxlQnV0dG9uU3R5bGUoKTtcclxuICAgIHRoaXMubWFwLmZvcmNlZE9mZmxpbmUkLm5leHQodGhpcy5lbmFibGVkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQnV0dG9uU3R5bGUoKSB7XHJcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYnRuU3R5bGUgPSAnb2ZmbGluZVN0eWxlJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYnRuU3R5bGUgPSAnb25saW5lU3R5bGUnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXVzZXItYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgIGVuYWJsZWRcclxuICAgICAgICA/ICgnaWdvLmdlby5tYXBCdXR0b25zLm9ubGluZScgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgOiAoJ2lnby5nZW8ubWFwQnV0dG9ucy5vZmZsaW5lJyB8IHRyYW5zbGF0ZSlcclxuICAgIFwiXHJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcclxuICAgIFtuZ0NsYXNzXT1cIltidG5TdHlsZV1cIlxyXG4gICAgW2NvbG9yXT1cImVuYWJsZWQgPyBjb2xvciA6IG51bGxcIlxyXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJ3aWZpLXN0cmVuZ3RoLW9mZlwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL29mZmxpbmUtYnV0dG9uL29mZmxpbmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9vZmZsaW5lLWJ1dHRvbi9vZmZsaW5lLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU92QyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFFBQVEsR0FBVyxhQUFhLENBQUM7SUFFeEIsR0FBRyxDQUFTO0lBQ1osS0FBSyxDQUFTO0lBQ2QsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVsQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7U0FDL0I7SUFDSCxDQUFDO2dGQXpCVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ1RuQyw4QkFBdUMsZ0JBQUE7WUFXbkMsbUdBQVMsYUFBUyxJQUFDOzs7WUFFbkIsOEJBQWlEO1lBQ25ELGlCQUFTLEVBQUE7O1lBWFAsZUFJQztZQUpELGlKQUlDLHFEQUFBLHlDQUFBOzs7dUZERVEsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CO3NDQU9yQixHQUFHO2tCQUFYLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uL3NoYXJlZC9tYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tb2ZmbGluZS1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZsaW5lLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb2ZmbGluZS1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2ZmbGluZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYnRuU3R5bGU6IHN0cmluZyA9ICdvbmxpbmVTdHlsZSc7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBJZ29NYXA7XHJcbiAgQElucHV0KCkgZW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXAuZm9yY2VkT2ZmbGluZSQubmV4dCh0aGlzLmVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIHRoaXMuZW5hYmxlZCA9ICF0aGlzLmVuYWJsZWQ7XHJcbiAgICB0aGlzLmhhbmRsZUJ1dHRvblN0eWxlKCk7XHJcbiAgICB0aGlzLm1hcC5mb3JjZWRPZmZsaW5lJC5uZXh0KHRoaXMuZW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUJ1dHRvblN0eWxlKCkge1xyXG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmJ0blN0eWxlID0gJ29mZmxpbmVTdHlsZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJ0blN0eWxlID0gJ29ubGluZVN0eWxlJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby11c2VyLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgZW5hYmxlZFxuICAgICAgICA/ICgnaWdvLmdlby5tYXBCdXR0b25zLm9ubGluZScgfCB0cmFuc2xhdGUpXG4gICAgICAgIDogKCdpZ28uZ2VvLm1hcEJ1dHRvbnMub2ZmbGluZScgfCB0cmFuc2xhdGUpXG4gICAgXCJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcbiAgICBbbmdDbGFzc109XCJbYnRuU3R5bGVdXCJcbiAgICBbY29sb3JdPVwiZW5hYmxlZCA/IGNvbG9yIDogbnVsbFwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIndpZmktc3RyZW5ndGgtb2ZmXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
2
  import { bearingToAzimuth } from '@turf/helpers';
3
+ import { BehaviorSubject } from 'rxjs';
4
4
  import { IgoMap } from '../shared/map';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
@@ -62,7 +62,7 @@ export class RotationButtonComponent {
62
62
  }
63
63
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RotationButtonComponent, [{
64
64
  type: Component,
65
- args: [{ selector: 'igo-rotation-button', template: "<div\r\n *ngIf=\"((rotated$ | async) && !showIfNoRotation) || showIfNoRotation\"\r\n class=\"igo-rotation-button-container\"\r\n [matTooltip]=\"\r\n (rotated$ | async)\r\n ? ('igo.geo.mapButtons.resetRotation'\r\n | translate: { azimuth: azimuthRounded, rotation: rotationRounded })\r\n : ('igo.geo.mapButtons.tipRotation' | translate)\r\n \"\r\n matTooltipPosition=\"left\"\r\n>\r\n <button\r\n mat-icon-button\r\n matTooltipPosition=\"left\"\r\n [color]=\"color\"\r\n [disabled]=\"(rotated$ | async) === false\"\r\n (click)=\"map.viewController.resetRotation()\"\r\n >\r\n <mat-icon [ngStyle]=\"currentStyle$ | async\" svgIcon=\"navigation\">\r\n </mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-rotation-button-container{width:40px;background-color:#fff}:host .igo-rotation-button-container:hover{background-color:#efefef}\n"] }]
65
+ args: [{ selector: 'igo-rotation-button', template: "<div\n *ngIf=\"((rotated$ | async) && !showIfNoRotation) || showIfNoRotation\"\n class=\"igo-rotation-button-container\"\n [matTooltip]=\"\n (rotated$ | async)\n ? ('igo.geo.mapButtons.resetRotation'\n | translate: { azimuth: azimuthRounded, rotation: rotationRounded })\n : ('igo.geo.mapButtons.tipRotation' | translate)\n \"\n matTooltipPosition=\"left\"\n>\n <button\n mat-icon-button\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"(rotated$ | async) === false\"\n (click)=\"map.viewController.resetRotation()\"\n >\n <mat-icon [ngStyle]=\"currentStyle$ | async\" svgIcon=\"navigation\">\n </mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-rotation-button-container{width:40px;background-color:#fff}:host .igo-rotation-button-container:hover{background-color:#efefef}\n"] }]
66
66
  }], function () { return []; }, { map: [{
67
67
  type: Input
68
68
  }], showIfNoRotation: [{
@@ -70,4 +70,4 @@ export class RotationButtonComponent {
70
70
  }], color: [{
71
71
  type: Input
72
72
  }] }); })();
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9yb3RhdGlvbi1idXR0b24vcm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9yb3RhdGlvbi1idXR0b24vcm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDSnZDLDhCQVVDOzs7O0lBQ0MsaUNBTUM7SUFEQyxvS0FBUyxlQUFBLHlDQUFrQyxDQUFBLElBQUM7O0lBRTVDLDhCQUNXOztJQUNiLGlCQUFTLEVBQUE7OztJQWpCVCxrUUFLQztJQU1DLGVBQWU7SUFBZixvQ0FBZSw4REFBQTtJQUlMLGVBQWlDO0lBQWpDLHFFQUFpQzs7QURQL0MsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixRQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDakQsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUMzQixlQUFlLEdBQVcsQ0FBQyxDQUFDO0lBQzFCLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBSztRQUMvQyxTQUFTLEVBQUUsY0FBYztLQUMxQixDQUFDLENBQUM7SUFFTSxHQUFHLENBQVM7SUFDWixnQkFBZ0IsQ0FBVTtJQUMxQixLQUFLLENBQVM7SUFFdkIsZ0JBQWUsQ0FBQztJQUVoQixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hELE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxHQUFHLE1BQU07YUFDeEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpRkF6QlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNYcEMseUVBcUJNOzs7WUFwQkgsMEdBQW1FOzs7dUZEVXpELHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHFCQUFxQjtzQ0FZdEIsR0FBRztrQkFBWCxLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgYmVhcmluZ1RvQXppbXV0aCB9IGZyb20gJ0B0dXJmL2hlbHBlcnMnO1xyXG5cclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vc2hhcmVkL21hcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1yb3RhdGlvbi1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3RhdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JvdGF0aW9uLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3RhdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG4gIHJlYWRvbmx5IHJvdGF0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIGF6aW11dGhSb3VuZGVkOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyByb3RhdGlvblJvdW5kZWQ6IG51bWJlciA9IDA7XHJcbiAgcmVhZG9ubHkgY3VycmVudFN0eWxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e30+KHtcclxuICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgwcmFkKSdcclxuICB9KTtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcbiAgQElucHV0KCkgc2hvd0lmTm9Sb3RhdGlvbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJvdGF0aW9uJC5zdWJzY3JpYmUoKHIpID0+IHtcclxuICAgICAgY29uc3QgcmFkaWFucyA9IHIgfHwgMDtcclxuICAgICAgY29uc3QgZGVnID0gKHJhZGlhbnMgKiAxODApIC8gTWF0aC5QSTtcclxuICAgICAgdGhpcy5yb3RhdGlvblJvdW5kZWQgPSBNYXRoLnJvdW5kKGRlZyk7XHJcbiAgICAgIHRoaXMuYXppbXV0aFJvdW5kZWQgPSBNYXRoLnJvdW5kKGJlYXJpbmdUb0F6aW11dGgoZGVnICogLTEpKTtcclxuICAgICAgdGhpcy5jdXJyZW50U3R5bGUkLm5leHQoe1xyXG4gICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgnICsgcmFkaWFucyArICdyYWQpJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5yb3RhdGVkJC5uZXh0KHJhZGlhbnMgIT09IDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAqbmdJZj1cIigocm90YXRlZCQgfCBhc3luYykgJiYgIXNob3dJZk5vUm90YXRpb24pIHx8IHNob3dJZk5vUm90YXRpb25cIlxyXG4gIGNsYXNzPVwiaWdvLXJvdGF0aW9uLWJ1dHRvbi1jb250YWluZXJcIlxyXG4gIFttYXRUb29sdGlwXT1cIlxyXG4gICAgKHJvdGF0ZWQkIHwgYXN5bmMpXHJcbiAgICAgID8gKCdpZ28uZ2VvLm1hcEJ1dHRvbnMucmVzZXRSb3RhdGlvbidcclxuICAgICAgICB8IHRyYW5zbGF0ZTogeyBhemltdXRoOiBhemltdXRoUm91bmRlZCwgcm90YXRpb246IHJvdGF0aW9uUm91bmRlZCB9KVxyXG4gICAgICA6ICgnaWdvLmdlby5tYXBCdXR0b25zLnRpcFJvdGF0aW9uJyB8IHRyYW5zbGF0ZSlcclxuICBcIlxyXG4gIG1hdFRvb2x0aXBQb3NpdGlvbj1cImxlZnRcIlxyXG4+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcclxuICAgIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgICBbZGlzYWJsZWRdPVwiKHJvdGF0ZWQkIHwgYXN5bmMpID09PSBmYWxzZVwiXHJcbiAgICAoY2xpY2spPVwibWFwLnZpZXdDb250cm9sbGVyLnJlc2V0Um90YXRpb24oKVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIFtuZ1N0eWxlXT1cImN1cnJlbnRTdHlsZSQgfCBhc3luY1wiIHN2Z0ljb249XCJuYXZpZ2F0aW9uXCI+XHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9yb3RhdGlvbi1idXR0b24vcm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9yb3RhdGlvbi1idXR0b24vcm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDTHZDLDhCQVVDOzs7O0lBQ0MsaUNBTUM7SUFEQyxvS0FBUyxlQUFBLHlDQUFrQyxDQUFBLElBQUM7O0lBRTVDLDhCQUNXOztJQUNiLGlCQUFTLEVBQUE7OztJQWpCVCxrUUFLQztJQU1DLGVBQWU7SUFBZixvQ0FBZSw4REFBQTtJQUlMLGVBQWlDO0lBQWpDLHFFQUFpQzs7QUROL0MsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixRQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDakQsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUMzQixlQUFlLEdBQVcsQ0FBQyxDQUFDO0lBQzFCLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBSztRQUMvQyxTQUFTLEVBQUUsY0FBYztLQUMxQixDQUFDLENBQUM7SUFFTSxHQUFHLENBQVM7SUFDWixnQkFBZ0IsQ0FBVTtJQUMxQixLQUFLLENBQVM7SUFFdkIsZ0JBQWUsQ0FBQztJQUVoQixrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hELE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxHQUFHLE1BQU07YUFDeEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpRkF6QlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNacEMseUVBcUJNOzs7WUFwQkgsMEdBQW1FOzs7dUZEV3pELHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHFCQUFxQjtzQ0FZdEIsR0FBRztrQkFBWCxLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgYmVhcmluZ1RvQXppbXV0aCB9IGZyb20gJ0B0dXJmL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uL3NoYXJlZC9tYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tcm90YXRpb24tYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm90YXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yb3RhdGlvbi1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm90YXRpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcclxuICByZWFkb25seSByb3RhdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBhemltdXRoUm91bmRlZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgcm90YXRpb25Sb3VuZGVkOiBudW1iZXIgPSAwO1xyXG4gIHJlYWRvbmx5IGN1cnJlbnRTdHlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHt9Pih7XHJcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoMHJhZCknXHJcbiAgfSk7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG4gIEBJbnB1dCgpIHNob3dJZk5vUm90YXRpb246IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yb3RhdGlvbiQuc3Vic2NyaWJlKChyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJhZGlhbnMgPSByIHx8IDA7XHJcbiAgICAgIGNvbnN0IGRlZyA9IChyYWRpYW5zICogMTgwKSAvIE1hdGguUEk7XHJcbiAgICAgIHRoaXMucm90YXRpb25Sb3VuZGVkID0gTWF0aC5yb3VuZChkZWcpO1xyXG4gICAgICB0aGlzLmF6aW11dGhSb3VuZGVkID0gTWF0aC5yb3VuZChiZWFyaW5nVG9BemltdXRoKGRlZyAqIC0xKSk7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0eWxlJC5uZXh0KHtcclxuICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoJyArIHJhZGlhbnMgKyAncmFkKSdcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMucm90YXRlZCQubmV4dChyYWRpYW5zICE9PSAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XG4gICpuZ0lmPVwiKChyb3RhdGVkJCB8IGFzeW5jKSAmJiAhc2hvd0lmTm9Sb3RhdGlvbikgfHwgc2hvd0lmTm9Sb3RhdGlvblwiXG4gIGNsYXNzPVwiaWdvLXJvdGF0aW9uLWJ1dHRvbi1jb250YWluZXJcIlxuICBbbWF0VG9vbHRpcF09XCJcbiAgICAocm90YXRlZCQgfCBhc3luYylcbiAgICAgID8gKCdpZ28uZ2VvLm1hcEJ1dHRvbnMucmVzZXRSb3RhdGlvbidcbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgYXppbXV0aDogYXppbXV0aFJvdW5kZWQsIHJvdGF0aW9uOiByb3RhdGlvblJvdW5kZWQgfSlcbiAgICAgIDogKCdpZ28uZ2VvLm1hcEJ1dHRvbnMudGlwUm90YXRpb24nIHwgdHJhbnNsYXRlKVxuICBcIlxuICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImxlZnRcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cIihyb3RhdGVkJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgIChjbGljayk9XCJtYXAudmlld0NvbnRyb2xsZXIucmVzZXRSb3RhdGlvbigpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBbbmdTdHlsZV09XCJjdXJyZW50U3R5bGUkIHwgYXN5bmNcIiBzdmdJY29uPVwibmF2aWdhdGlvblwiPlxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -41,4 +41,4 @@ export class MapController {
41
41
  this.observerKeys = [];
42
42
  }
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zaGFyZWQvY29udHJvbGxlcnMvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDeEI7O09BRUc7SUFDTyxLQUFLLENBQVE7SUFFdkI7O09BRUc7SUFDTyxZQUFZLEdBQWdCLEVBQUUsQ0FBQztJQUV6Qzs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBd0I7UUFDL0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQjtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBYyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudHNLZXkgfSBmcm9tICdvbC9ldmVudHMnO1xyXG5pbXBvcnQgT2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgbWFwIGNvbnRyb2xsZXJcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNYXBDb250cm9sbGVyIHtcclxuICAvKipcclxuICAgKiBPTCBNYXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2xNYXA6IE9sTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBvYnNlcnZlciBrZXlzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG9ic2VydmVyS2V5czogRXZlbnRzS2V5W10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSBPTCBtYXAgdGhpcyBjb250cm9sbGVyIGlzIGJvdW5kIHRvXHJcbiAgICogQHJldHVybnMgT0wgTWFwXHJcbiAgICovXHJcbiAgZ2V0T2xNYXAoKTogT2xNYXAge1xyXG4gICAgcmV0dXJuIHRoaXMub2xNYXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgb3IgcmVtb3ZlIHRoaXMgY29udHJvbGxlciB0by9mcm9tIGEgbWFwLlxyXG4gICAqIEBwYXJhbSBtYXAgT0wgTWFwXHJcbiAgICovXHJcbiAgc2V0T2xNYXAob2xNYXA6IE9sTWFwIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAob2xNYXAgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdldE9sTWFwKCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaXMgY29udHJvbGxlciBpcyBhbHJlYWR5IGJvdW5kIHRvIGEgbWFwLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvbE1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMudGVhcmRvd25PYnNlcnZlcnMoKTtcclxuICAgICAgdGhpcy5vbE1hcCA9IG9sTWFwO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbE1hcCA9IG9sTWFwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGVhcmRvd24gYW55IG9ic2VydmVyc1xyXG4gICAqL1xyXG4gIHRlYXJkb3duT2JzZXJ2ZXJzKCkge1xyXG4gICAgdGhpcy5vYnNlcnZlcktleXMuZm9yRWFjaCgoa2V5OiBFdmVudHNLZXkpID0+IHVuQnlLZXkoa2V5KSk7XHJcbiAgICB0aGlzLm9ic2VydmVyS2V5cyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zaGFyZWQvY29udHJvbGxlcnMvY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDeEI7O09BRUc7SUFDTyxLQUFLLENBQVE7SUFFdkI7O09BRUc7SUFDTyxZQUFZLEdBQWdCLEVBQUUsQ0FBQztJQUV6Qzs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBd0I7UUFDL0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQjtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBYyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xyXG5pbXBvcnQgeyBFdmVudHNLZXkgfSBmcm9tICdvbC9ldmVudHMnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgbWFwIGNvbnRyb2xsZXJcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNYXBDb250cm9sbGVyIHtcclxuICAvKipcclxuICAgKiBPTCBNYXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2xNYXA6IE9sTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBvYnNlcnZlciBrZXlzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG9ic2VydmVyS2V5czogRXZlbnRzS2V5W10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSBPTCBtYXAgdGhpcyBjb250cm9sbGVyIGlzIGJvdW5kIHRvXHJcbiAgICogQHJldHVybnMgT0wgTWFwXHJcbiAgICovXHJcbiAgZ2V0T2xNYXAoKTogT2xNYXAge1xyXG4gICAgcmV0dXJuIHRoaXMub2xNYXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgb3IgcmVtb3ZlIHRoaXMgY29udHJvbGxlciB0by9mcm9tIGEgbWFwLlxyXG4gICAqIEBwYXJhbSBtYXAgT0wgTWFwXHJcbiAgICovXHJcbiAgc2V0T2xNYXAob2xNYXA6IE9sTWFwIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAob2xNYXAgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmdldE9sTWFwKCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaXMgY29udHJvbGxlciBpcyBhbHJlYWR5IGJvdW5kIHRvIGEgbWFwLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvbE1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMudGVhcmRvd25PYnNlcnZlcnMoKTtcclxuICAgICAgdGhpcy5vbE1hcCA9IG9sTWFwO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbE1hcCA9IG9sTWFwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGVhcmRvd24gYW55IG9ic2VydmVyc1xyXG4gICAqL1xyXG4gIHRlYXJkb3duT2JzZXJ2ZXJzKCkge1xyXG4gICAgdGhpcy5vYnNlcnZlcktleXMuZm9yRWFjaCgoa2V5OiBFdmVudHNLZXkpID0+IHVuQnlLZXkoa2V5KSk7XHJcbiAgICB0aGlzLm9ic2VydmVyS2V5cyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -5,4 +5,4 @@ export var GeolocationOverlayType;
5
5
  GeolocationOverlayType["Accuracy"] = "accuracy";
6
6
  GeolocationOverlayType["Buffer"] = "buffer";
7
7
  })(GeolocationOverlayType || (GeolocationOverlayType = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9jb250cm9sbGVycy9nZW9sb2NhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJBLE1BQU0sQ0FBTixJQUFZLHNCQUtYO0FBTEQsV0FBWSxzQkFBc0I7SUFDaEMsK0NBQXFCLENBQUE7SUFDckIsaUVBQXVDLENBQUE7SUFDdkMsK0NBQXFCLENBQUE7SUFDckIsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFLakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0aW9uTGlrZSB9IGZyb20gJ29sL3Byb2onO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlck9wdGlvbnMge1xuICBwcm9qZWN0aW9uOiBQcm9qZWN0aW9uTGlrZTtcbiAgYWNjdXJhY3lUaHJlc2hvbGQ/OiBudW1iZXI7XG4gIGZvbGxvd1Bvc2l0aW9uPzogYm9vbGVhbjtcbiAgYnVmZmVyPzogR2VvbG9jYXRpb25CdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwR2VvbG9jYXRpb25TdGF0ZSB7XG4gIHBvc2l0aW9uOiBudW1iZXJbXTtcbiAgcHJvamVjdGlvbjogc3RyaW5nO1xuICBhY2N1cmFjeTogbnVtYmVyO1xuICBhbHRpdHVkZTogbnVtYmVyO1xuICBhbHRpdHVkZUFjY3VyYWN5OiBudW1iZXI7XG4gIGhlYWRpbmc6IG51bWJlcjtcbiAgc3BlZWQ6IG51bWJlcjtcbiAgZW5hYmxlSGlnaEFjY3VyYWN5OiBib29sZWFuO1xuICB0aW1lc3RhbXA6IERhdGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdlb2xvY2F0aW9uQnVmZmVyIHtcbiAgYnVmZmVyUmFkaXVzPzogbnVtYmVyO1xuICBidWZmZXJTdHJva2U/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgYnVmZmVyRmlsbD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzaG93QnVmZmVyUmFkaXVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gR2VvbG9jYXRpb25PdmVybGF5VHlwZSB7XG4gIFBvc2l0aW9uID0gJ3Bvc2l0aW9uJyxcbiAgUG9zaXRpb25EaXJlY3Rpb24gPSAncG9zaXRpb25EaXJlY3Rpb24nLFxuICBBY2N1cmFjeSA9ICdhY2N1cmFjeScsXG4gIEJ1ZmZlciA9ICdidWZmZXInXG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9jb250cm9sbGVycy9nZW9sb2NhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE1BQU0sQ0FBTixJQUFZLHNCQUtYO0FBTEQsV0FBWSxzQkFBc0I7SUFDaEMsK0NBQXFCLENBQUE7SUFDckIsaUVBQXVDLENBQUE7SUFDdkMsK0NBQXFCLENBQUE7SUFDckIsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFLakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0aW9uTGlrZSB9IGZyb20gJ29sL3Byb2onO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZW9sb2NhdGlvbk9wdGlvbnMge1xyXG4gIGFjdGl2YXRlRGVmYXVsdD86IGJvb2xlYW47XHJcbiAgYmFzaWM/OiBib29sZWFuOyAvLyB0byBjb250cm9sIHRoZSBidXR0b24gaWNvbi5cclxuICBmb2xsb3dQb3NpdGlvbj86IGJvb2xlYW47IC8vIHRvIG92ZXJpZGUgdGhlIGZvbGxvd1Bvc2l0aW9uIGRlZmluZSBhdCB0aGUgY29udGV4dCBsZXZlbC5cclxuICBidXR0b24/OiB7XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwR2VvbG9jYXRpb25Db250cm9sbGVyT3B0aW9ucyB7XHJcbiAgcHJvamVjdGlvbjogUHJvamVjdGlvbkxpa2U7XHJcbiAgYWNjdXJhY3lUaHJlc2hvbGQ/OiBudW1iZXI7XHJcbiAgZm9sbG93UG9zaXRpb24/OiBib29sZWFuO1xyXG4gIGJ1ZmZlcj86IEdlb2xvY2F0aW9uQnVmZmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcEdlb2xvY2F0aW9uU3RhdGUge1xyXG4gIHBvc2l0aW9uOiBudW1iZXJbXTtcclxuICBwcm9qZWN0aW9uOiBzdHJpbmc7XHJcbiAgYWNjdXJhY3k6IG51bWJlcjtcclxuICBhbHRpdHVkZTogbnVtYmVyO1xyXG4gIGFsdGl0dWRlQWNjdXJhY3k6IG51bWJlcjtcclxuICBoZWFkaW5nOiBudW1iZXI7XHJcbiAgc3BlZWQ6IG51bWJlcjtcclxuICBlbmFibGVIaWdoQWNjdXJhY3k6IGJvb2xlYW47XHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb25CdWZmZXIge1xyXG4gIGJ1ZmZlclJhZGl1cz86IG51bWJlcjtcclxuICBidWZmZXJTdHJva2U/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuICBidWZmZXJGaWxsPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcbiAgc2hvd0J1ZmZlclJhZGl1cz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUge1xyXG4gIFBvc2l0aW9uID0gJ3Bvc2l0aW9uJyxcclxuICBQb3NpdGlvbkRpcmVjdGlvbiA9ICdwb3NpdGlvbkRpcmVjdGlvbicsXHJcbiAgQWNjdXJhY3kgPSAnYWNjdXJhY3knLFxyXG4gIEJ1ZmZlciA9ICdidWZmZXInXHJcbn1cclxuIl19
@@ -1,17 +1,17 @@
1
- import { BehaviorSubject, interval } from 'rxjs';
2
- import { switchMap } from 'rxjs/operators';
3
- import olGeolocation from 'ol/Geolocation';
4
- import * as olproj from 'ol/proj';
5
1
  import olFeature from 'ol/Feature';
6
- import { MapController } from './controller';
2
+ import olGeolocation from 'ol/Geolocation';
7
3
  import { Point } from 'ol/geom';
4
+ import OlCircle from 'ol/geom/Circle';
8
5
  import { fromCircle } from 'ol/geom/Polygon';
6
+ import * as olproj from 'ol/proj';
9
7
  import * as olSphere from 'ol/sphere';
10
- import OlCircle from 'ol/geom/Circle';
11
8
  import * as olstyle from 'ol/style';
12
- import { Overlay } from '../../../overlay/shared/overlay';
9
+ import { BehaviorSubject, interval } from 'rxjs';
10
+ import { switchMap } from 'rxjs/operators';
13
11
  import { FeatureMotion } from '../../../feature/shared/feature.enums';
14
12
  import { computeOlFeaturesExtent, featuresAreOutOfView, hideOlFeature, moveToOlFeatures } from '../../../feature/shared/feature.utils';
13
+ import { Overlay } from '../../../overlay/shared/overlay';
14
+ import { MapController } from './controller';
15
15
  import { GeolocationOverlayType } from './geolocation.interface';
16
16
  /**
17
17
  * Controller to handle map view interactions
@@ -428,4 +428,4 @@ export class MapGeolocationController extends MapController {
428
428
  }
429
429
  }
430
430
  }
431
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL2NvbnRyb2xsZXJzL2dlb2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBVyxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2pCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUVMLHNCQUFzQixFQUd2QixNQUFNLHlCQUF5QixDQUFDO0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFnSy9DO0lBQ0E7SUFDQTtJQUNBO0lBbEtGLGFBQWEsQ0FBUztJQUN0QixlQUFl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LENBQUMsY0FBYyxJQUFJLFlBQVk7Z0JBQ2pDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDcEIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7YUFDN0I7WUFDRCxNQUFNLEtBQUssYUFBYSxDQUFDLElBQUk7Z0JBQzNCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDO2dCQUM3RCxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGludGVydmFsLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgT2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IG9sR2VvbG9jYXRpb24gZnJvbSAnb2wvR2VvbG9jYXRpb24nO1xyXG5pbXBvcnQgR2VvbWV0cnkgZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IHsgTWFwQ29udHJvbGxlciB9IGZyb20gJy4vY29udHJvbGxlcic7XHJcbmltcG9ydCB7IFBvaW50LCBQb2x5Z29uIH0gZnJvbSAnb2wvZ2VvbSc7XHJcbmltcG9ydCB7IGZyb21DaXJjbGUgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xyXG5pbXBvcnQgKiBhcyBvbFNwaGVyZSBmcm9tICdvbC9zcGhlcmUnO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXkvc2hhcmVkL292ZXJsYXknO1xyXG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vbWFwLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1hcEJhc2UgfSBmcm9tICcuLi9tYXAuYWJzdHJhY3QnO1xyXG5pbXBvcnQge1xyXG4gIGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50LFxyXG4gIGZlYXR1cmVzQXJlT3V0T2ZWaWV3LFxyXG4gIGhpZGVPbEZlYXR1cmUsXHJcbiAgbW92ZVRvT2xGZWF0dXJlc1xyXG59IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIEdlb2xvY2F0aW9uQnVmZmVyLFxyXG4gIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUsXHJcbiAgTWFwR2VvbG9jYXRpb25Db250cm9sbGVyT3B0aW9ucyxcclxuICBNYXBHZW9sb2NhdGlvblN0YXRlXHJcbn0gZnJvbSAnLi9nZW9sb2NhdGlvbi5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIENvbnRyb2xsZXIgdG8gaGFuZGxlIG1hcCB2aWV3IGludGVyYWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlciBleHRlbmRzIE1hcENvbnRyb2xsZXIge1xyXG4gIHByaXZhdGUgYXJyb3dSb3RhdGlvbjogbnVtYmVyO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgZ2VvbG9jYXRpb25PdmVybGF5OiBPdmVybGF5O1xyXG4gIHByaXZhdGUgcG9zaXRpb25GZWF0dXJlU3R5bGU6IG9sc3R5bGUuU3R5bGUgfCBvbHN0eWxlLlN0eWxlW10gPVxyXG4gICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICBpbWFnZTogbmV3IG9sc3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICByYWRpdXM6IDYsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJyMzMzk5Q0MnXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgY29sb3I6ICcjZmZmJyxcclxuICAgICAgICAgIHdpZHRoOiAyXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG4gIHByaXZhdGUgYWNjdXJhY3lGZWF0dXJlU3R5bGU6IG9sc3R5bGUuU3R5bGUgfCBvbHN0eWxlLlN0eWxlW10gPVxyXG4gICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgY29sb3I6ICdyZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCknLFxyXG4gICAgICAgIHdpZHRoOiAxXHJcbiAgICAgIH0pLFxyXG4gICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICBjb2xvcjogJ3JnYmEoMTIwLCAxMjAsIDEyMCwgMC40KSdcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICBwcml2YXRlIGdldCBidWZmZXJTdHlsZSgpOiBvbHN0eWxlLlN0eWxlIHtcclxuICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHsgd2lkdGg6IDIsIGNvbG9yOiB0aGlzLmJ1ZmZlci5idWZmZXJTdHJva2UgfSksXHJcbiAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoeyBjb2xvcjogdGhpcy5idWZmZXIuYnVmZmVyRmlsbCB9KSxcclxuICAgICAgdGV4dDogbmV3IG9sc3R5bGUuVGV4dCh7XHJcbiAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXHJcbiAgICAgICAgb2Zmc2V0WDogMTAsXHJcbiAgICAgICAgb2Zmc2V0WTogLTEwLFxyXG4gICAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXHJcbiAgICAgICAgdGV4dDogdGhpcy5idWZmZXIuc2hvd0J1ZmZlclJhZGl1c1xyXG4gICAgICAgICAgPyBgJHt0aGlzLmJ1ZmZlci5idWZmZXJSYWRpdXN9bWBcclxuICAgICAgICAgIDogJycsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7IGNvbG9yOiAnIzAwMCcgfSksXHJcbiAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBhcnJvd1N0eWxlKCk6IG9sc3R5bGUuU3R5bGUge1xyXG4gICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLlJlZ3VsYXJTaGFwZSh7XHJcbiAgICAgICAgcmFkaXVzOiA1LjUsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwgMTMyLCAyMDIpJ1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgIGNvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgICB3aWR0aDogMS41XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgcG9pbnRzOiAzLFxyXG4gICAgICAgIGRpc3BsYWNlbWVudDogWzAsIDldLFxyXG4gICAgICAgIHJvdGF0aW9uOiB0aGlzLmFycm93Um90YXRpb24sXHJcbiAgICAgICAgcm90YXRlV2l0aFZpZXc6IHRydWVcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW9sb2NhdGlvbjogb2xHZW9sb2NhdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgY3VycmVudCBlbWlzc2lvbiBpbnRlcnZhbCBvZiB0aGUgcG9zaXRpb24uIEluIHNlY29uZHNcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KDUpO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwR2VvbG9jYXRpb25TdGF0ZT4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIHRyYWNraW5nIHN0YXRlXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYWNraW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBmb2xsb3cgcG9zaXRpb24gc3RhdGVcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZm9sbG93UG9zaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xyXG5cclxuICBwcml2YXRlIGxhc3RQb3NpdGlvbjogeyBjb29yZGluYXRlczogbnVtYmVyW107IGRhdGVUaW1lOiBEYXRlIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdlb2xvY2F0ZSBzaG91bGQgc2hvdyBhIGJ1ZmZlciBhcm91bmQgdGhlIGN1cnJlbnQgcG9zaXRpb25cclxuICAgKi9cclxuICBzZXQgYnVmZmVyKHZhbHVlOiBHZW9sb2NhdGlvbkJ1ZmZlcikge1xyXG4gICAgdGhpcy5fYnVmZmVyID0gdmFsdWU7XHJcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbih0aGlzLnBvc2l0aW9uJC52YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBidWZmZXIoKTogR2VvbG9jYXRpb25CdWZmZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2J1ZmZlcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnVmZmVyOiBHZW9sb2NhdGlvbkJ1ZmZlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZ2VvbG9jYXRlIGNvbnRyb2xsZXIgYWNjdXJhY3kgdGhyZXNob2xkIHRvIHN0b3JlL3Nob3cgdGhlIHBvc2l0aW9uLlxyXG4gICAqL1xyXG4gIHNldCBhY2N1cmFjeVRocmVzaG9sZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hY2N1cmFjeVRocmVzaG9sZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5oYW5kbGVGZWF0dXJlQ3JlYXRpb24odGhpcy5wb3NpdGlvbiQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjY3VyYWN5VGhyZXNob2xkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FjY3VyYWN5VGhyZXNob2xkO1xyXG5cclxuICBnZXQgb2xHZW9sb2NhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aXZhdGUgdGhlIGdlb2xvY2F0aW9uLlxyXG4gICAqL1xyXG4gIGdldCB0cmFja2luZygpIHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uLmdldFRyYWNraW5nKCk7XHJcbiAgfVxyXG5cclxuICBzZXQgdHJhY2tpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZ2VvbG9jYXRpb24uc2V0VHJhY2tpbmcodmFsdWUgfHwgZmFsc2UpO1xyXG4gICAgdGhpcy50cmFja2luZyQubmV4dCh2YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdnZW9sb2NhdGlvbi50cmFja2luZycsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5wb3NpdGlvbiQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aXZhdGUgdGhlIHZpZXcgdHJhY2tpbmcgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb25cclxuICAgKi9cclxuICBzZXQgZm9sbG93UG9zaXRpb24odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2ZvbGxvd1Bvc2l0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLmZvbGxvd1Bvc2l0aW9uJC5uZXh0KHZhbHVlKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldENvbmZpZygnZ2VvbG9jYXRlLmZvbGxvd1Bvc2l0aW9uJykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuX2ZvbGxvd1Bvc2l0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9sbG93UG9zaXRpb24kLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYW5kbGVGZWF0dXJlQ3JlYXRpb24odGhpcy5wb3NpdGlvbiQudmFsdWUpO1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnZ2VvbG9jYXRpb24uZm9sbG93UG9zaXRpb24nLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZm9sbG93UG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9sbG93UG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb2xsb3dQb3NpdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hcDogTWFwQmFzZSxcclxuICAgIHByaXZhdGUgb3B0aW9ucz86IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlck9wdGlvbnMsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlPzogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U/OiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXkgPSBuZXcgT3ZlcmxheSh0aGlzLm1hcCk7XHJcbiAgICB0aGlzLl9mb2xsb3dQb3NpdGlvbiA9XHJcbiAgICAgIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZm9sbG93UG9zaXRpb25cclxuICAgICAgICA/IHRoaXMub3B0aW9ucy5mb2xsb3dQb3NpdGlvblxyXG4gICAgICAgIDogZmFsc2U7XHJcblxyXG4gICAgdGhpcy5fYnVmZmVyID1cclxuICAgICAgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5idWZmZXIgPyB0aGlzLm9wdGlvbnMuYnVmZmVyIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQgPVxyXG4gICAgICB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmFjY3VyYWN5VGhyZXNob2xkXHJcbiAgICAgICAgPyB0aGlzLm9wdGlvbnMuYWNjdXJhY3lUaHJlc2hvbGRcclxuICAgICAgICA6IDUwMDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgb3IgcmVtb3ZlIHRoaXMgY29udHJvbGxlciB0by9mcm9tIGEgbWFwLlxyXG4gICAqIEBwYXJhbSBtYXAgT0wgTWFwXHJcbiAgICovXHJcbiAgc2V0T2xNYXAob2xNYXA6IE9sTWFwIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBzdXBlci5zZXRPbE1hcChvbE1hcCk7XHJcbiAgICB0aGlzLnNldHVwT2JzZXJ2ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUdlb2xvY2F0aW9uRmVhdHVyZXMoKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbik7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvbik7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5BY2N1cmFjeSk7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5CdWZmZXIpO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBPYnNlcnZlcnMoKSB7XHJcbiAgICB0aGlzLnRyYWNraW5nJC5zdWJzY3JpYmUoKHRyYWNraW5nKSA9PiB7XHJcbiAgICAgIGlmICh0cmFja2luZykge1xyXG4gICAgICAgIHRoaXMub25Qb3NpdGlvbkNoYW5nZSh0cnVlLCB0cnVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUdlb2xvY2F0aW9uRmVhdHVyZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nZW9sb2NhdGlvbiA9IG5ldyBvbEdlb2xvY2F0aW9uKHtcclxuICAgICAgLy8gZW5hYmxlSGlnaEFjY3VyYWN5IG11c3QgYmUgc2V0IHRvIHRydWUgdG8gaGF2ZSB0aGUgaGVhZGluZyB2YWx1ZS5cclxuICAgICAgdHJhY2tpbmdPcHRpb25zOiB7XHJcbiAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgIG1heGltdW1BZ2U6IDEwMDAwLFxyXG4gICAgICAgIHRpbWVvdXQ6IDYwMDAwMFxyXG4gICAgICB9LFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLm9wdGlvbnMucHJvamVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBsZXQgdHJhY2tpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLnB1c2goXHJcbiAgICAgIHRoaXMuZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkXHJcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCh2YWx1ZSkgPT4gaW50ZXJ2YWwodmFsdWUgKiAxMDAwKSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHJhY2tpbmcgPT09IHRoaXMudHJhY2tpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5vblBvc2l0aW9uQ2hhbmdlKHRydWUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJhY2tpbmcgPSB0aGlzLnRyYWNraW5nO1xyXG4gICAgICAgICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2UodHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5nZW9sb2NhdGlvbi5vbignY2hhbmdlJywgKGV2dCkgPT4ge1xyXG4gICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2UoZmFsc2UsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQXJyb3dGZWF0dXJlT3JpZW50YXRpb24ocG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUpIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uNDMyNiA9IG9scHJvai50cmFuc2Zvcm0oXHJcbiAgICAgIHBvc2l0aW9uLnBvc2l0aW9uLFxyXG4gICAgICBwb3NpdGlvbi5wcm9qZWN0aW9uLFxyXG4gICAgICAnRVBTRzo0MzI2J1xyXG4gICAgKTtcclxuICAgIGlmICghdGhpcy5sYXN0UG9zaXRpb24pIHtcclxuICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7IGNvb3JkaW5hdGVzOiBwb3NpdGlvbjQzMjYsIGRhdGVUaW1lOiBuZXcgRGF0ZSgpIH07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGFycm93RmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGNvbnN0IGlzTW92aW5nID1cclxuICAgICAgcG9zaXRpb24/LnNwZWVkID4gMS4yNSAmJlxyXG4gICAgICB0aGlzLmRpc3RhbmNlQmV0d2VlblBvaW50cyh0aGlzLmxhc3RQb3NpdGlvbi5jb29yZGluYXRlcywgcG9zaXRpb240MzI2KSA+XHJcbiAgICAgICAgMC4wMDM7XHJcbiAgICBpZiAocG9zaXRpb24uYWNjdXJhY3kgPD0gdGhpcy5hY2N1cmFjeVRocmVzaG9sZCAmJiBpc01vdmluZykge1xyXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIGhlYWRpbmcgdXNpbmcgY3VycmVudCBwb3NpdGlvbiBhbmQgbGFzdCByZWNvcmRlZFxyXG4gICAgICAvLyBiZWNhdXNlIG9sIGhlYWRpbmcgbm90IHJldHVybmluZyByaWdodCB2YWx1ZVxyXG4gICAgICB2YXIgZHggPSBwb3NpdGlvbjQzMjZbMV0gLSB0aGlzLmxhc3RQb3NpdGlvbi5jb29yZGluYXRlc1sxXTtcclxuICAgICAgdmFyIGR5ID0gcG9zaXRpb240MzI2WzBdIC0gdGhpcy5sYXN0UG9zaXRpb24uY29vcmRpbmF0ZXNbMF07XHJcbiAgICAgIHZhciB0aGV0YSA9IE1hdGguYXRhbjIoZHksIGR4KTtcclxuICAgICAgaWYgKHRoZXRhIDwgMCkgdGhldGEgPSAyICogTWF0aC5QSSArIHRoZXRhO1xyXG4gICAgICB0aGlzLmFycm93Um90YXRpb24gPSB0aGV0YTtcclxuICAgICAgaWYgKGFycm93RmVhdHVyZSkge1xyXG4gICAgICAgIGFycm93RmVhdHVyZS5zZXRTdHlsZSh0aGlzLmFycm93U3R5bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0geyBjb29yZGluYXRlczogcG9zaXRpb240MzI2LCBkYXRlVGltZTogbmV3IERhdGUoKSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGFycm93RmVhdHVyZSAmJlxyXG4gICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy5sYXN0UG9zaXRpb24uZGF0ZVRpbWUuZ2V0VGltZSgpID4gMzAwMFxyXG4gICAgICApXHJcbiAgICAgICAgaGlkZU9sRmVhdHVyZShhcnJvd0ZlYXR1cmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgZGlzdGFuY2UgaW4ga20gYmV0d2VlbiBjb29yZDEgYW5kIGNvb3JkMlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGlzdGFuY2VCZXR3ZWVuUG9pbnRzKGNvb3JkMTogbnVtYmVyW10sIGNvb3JkMjogbnVtYmVyW10pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIG9sU3BoZXJlLmdldERpc3RhbmNlKGNvb3JkMSwgY29vcmQyKSAvIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkT25DaGFuZ2VkTGlzdGVuZXIoZXZlbnQ6IChnZW86IG9sR2VvbG9jYXRpb24pID0+IGFueSkge1xyXG4gICAgbGV0IGxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBldmVudCh0aGlzLmdlb2xvY2F0aW9uKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmdlb2xvY2F0aW9uLm9uKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XHJcbiAgICByZXR1cm4gbGlzdGVuZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlQ2hhbmdlZExpc3RlbmVyKGV2ZW50OiAoKSA9PiBhbnkpIHtcclxuICAgIHRoaXMuZ2VvbG9jYXRpb24udW4oJ2NoYW5nZScsIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnMob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcclxuICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyB0b2RvIG1heWJlIGEgZGVkaWNhdGVkIGludGVyZmFjZSBmb3IgZ2VvbG9jYXRpb24gc2hvdWxkIGJlIGRlZmluZWQgaW5zdGVhZCBvZiBwdXR0aW5nIHRoZXNlIGluc2lkZSB0aGUgbWFwdmlld29wdGlvbnM/XHJcbiAgICBsZXQgdHJhY2tpbmcgPSBvcHRpb25zLmdlb2xvY2F0ZTtcclxuICAgIGxldCBmb2xsb3dQb3NpdGlvbiA9IG9wdGlvbnMuYWx3YXlzVHJhY2tpbmc7XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSkge1xyXG4gICAgICBjb25zdCBzdG9yZWRUcmFja2luZyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgICdnZW9sb2NhdGlvbi50cmFja2luZydcclxuICAgICAgKSBhcyBib29sZWFuO1xyXG4gICAgICBpZiAoc3RvcmVkVHJhY2tpbmcgIT09IG51bGwgJiYgc3RvcmVkVHJhY2tpbmcgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRyYWNraW5nID0gc3RvcmVkVHJhY2tpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHN0b3JlZEZvbGxvd1Bvc2l0aW9uID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICAgJ2dlb2xvY2F0aW9uLmZvbGxvd1Bvc2l0aW9uJ1xyXG4gICAgICApIGFzIGJvb2xlYW47XHJcbiAgICAgIGlmIChzdG9yZWRGb2xsb3dQb3NpdGlvbiAhPT0gbnVsbCAmJiBzdG9yZWRGb2xsb3dQb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9sbG93UG9zaXRpb24gPSBzdG9yZWRGb2xsb3dQb3NpdGlvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy50cmFja2luZyA9IHRyYWNraW5nO1xyXG4gICAgdGhpcy5mb2xsb3dQb3NpdGlvbiA9IGZvbGxvd1Bvc2l0aW9uO1xyXG4gICAgdGhpcy5idWZmZXIgPSBvcHRpb25zLmJ1ZmZlcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlYXJkb3duIGFueSBvYnNlcnZlcnNcclxuICAgKi9cclxuICB0ZWFyZG93bk9ic2VydmVycygpIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMkJC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zJCQubWFwKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIudGVhcmRvd25PYnNlcnZlcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHBvc2l0aW9uIGNoYW5nZSwgZ2V0IHRoZSBwb3NpdGlvbiwgc2hvdyBpdCBvbiB0aGUgbWFwIGFuZCByZWNvcmQgaXQuXHJcbiAgICogQHBhcmFtIGVtaXRFdmVudCBNYXAgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uUG9zaXRpb25DaGFuZ2UoXHJcbiAgICBlbWl0RXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIHpvb21UbzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgKSB7XHJcbiAgICBpZiAoIXRoaXMudHJhY2tpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ2VvbG9jYXRlUHJvcGVydGllcyA9IHRoaXMuZ2VvbG9jYXRpb24uZ2V0UHJvcGVydGllcygpO1xyXG5cclxuICAgIGlmIChnZW9sb2NhdGVQcm9wZXJ0aWVzLmFjY3VyYWN5ID4gdGhpcy5hY2N1cmFjeVRocmVzaG9sZCkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Bvb3IgZ2VvbG9jYXRpb24gYWNjdXJhY3kuIE5vIHBvc2l0aW9uIGFyZSBzdG9yZWQvc2hvd24nKTtcclxuICAgICAgdGhpcy5wb3NpdGlvbiQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUgPSB7XHJcbiAgICAgIHBvc2l0aW9uOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnBvc2l0aW9uLFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLmdlb2xvY2F0aW9uLmdldFByb2plY3Rpb24oKS5nZXRDb2RlKCksXHJcbiAgICAgIGFjY3VyYWN5OiBnZW9sb2NhdGVQcm9wZXJ0aWVzLmFjY3VyYWN5LFxyXG4gICAgICBhbHRpdHVkZTogZ2VvbG9jYXRlUHJvcGVydGllcy5hbHRpdHVkZSxcclxuICAgICAgYWx0aXR1ZGVBY2N1cmFjeTogZ2VvbG9jYXRlUHJvcGVydGllcy5hbHRpdHVkZUFjY3VyYWN5LFxyXG4gICAgICBoZWFkaW5nOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLmhlYWRpbmcsXHJcbiAgICAgIHNwZWVkOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnNwZWVkLFxyXG4gICAgICBlbmFibGVIaWdoQWNjdXJhY3k6IGdlb2xvY2F0ZVByb3BlcnRpZXMudHJhY2tpbmdPcHRpb25zXHJcbiAgICAgICAgPy5lbmFibGVIaWdoQWNjdXJhY3lcclxuICAgICAgICA/IHRydWVcclxuICAgICAgICA6IGZhbHNlLFxyXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKClcclxuICAgIH07XHJcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbihwb3NpdGlvbik7XHJcbiAgICB0aGlzLmhhbmRsZVZpZXdGcm9tRmVhdHVyZXMocG9zaXRpb24sIHpvb21Ubyk7XHJcbiAgICBpZiAoZW1pdEV2ZW50KSB7XHJcbiAgICAgIHRoaXMucG9zaXRpb24kLm5leHQocG9zaXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGZWF0dXJlQnlUeXBlKHR5cGU6IEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUpOiBvbEZlYXR1cmU8R2VvbWV0cnk+IHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5kYXRhU291cmNlLm9sLmdldEZlYXR1cmVCeUlkKHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWxldGVGZWF0dXJlQnlUeXBlKHR5cGU6IEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUpIHtcclxuICAgIGNvbnN0IGZlYXR1cmVCeUlkID1cclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXk/LmRhdGFTb3VyY2Uub2wuZ2V0RmVhdHVyZUJ5SWQodHlwZSk7XHJcbiAgICBpZiAoZmVhdHVyZUJ5SWQpIHtcclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXkuZGF0YVNvdXJjZS5vbC5yZW1vdmVGZWF0dXJlKGZlYXR1cmVCeUlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlRmVhdHVyZUNyZWF0aW9uKHBvc2l0aW9uOiBNYXBHZW9sb2NhdGlvblN0YXRlKSB7XHJcbiAgICBpZiAoIXBvc2l0aW9uIHx8ICFwb3NpdGlvbi5wb3NpdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBwb3NpdGlvbkdlb21ldHJ5ID0gbmV3IFBvaW50KHBvc2l0aW9uLnBvc2l0aW9uKTtcclxuICAgIGNvbnN0IGFjY3VyYWN5R2VvbWV0cnkgPSBmcm9tQ2lyY2xlKFxyXG4gICAgICBuZXcgT2xDaXJjbGUocG9zaXRpb24ucG9zaXRpb24sIHBvc2l0aW9uLmFjY3VyYWN5IHx8IDApXHJcbiAgICApO1xyXG4gICAgbGV0IHBvc2l0aW9uRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBhY2N1cmFjeUZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQWNjdXJhY3lcclxuICAgICk7XHJcbiAgICBjb25zdCBwb3NpdGlvbkZlYXR1cmVFeGlzdHMgPSBwb3NpdGlvbkZlYXR1cmUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICBjb25zdCBwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0cyA9IHBvc2l0aW9uRmVhdHVyZUFycm93ID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgY29uc3QgYWNjdXJhY3lGZWF0dXJlRXhpc3RzID0gYWNjdXJhY3lGZWF0dXJlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgaWYgKCFwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0cykge1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IG5ldyBvbEZlYXR1cmU8UG9pbnQ+KHtcclxuICAgICAgICBnZW9tZXRyeTogcG9zaXRpb25HZW9tZXRyeVxyXG4gICAgICB9KTtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlQXJyb3cuc2V0SWQoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvbik7XHJcbiAgICAgIGhpZGVPbEZlYXR1cmUocG9zaXRpb25GZWF0dXJlQXJyb3cpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwb3NpdGlvbkZlYXR1cmVFeGlzdHMpIHtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlID0gbmV3IG9sRmVhdHVyZTxQb2ludD4oeyBnZW9tZXRyeTogcG9zaXRpb25HZW9tZXRyeSB9KTtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuUG9zaXRpb24pO1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmUuc2V0U3R5bGUodGhpcy5wb3NpdGlvbkZlYXR1cmVTdHlsZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWFjY3VyYWN5RmVhdHVyZUV4aXN0cykge1xyXG4gICAgICBhY2N1cmFjeUZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlPFBvbHlnb24+KHsgZ2VvbWV0cnk6IGFjY3VyYWN5R2VvbWV0cnkgfSk7XHJcbiAgICAgIGFjY3VyYWN5RmVhdHVyZS5zZXRJZChHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkFjY3VyYWN5KTtcclxuICAgICAgYWNjdXJhY3lGZWF0dXJlLnNldFN0eWxlKHRoaXMuYWNjdXJhY3lGZWF0dXJlU3R5bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwb3NpdGlvbkdlb21ldHJ5KSB7XHJcbiAgICAgIHBvc2l0aW9uRmVhdHVyZUV4aXN0c1xyXG4gICAgICAgID8gcG9zaXRpb25GZWF0dXJlLnNldEdlb21ldHJ5KHBvc2l0aW9uR2VvbWV0cnkpXHJcbiAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgIHBvc2l0aW9uRmVhdHVyZSxcclxuICAgICAgICAgICAgRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgICApO1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0c1xyXG4gICAgICAgID8gcG9zaXRpb25GZWF0dXJlQXJyb3cuc2V0R2VvbWV0cnkocG9zaXRpb25HZW9tZXRyeSlcclxuICAgICAgICA6IHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5LmFkZE9sRmVhdHVyZShcclxuICAgICAgICAgICAgcG9zaXRpb25GZWF0dXJlQXJyb3csXHJcbiAgICAgICAgICAgIEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgdGhpcy51cGRhdGVBcnJvd0ZlYXR1cmVPcmllbnRhdGlvbihwb3NpdGlvbik7XHJcbiAgICAgIGFjY3VyYWN5RmVhdHVyZUV4aXN0c1xyXG4gICAgICAgID8gYWNjdXJhY3lGZWF0dXJlLnNldEdlb21ldHJ5KGFjY3VyYWN5R2VvbWV0cnkpXHJcbiAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgIGFjY3VyYWN5RmVhdHVyZSxcclxuICAgICAgICAgICAgRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgaWYgKHRoaXMuYnVmZmVyKSB7XHJcbiAgICAgICAgbGV0IGJ1ZmZlckZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgICAgICBHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkJ1ZmZlclxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyRmVhdHVyZUV4aXN0cyA9IGJ1ZmZlckZlYXR1cmUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyR2VvbWV0cnkgPSBuZXcgT2xDaXJjbGUoXHJcbiAgICAgICAgICBwb3NpdGlvbi5wb3NpdGlvbixcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLmJ1ZmZlclJhZGl1c1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFidWZmZXJGZWF0dXJlRXhpc3RzKSB7XHJcbiAgICAgICAgICBidWZmZXJGZWF0dXJlID0gbmV3IG9sRmVhdHVyZShidWZmZXJHZW9tZXRyeSk7XHJcbiAgICAgICAgICBidWZmZXJGZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQnVmZmVyKTtcclxuICAgICAgICAgIGJ1ZmZlckZlYXR1cmUuc2V0U3R5bGUodGhpcy5wb3NpdGlvbkZlYXR1cmVTdHlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1ZmZlckZlYXR1cmUuc2V0U3R5bGUodGhpcy5idWZmZXJTdHlsZSk7XHJcbiAgICAgICAgYnVmZmVyRmVhdHVyZUV4aXN0c1xyXG4gICAgICAgICAgPyBidWZmZXJGZWF0dXJlLnNldEdlb21ldHJ5KGJ1ZmZlckdlb21ldHJ5KVxyXG4gICAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgICAgYnVmZmVyRmVhdHVyZSxcclxuICAgICAgICAgICAgICBGZWF0dXJlTW90aW9uLk5vbmVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVWaWV3RnJvbUZlYXR1cmVzKFxyXG4gICAgcG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUsXHJcbiAgICB6b29tVG86IGJvb2xlYW4gPSBmYWxzZVxyXG4gICkge1xyXG4gICAgbGV0IHBvc2l0aW9uRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBhY2N1cmFjeUZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQWNjdXJhY3lcclxuICAgICk7XHJcbiAgICBsZXQgYnVmZmVyRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkJ1ZmZlcik7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IFtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlLFxyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvdyxcclxuICAgICAgYWNjdXJhY3lGZWF0dXJlLFxyXG4gICAgICBidWZmZXJGZWF0dXJlXHJcbiAgICBdLmZpbHRlcigoZikgPT4gZik7XHJcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmZWF0dXJlc0V4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLnZpZXdQcm9qZWN0aW9uXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGVkZ2VSYXRpb3MgPVxyXG4gICAgICAgIHBvc2l0aW9uPy5zcGVlZCA+IDEyLjVcclxuICAgICAgICAgID8gWzAuMjUsIDAuMjUsIDAuMjUsIDAuMjVdXHJcbiAgICAgICAgICA6IFswLjE1LCAwLjEsIDAuMSwgMC4xXTtcclxuICAgICAgY29uc3QgYXJlT3V0T2ZWaWV3ID0gZmVhdHVyZXNBcmVPdXRPZlZpZXcoXHJcbiAgICAgICAgdGhpcy5tYXAuZ2V0RXh0ZW50KCksXHJcbiAgICAgICAgZmVhdHVyZXNFeHRlbnQsXHJcbiAgICAgICAgZWRnZVJhdGlvc1xyXG4gICAgICApO1xyXG4gICAgICBsZXQgbW90aW9uID1cclxuICAgICAgICB0aGlzLmZvbGxvd1Bvc2l0aW9uICYmIGFyZU91dE9mVmlld1xyXG4gICAgICAgICAgPyBGZWF0dXJlTW90aW9uLk1vdmVcclxuICAgICAgICAgIDogRmVhdHVyZU1vdGlvbi5Ob25lO1xyXG4gICAgICBpZiAoem9vbVRvKSB7XHJcbiAgICAgICAgbW90aW9uID0gRmVhdHVyZU1vdGlvbi5ab29tO1xyXG4gICAgICB9XHJcbiAgICAgIG1vdGlvbiAhPT0gRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgPyBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLnZpZXdDb250cm9sbGVyLCBmZWF0dXJlcywgbW90aW9uKVxyXG4gICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
431
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL2NvbnRyb2xsZXJzL2dlb2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFXLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZUFBZSxFQUFnQixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2pCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUVMLHNCQUFzQixFQUd2QixNQUFNLHlCQUF5QixDQUFDO0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFnSy9DO0lBQ0E7SUFDQTtJQUNBO0lBbEtGLGFBQWEsQ0FBUztJQUN0QixlQUFl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LENBQUMsY0FBYyxJQUFJLFlBQVk7Z0JBQ2pDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDcEIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7YUFDN0I7WUFDRCxNQUFNLEtBQUssYUFBYSxDQUFDLElBQUk7Z0JBQzNCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDO2dCQUM3RCxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IG9sR2VvbG9jYXRpb24gZnJvbSAnb2wvR2VvbG9jYXRpb24nO1xyXG5pbXBvcnQgT2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IHsgUG9pbnQsIFBvbHlnb24gfSBmcm9tICdvbC9nZW9tJztcclxuaW1wb3J0IE9sQ2lyY2xlIGZyb20gJ29sL2dlb20vQ2lyY2xlJztcclxuaW1wb3J0IEdlb21ldHJ5IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgeyBmcm9tQ2lyY2xlIH0gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBvbFNwaGVyZSBmcm9tICdvbC9zcGhlcmUnO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7XHJcbiAgY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQsXHJcbiAgZmVhdHVyZXNBcmVPdXRPZlZpZXcsXHJcbiAgaGlkZU9sRmVhdHVyZSxcclxuICBtb3ZlVG9PbEZlYXR1cmVzXHJcbn0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS51dGlscyc7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5L3NoYXJlZC9vdmVybGF5JztcclxuaW1wb3J0IHsgTWFwQmFzZSB9IGZyb20gJy4uL21hcC5hYnN0cmFjdCc7XHJcbmltcG9ydCB7IE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vbWFwLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1hcENvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXInO1xyXG5pbXBvcnQge1xyXG4gIEdlb2xvY2F0aW9uQnVmZmVyLFxyXG4gIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUsXHJcbiAgTWFwR2VvbG9jYXRpb25Db250cm9sbGVyT3B0aW9ucyxcclxuICBNYXBHZW9sb2NhdGlvblN0YXRlXHJcbn0gZnJvbSAnLi9nZW9sb2NhdGlvbi5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIENvbnRyb2xsZXIgdG8gaGFuZGxlIG1hcCB2aWV3IGludGVyYWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlciBleHRlbmRzIE1hcENvbnRyb2xsZXIge1xyXG4gIHByaXZhdGUgYXJyb3dSb3RhdGlvbjogbnVtYmVyO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgZ2VvbG9jYXRpb25PdmVybGF5OiBPdmVybGF5O1xyXG4gIHByaXZhdGUgcG9zaXRpb25GZWF0dXJlU3R5bGU6IG9sc3R5bGUuU3R5bGUgfCBvbHN0eWxlLlN0eWxlW10gPVxyXG4gICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICBpbWFnZTogbmV3IG9sc3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICByYWRpdXM6IDYsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJyMzMzk5Q0MnXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgY29sb3I6ICcjZmZmJyxcclxuICAgICAgICAgIHdpZHRoOiAyXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG4gIHByaXZhdGUgYWNjdXJhY3lGZWF0dXJlU3R5bGU6IG9sc3R5bGUuU3R5bGUgfCBvbHN0eWxlLlN0eWxlW10gPVxyXG4gICAgbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgY29sb3I6ICdyZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCknLFxyXG4gICAgICAgIHdpZHRoOiAxXHJcbiAgICAgIH0pLFxyXG4gICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICBjb2xvcjogJ3JnYmEoMTIwLCAxMjAsIDEyMCwgMC40KSdcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICBwcml2YXRlIGdldCBidWZmZXJTdHlsZSgpOiBvbHN0eWxlLlN0eWxlIHtcclxuICAgIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHsgd2lkdGg6IDIsIGNvbG9yOiB0aGlzLmJ1ZmZlci5idWZmZXJTdHJva2UgfSksXHJcbiAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoeyBjb2xvcjogdGhpcy5idWZmZXIuYnVmZmVyRmlsbCB9KSxcclxuICAgICAgdGV4dDogbmV3IG9sc3R5bGUuVGV4dCh7XHJcbiAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXHJcbiAgICAgICAgb2Zmc2V0WDogMTAsXHJcbiAgICAgICAgb2Zmc2V0WTogLTEwLFxyXG4gICAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXHJcbiAgICAgICAgdGV4dDogdGhpcy5idWZmZXIuc2hvd0J1ZmZlclJhZGl1c1xyXG4gICAgICAgICAgPyBgJHt0aGlzLmJ1ZmZlci5idWZmZXJSYWRpdXN9bWBcclxuICAgICAgICAgIDogJycsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7IGNvbG9yOiAnIzAwMCcgfSksXHJcbiAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBhcnJvd1N0eWxlKCk6IG9sc3R5bGUuU3R5bGUge1xyXG4gICAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgICAgaW1hZ2U6IG5ldyBvbHN0eWxlLlJlZ3VsYXJTaGFwZSh7XHJcbiAgICAgICAgcmFkaXVzOiA1LjUsXHJcbiAgICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwgMTMyLCAyMDIpJ1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgIGNvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgICB3aWR0aDogMS41XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgcG9pbnRzOiAzLFxyXG4gICAgICAgIGRpc3BsYWNlbWVudDogWzAsIDldLFxyXG4gICAgICAgIHJvdGF0aW9uOiB0aGlzLmFycm93Um90YXRpb24sXHJcbiAgICAgICAgcm90YXRlV2l0aFZpZXc6IHRydWVcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW9sb2NhdGlvbjogb2xHZW9sb2NhdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgY3VycmVudCBlbWlzc2lvbiBpbnRlcnZhbCBvZiB0aGUgcG9zaXRpb24uIEluIHNlY29uZHNcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KDUpO1xyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwR2VvbG9jYXRpb25TdGF0ZT4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIHRyYWNraW5nIHN0YXRlXHJcbiAgICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYWNraW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBmb2xsb3cgcG9zaXRpb24gc3RhdGVcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZm9sbG93UG9zaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xyXG5cclxuICBwcml2YXRlIGxhc3RQb3NpdGlvbjogeyBjb29yZGluYXRlczogbnVtYmVyW107IGRhdGVUaW1lOiBEYXRlIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGdlb2xvY2F0ZSBzaG91bGQgc2hvdyBhIGJ1ZmZlciBhcm91bmQgdGhlIGN1cnJlbnQgcG9zaXRpb25cclxuICAgKi9cclxuICBzZXQgYnVmZmVyKHZhbHVlOiBHZW9sb2NhdGlvbkJ1ZmZlcikge1xyXG4gICAgdGhpcy5fYnVmZmVyID0gdmFsdWU7XHJcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbih0aGlzLnBvc2l0aW9uJC52YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBidWZmZXIoKTogR2VvbG9jYXRpb25CdWZmZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2J1ZmZlcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnVmZmVyOiBHZW9sb2NhdGlvbkJ1ZmZlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgZ2VvbG9jYXRlIGNvbnRyb2xsZXIgYWNjdXJhY3kgdGhyZXNob2xkIHRvIHN0b3JlL3Nob3cgdGhlIHBvc2l0aW9uLlxyXG4gICAqL1xyXG4gIHNldCBhY2N1cmFjeVRocmVzaG9sZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hY2N1cmFjeVRocmVzaG9sZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5oYW5kbGVGZWF0dXJlQ3JlYXRpb24odGhpcy5wb3NpdGlvbiQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjY3VyYWN5VGhyZXNob2xkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FjY3VyYWN5VGhyZXNob2xkO1xyXG5cclxuICBnZXQgb2xHZW9sb2NhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aXZhdGUgdGhlIGdlb2xvY2F0aW9uLlxyXG4gICAqL1xyXG4gIGdldCB0cmFja2luZygpIHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uLmdldFRyYWNraW5nKCk7XHJcbiAgfVxyXG5cclxuICBzZXQgdHJhY2tpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZ2VvbG9jYXRpb24uc2V0VHJhY2tpbmcodmFsdWUgfHwgZmFsc2UpO1xyXG4gICAgdGhpcy50cmFja2luZyQubmV4dCh2YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdnZW9sb2NhdGlvbi50cmFja2luZycsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5wb3NpdGlvbiQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aXZhdGUgdGhlIHZpZXcgdHJhY2tpbmcgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb25cclxuICAgKi9cclxuICBzZXQgZm9sbG93UG9zaXRpb24odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2ZvbGxvd1Bvc2l0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLmZvbGxvd1Bvc2l0aW9uJC5uZXh0KHZhbHVlKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldENvbmZpZygnZ2VvbG9jYXRlLmZvbGxvd1Bvc2l0aW9uJykgPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuX2ZvbGxvd1Bvc2l0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9sbG93UG9zaXRpb24kLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYW5kbGVGZWF0dXJlQ3JlYXRpb24odGhpcy5wb3NpdGlvbiQudmFsdWUpO1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnZ2VvbG9jYXRpb24uZm9sbG93UG9zaXRpb24nLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZm9sbG93UG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9sbG93UG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb2xsb3dQb3NpdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hcDogTWFwQmFzZSxcclxuICAgIHByaXZhdGUgb3B0aW9ucz86IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlck9wdGlvbnMsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlPzogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U/OiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXkgPSBuZXcgT3ZlcmxheSh0aGlzLm1hcCk7XHJcbiAgICB0aGlzLl9mb2xsb3dQb3NpdGlvbiA9XHJcbiAgICAgIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZm9sbG93UG9zaXRpb25cclxuICAgICAgICA/IHRoaXMub3B0aW9ucy5mb2xsb3dQb3NpdGlvblxyXG4gICAgICAgIDogZmFsc2U7XHJcblxyXG4gICAgdGhpcy5fYnVmZmVyID1cclxuICAgICAgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5idWZmZXIgPyB0aGlzLm9wdGlvbnMuYnVmZmVyIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQgPVxyXG4gICAgICB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmFjY3VyYWN5VGhyZXNob2xkXHJcbiAgICAgICAgPyB0aGlzLm9wdGlvbnMuYWNjdXJhY3lUaHJlc2hvbGRcclxuICAgICAgICA6IDUwMDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgb3IgcmVtb3ZlIHRoaXMgY29udHJvbGxlciB0by9mcm9tIGEgbWFwLlxyXG4gICAqIEBwYXJhbSBtYXAgT0wgTWFwXHJcbiAgICovXHJcbiAgc2V0T2xNYXAob2xNYXA6IE9sTWFwIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBzdXBlci5zZXRPbE1hcChvbE1hcCk7XHJcbiAgICB0aGlzLnNldHVwT2JzZXJ2ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUdlb2xvY2F0aW9uRmVhdHVyZXMoKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbik7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvbik7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5BY2N1cmFjeSk7XHJcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5CdWZmZXIpO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBPYnNlcnZlcnMoKSB7XHJcbiAgICB0aGlzLnRyYWNraW5nJC5zdWJzY3JpYmUoKHRyYWNraW5nKSA9PiB7XHJcbiAgICAgIGlmICh0cmFja2luZykge1xyXG4gICAgICAgIHRoaXMub25Qb3NpdGlvbkNoYW5nZSh0cnVlLCB0cnVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUdlb2xvY2F0aW9uRmVhdHVyZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nZW9sb2NhdGlvbiA9IG5ldyBvbEdlb2xvY2F0aW9uKHtcclxuICAgICAgLy8gZW5hYmxlSGlnaEFjY3VyYWN5IG11c3QgYmUgc2V0IHRvIHRydWUgdG8gaGF2ZSB0aGUgaGVhZGluZyB2YWx1ZS5cclxuICAgICAgdHJhY2tpbmdPcHRpb25zOiB7XHJcbiAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgIG1heGltdW1BZ2U6IDEwMDAwLFxyXG4gICAgICAgIHRpbWVvdXQ6IDYwMDAwMFxyXG4gICAgICB9LFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLm9wdGlvbnMucHJvamVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBsZXQgdHJhY2tpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLnB1c2goXHJcbiAgICAgIHRoaXMuZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkXHJcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCh2YWx1ZSkgPT4gaW50ZXJ2YWwodmFsdWUgKiAxMDAwKSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHJhY2tpbmcgPT09IHRoaXMudHJhY2tpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5vblBvc2l0aW9uQ2hhbmdlKHRydWUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJhY2tpbmcgPSB0aGlzLnRyYWNraW5nO1xyXG4gICAgICAgICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2UodHJ1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5nZW9sb2NhdGlvbi5vbignY2hhbmdlJywgKGV2dCkgPT4ge1xyXG4gICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2UoZmFsc2UsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQXJyb3dGZWF0dXJlT3JpZW50YXRpb24ocG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUpIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uNDMyNiA9IG9scHJvai50cmFuc2Zvcm0oXHJcbiAgICAgIHBvc2l0aW9uLnBvc2l0aW9uLFxyXG4gICAgICBwb3NpdGlvbi5wcm9qZWN0aW9uLFxyXG4gICAgICAnRVBTRzo0MzI2J1xyXG4gICAgKTtcclxuICAgIGlmICghdGhpcy5sYXN0UG9zaXRpb24pIHtcclxuICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7IGNvb3JkaW5hdGVzOiBwb3NpdGlvbjQzMjYsIGRhdGVUaW1lOiBuZXcgRGF0ZSgpIH07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGFycm93RmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGNvbnN0IGlzTW92aW5nID1cclxuICAgICAgcG9zaXRpb24/LnNwZWVkID4gMS4yNSAmJlxyXG4gICAgICB0aGlzLmRpc3RhbmNlQmV0d2VlblBvaW50cyh0aGlzLmxhc3RQb3NpdGlvbi5jb29yZGluYXRlcywgcG9zaXRpb240MzI2KSA+XHJcbiAgICAgICAgMC4wMDM7XHJcbiAgICBpZiAocG9zaXRpb24uYWNjdXJhY3kgPD0gdGhpcy5hY2N1cmFjeVRocmVzaG9sZCAmJiBpc01vdmluZykge1xyXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIGhlYWRpbmcgdXNpbmcgY3VycmVudCBwb3NpdGlvbiBhbmQgbGFzdCByZWNvcmRlZFxyXG4gICAgICAvLyBiZWNhdXNlIG9sIGhlYWRpbmcgbm90IHJldHVybmluZyByaWdodCB2YWx1ZVxyXG4gICAgICB2YXIgZHggPSBwb3NpdGlvbjQzMjZbMV0gLSB0aGlzLmxhc3RQb3NpdGlvbi5jb29yZGluYXRlc1sxXTtcclxuICAgICAgdmFyIGR5ID0gcG9zaXRpb240MzI2WzBdIC0gdGhpcy5sYXN0UG9zaXRpb24uY29vcmRpbmF0ZXNbMF07XHJcbiAgICAgIHZhciB0aGV0YSA9IE1hdGguYXRhbjIoZHksIGR4KTtcclxuICAgICAgaWYgKHRoZXRhIDwgMCkgdGhldGEgPSAyICogTWF0aC5QSSArIHRoZXRhO1xyXG4gICAgICB0aGlzLmFycm93Um90YXRpb24gPSB0aGV0YTtcclxuICAgICAgaWYgKGFycm93RmVhdHVyZSkge1xyXG4gICAgICAgIGFycm93RmVhdHVyZS5zZXRTdHlsZSh0aGlzLmFycm93U3R5bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0geyBjb29yZGluYXRlczogcG9zaXRpb240MzI2LCBkYXRlVGltZTogbmV3IERhdGUoKSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGFycm93RmVhdHVyZSAmJlxyXG4gICAgICAgIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy5sYXN0UG9zaXRpb24uZGF0ZVRpbWUuZ2V0VGltZSgpID4gMzAwMFxyXG4gICAgICApXHJcbiAgICAgICAgaGlkZU9sRmVhdHVyZShhcnJvd0ZlYXR1cmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgZGlzdGFuY2UgaW4ga20gYmV0d2VlbiBjb29yZDEgYW5kIGNvb3JkMlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGlzdGFuY2VCZXR3ZWVuUG9pbnRzKGNvb3JkMTogbnVtYmVyW10sIGNvb3JkMjogbnVtYmVyW10pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIG9sU3BoZXJlLmdldERpc3RhbmNlKGNvb3JkMSwgY29vcmQyKSAvIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkT25DaGFuZ2VkTGlzdGVuZXIoZXZlbnQ6IChnZW86IG9sR2VvbG9jYXRpb24pID0+IGFueSkge1xyXG4gICAgbGV0IGxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBldmVudCh0aGlzLmdlb2xvY2F0aW9uKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmdlb2xvY2F0aW9uLm9uKCdjaGFuZ2UnLCBsaXN0ZW5lcik7XHJcbiAgICByZXR1cm4gbGlzdGVuZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlQ2hhbmdlZExpc3RlbmVyKGV2ZW50OiAoKSA9PiBhbnkpIHtcclxuICAgIHRoaXMuZ2VvbG9jYXRpb24udW4oJ2NoYW5nZScsIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnMob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcclxuICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyB0b2RvIG1heWJlIGEgZGVkaWNhdGVkIGludGVyZmFjZSBmb3IgZ2VvbG9jYXRpb24gc2hvdWxkIGJlIGRlZmluZWQgaW5zdGVhZCBvZiBwdXR0aW5nIHRoZXNlIGluc2lkZSB0aGUgbWFwdmlld29wdGlvbnM/XHJcbiAgICBsZXQgdHJhY2tpbmcgPSBvcHRpb25zLmdlb2xvY2F0ZTtcclxuICAgIGxldCBmb2xsb3dQb3NpdGlvbiA9IG9wdGlvbnMuYWx3YXlzVHJhY2tpbmc7XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSkge1xyXG4gICAgICBjb25zdCBzdG9yZWRUcmFja2luZyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgICdnZW9sb2NhdGlvbi50cmFja2luZydcclxuICAgICAgKSBhcyBib29sZWFuO1xyXG4gICAgICBpZiAoc3RvcmVkVHJhY2tpbmcgIT09IG51bGwgJiYgc3RvcmVkVHJhY2tpbmcgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRyYWNraW5nID0gc3RvcmVkVHJhY2tpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHN0b3JlZEZvbGxvd1Bvc2l0aW9uID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICAgJ2dlb2xvY2F0aW9uLmZvbGxvd1Bvc2l0aW9uJ1xyXG4gICAgICApIGFzIGJvb2xlYW47XHJcbiAgICAgIGlmIChzdG9yZWRGb2xsb3dQb3NpdGlvbiAhPT0gbnVsbCAmJiBzdG9yZWRGb2xsb3dQb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZm9sbG93UG9zaXRpb24gPSBzdG9yZWRGb2xsb3dQb3NpdGlvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy50cmFja2luZyA9IHRyYWNraW5nO1xyXG4gICAgdGhpcy5mb2xsb3dQb3NpdGlvbiA9IGZvbGxvd1Bvc2l0aW9uO1xyXG4gICAgdGhpcy5idWZmZXIgPSBvcHRpb25zLmJ1ZmZlcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlYXJkb3duIGFueSBvYnNlcnZlcnNcclxuICAgKi9cclxuICB0ZWFyZG93bk9ic2VydmVycygpIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMkJC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zJCQubWFwKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIudGVhcmRvd25PYnNlcnZlcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHBvc2l0aW9uIGNoYW5nZSwgZ2V0IHRoZSBwb3NpdGlvbiwgc2hvdyBpdCBvbiB0aGUgbWFwIGFuZCByZWNvcmQgaXQuXHJcbiAgICogQHBhcmFtIGVtaXRFdmVudCBNYXAgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uUG9zaXRpb25DaGFuZ2UoXHJcbiAgICBlbWl0RXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIHpvb21UbzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgKSB7XHJcbiAgICBpZiAoIXRoaXMudHJhY2tpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ2VvbG9jYXRlUHJvcGVydGllcyA9IHRoaXMuZ2VvbG9jYXRpb24uZ2V0UHJvcGVydGllcygpO1xyXG5cclxuICAgIGlmIChnZW9sb2NhdGVQcm9wZXJ0aWVzLmFjY3VyYWN5ID4gdGhpcy5hY2N1cmFjeVRocmVzaG9sZCkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Bvb3IgZ2VvbG9jYXRpb24gYWNjdXJhY3kuIE5vIHBvc2l0aW9uIGFyZSBzdG9yZWQvc2hvd24nKTtcclxuICAgICAgdGhpcy5wb3NpdGlvbiQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUgPSB7XHJcbiAgICAgIHBvc2l0aW9uOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnBvc2l0aW9uLFxyXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLmdlb2xvY2F0aW9uLmdldFByb2plY3Rpb24oKS5nZXRDb2RlKCksXHJcbiAgICAgIGFjY3VyYWN5OiBnZW9sb2NhdGVQcm9wZXJ0aWVzLmFjY3VyYWN5LFxyXG4gICAgICBhbHRpdHVkZTogZ2VvbG9jYXRlUHJvcGVydGllcy5hbHRpdHVkZSxcclxuICAgICAgYWx0aXR1ZGVBY2N1cmFjeTogZ2VvbG9jYXRlUHJvcGVydGllcy5hbHRpdHVkZUFjY3VyYWN5LFxyXG4gICAgICBoZWFkaW5nOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLmhlYWRpbmcsXHJcbiAgICAgIHNwZWVkOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnNwZWVkLFxyXG4gICAgICBlbmFibGVIaWdoQWNjdXJhY3k6IGdlb2xvY2F0ZVByb3BlcnRpZXMudHJhY2tpbmdPcHRpb25zXHJcbiAgICAgICAgPy5lbmFibGVIaWdoQWNjdXJhY3lcclxuICAgICAgICA/IHRydWVcclxuICAgICAgICA6IGZhbHNlLFxyXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKClcclxuICAgIH07XHJcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbihwb3NpdGlvbik7XHJcbiAgICB0aGlzLmhhbmRsZVZpZXdGcm9tRmVhdHVyZXMocG9zaXRpb24sIHpvb21Ubyk7XHJcbiAgICBpZiAoZW1pdEV2ZW50KSB7XHJcbiAgICAgIHRoaXMucG9zaXRpb24kLm5leHQocG9zaXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGZWF0dXJlQnlUeXBlKHR5cGU6IEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUpOiBvbEZlYXR1cmU8R2VvbWV0cnk+IHtcclxuICAgIHJldHVybiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5kYXRhU291cmNlLm9sLmdldEZlYXR1cmVCeUlkKHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWxldGVGZWF0dXJlQnlUeXBlKHR5cGU6IEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUpIHtcclxuICAgIGNvbnN0IGZlYXR1cmVCeUlkID1cclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXk/LmRhdGFTb3VyY2Uub2wuZ2V0RmVhdHVyZUJ5SWQodHlwZSk7XHJcbiAgICBpZiAoZmVhdHVyZUJ5SWQpIHtcclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXkuZGF0YVNvdXJjZS5vbC5yZW1vdmVGZWF0dXJlKGZlYXR1cmVCeUlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlRmVhdHVyZUNyZWF0aW9uKHBvc2l0aW9uOiBNYXBHZW9sb2NhdGlvblN0YXRlKSB7XHJcbiAgICBpZiAoIXBvc2l0aW9uIHx8ICFwb3NpdGlvbi5wb3NpdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBwb3NpdGlvbkdlb21ldHJ5ID0gbmV3IFBvaW50KHBvc2l0aW9uLnBvc2l0aW9uKTtcclxuICAgIGNvbnN0IGFjY3VyYWN5R2VvbWV0cnkgPSBmcm9tQ2lyY2xlKFxyXG4gICAgICBuZXcgT2xDaXJjbGUocG9zaXRpb24ucG9zaXRpb24sIHBvc2l0aW9uLmFjY3VyYWN5IHx8IDApXHJcbiAgICApO1xyXG4gICAgbGV0IHBvc2l0aW9uRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBhY2N1cmFjeUZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQWNjdXJhY3lcclxuICAgICk7XHJcbiAgICBjb25zdCBwb3NpdGlvbkZlYXR1cmVFeGlzdHMgPSBwb3NpdGlvbkZlYXR1cmUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICBjb25zdCBwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0cyA9IHBvc2l0aW9uRmVhdHVyZUFycm93ID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgY29uc3QgYWNjdXJhY3lGZWF0dXJlRXhpc3RzID0gYWNjdXJhY3lGZWF0dXJlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgaWYgKCFwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0cykge1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IG5ldyBvbEZlYXR1cmU8UG9pbnQ+KHtcclxuICAgICAgICBnZW9tZXRyeTogcG9zaXRpb25HZW9tZXRyeVxyXG4gICAgICB9KTtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlQXJyb3cuc2V0SWQoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvbik7XHJcbiAgICAgIGhpZGVPbEZlYXR1cmUocG9zaXRpb25GZWF0dXJlQXJyb3cpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwb3NpdGlvbkZlYXR1cmVFeGlzdHMpIHtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlID0gbmV3IG9sRmVhdHVyZTxQb2ludD4oeyBnZW9tZXRyeTogcG9zaXRpb25HZW9tZXRyeSB9KTtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuUG9zaXRpb24pO1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmUuc2V0U3R5bGUodGhpcy5wb3NpdGlvbkZlYXR1cmVTdHlsZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWFjY3VyYWN5RmVhdHVyZUV4aXN0cykge1xyXG4gICAgICBhY2N1cmFjeUZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlPFBvbHlnb24+KHsgZ2VvbWV0cnk6IGFjY3VyYWN5R2VvbWV0cnkgfSk7XHJcbiAgICAgIGFjY3VyYWN5RmVhdHVyZS5zZXRJZChHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkFjY3VyYWN5KTtcclxuICAgICAgYWNjdXJhY3lGZWF0dXJlLnNldFN0eWxlKHRoaXMuYWNjdXJhY3lGZWF0dXJlU3R5bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwb3NpdGlvbkdlb21ldHJ5KSB7XHJcbiAgICAgIHBvc2l0aW9uRmVhdHVyZUV4aXN0c1xyXG4gICAgICAgID8gcG9zaXRpb25GZWF0dXJlLnNldEdlb21ldHJ5KHBvc2l0aW9uR2VvbWV0cnkpXHJcbiAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgIHBvc2l0aW9uRmVhdHVyZSxcclxuICAgICAgICAgICAgRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgICApO1xyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvd0V4aXN0c1xyXG4gICAgICAgID8gcG9zaXRpb25GZWF0dXJlQXJyb3cuc2V0R2VvbWV0cnkocG9zaXRpb25HZW9tZXRyeSlcclxuICAgICAgICA6IHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5LmFkZE9sRmVhdHVyZShcclxuICAgICAgICAgICAgcG9zaXRpb25GZWF0dXJlQXJyb3csXHJcbiAgICAgICAgICAgIEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgdGhpcy51cGRhdGVBcnJvd0ZlYXR1cmVPcmllbnRhdGlvbihwb3NpdGlvbik7XHJcbiAgICAgIGFjY3VyYWN5RmVhdHVyZUV4aXN0c1xyXG4gICAgICAgID8gYWNjdXJhY3lGZWF0dXJlLnNldEdlb21ldHJ5KGFjY3VyYWN5R2VvbWV0cnkpXHJcbiAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgIGFjY3VyYWN5RmVhdHVyZSxcclxuICAgICAgICAgICAgRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgaWYgKHRoaXMuYnVmZmVyKSB7XHJcbiAgICAgICAgbGV0IGJ1ZmZlckZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgICAgICBHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkJ1ZmZlclxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyRmVhdHVyZUV4aXN0cyA9IGJ1ZmZlckZlYXR1cmUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyR2VvbWV0cnkgPSBuZXcgT2xDaXJjbGUoXHJcbiAgICAgICAgICBwb3NpdGlvbi5wb3NpdGlvbixcclxuICAgICAgICAgIHRoaXMuYnVmZmVyLmJ1ZmZlclJhZGl1c1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFidWZmZXJGZWF0dXJlRXhpc3RzKSB7XHJcbiAgICAgICAgICBidWZmZXJGZWF0dXJlID0gbmV3IG9sRmVhdHVyZShidWZmZXJHZW9tZXRyeSk7XHJcbiAgICAgICAgICBidWZmZXJGZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQnVmZmVyKTtcclxuICAgICAgICAgIGJ1ZmZlckZlYXR1cmUuc2V0U3R5bGUodGhpcy5wb3NpdGlvbkZlYXR1cmVTdHlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1ZmZlckZlYXR1cmUuc2V0U3R5bGUodGhpcy5idWZmZXJTdHlsZSk7XHJcbiAgICAgICAgYnVmZmVyRmVhdHVyZUV4aXN0c1xyXG4gICAgICAgICAgPyBidWZmZXJGZWF0dXJlLnNldEdlb21ldHJ5KGJ1ZmZlckdlb21ldHJ5KVxyXG4gICAgICAgICAgOiB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUoXHJcbiAgICAgICAgICAgICAgYnVmZmVyRmVhdHVyZSxcclxuICAgICAgICAgICAgICBGZWF0dXJlTW90aW9uLk5vbmVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVWaWV3RnJvbUZlYXR1cmVzKFxyXG4gICAgcG9zaXRpb246IE1hcEdlb2xvY2F0aW9uU3RhdGUsXHJcbiAgICB6b29tVG86IGJvb2xlYW4gPSBmYWxzZVxyXG4gICkge1xyXG4gICAgbGV0IHBvc2l0aW9uRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBwb3NpdGlvbkZlYXR1cmVBcnJvdyA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShcclxuICAgICAgR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbkRpcmVjdGlvblxyXG4gICAgKTtcclxuICAgIGxldCBhY2N1cmFjeUZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmVCeVR5cGUoXHJcbiAgICAgIEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQWNjdXJhY3lcclxuICAgICk7XHJcbiAgICBsZXQgYnVmZmVyRmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZUJ5VHlwZShHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLkJ1ZmZlcik7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IFtcclxuICAgICAgcG9zaXRpb25GZWF0dXJlLFxyXG4gICAgICBwb3NpdGlvbkZlYXR1cmVBcnJvdyxcclxuICAgICAgYWNjdXJhY3lGZWF0dXJlLFxyXG4gICAgICBidWZmZXJGZWF0dXJlXHJcbiAgICBdLmZpbHRlcigoZikgPT4gZik7XHJcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmZWF0dXJlc0V4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLnZpZXdQcm9qZWN0aW9uXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGVkZ2VSYXRpb3MgPVxyXG4gICAgICAgIHBvc2l0aW9uPy5zcGVlZCA+IDEyLjVcclxuICAgICAgICAgID8gWzAuMjUsIDAuMjUsIDAuMjUsIDAuMjVdXHJcbiAgICAgICAgICA6IFswLjE1LCAwLjEsIDAuMSwgMC4xXTtcclxuICAgICAgY29uc3QgYXJlT3V0T2ZWaWV3ID0gZmVhdHVyZXNBcmVPdXRPZlZpZXcoXHJcbiAgICAgICAgdGhpcy5tYXAuZ2V0RXh0ZW50KCksXHJcbiAgICAgICAgZmVhdHVyZXNFeHRlbnQsXHJcbiAgICAgICAgZWRnZVJhdGlvc1xyXG4gICAgICApO1xyXG4gICAgICBsZXQgbW90aW9uID1cclxuICAgICAgICB0aGlzLmZvbGxvd1Bvc2l0aW9uICYmIGFyZU91dE9mVmlld1xyXG4gICAgICAgICAgPyBGZWF0dXJlTW90aW9uLk1vdmVcclxuICAgICAgICAgIDogRmVhdHVyZU1vdGlvbi5Ob25lO1xyXG4gICAgICBpZiAoem9vbVRvKSB7XHJcbiAgICAgICAgbW90aW9uID0gRmVhdHVyZU1vdGlvbi5ab29tO1xyXG4gICAgICB9XHJcbiAgICAgIG1vdGlvbiAhPT0gRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgICAgPyBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLnZpZXdDb250cm9sbGVyLCBmZWF0dXJlcywgbW90aW9uKVxyXG4gICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=