@igo2/geo 16.0.2 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +28 -132
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +22 -86
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +22 -65
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +42 -47
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +13 -129
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +14 -55
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +27 -57
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +46 -54
  9. package/esm2022/lib/catalog/catalog.module.mjs +28 -29
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.service.mjs +14 -14
  13. package/esm2022/lib/datasource/datasource.module.mjs +12 -12
  14. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +9 -0
  15. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -17
  16. package/esm2022/lib/datasource/shared/datasource.service.mjs +11 -11
  17. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/index.mjs +2 -1
  21. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +12 -12
  22. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +19 -102
  23. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +21 -122
  24. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +11 -103
  25. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +6 -6
  26. package/esm2022/lib/directions/directions.component.mjs +25 -47
  27. package/esm2022/lib/directions/directions.module.mjs +61 -62
  28. package/esm2022/lib/directions/shared/directions.service.mjs +15 -14
  29. package/esm2022/lib/download/download-button/download-button.component.mjs +11 -26
  30. package/esm2022/lib/download/download.module.mjs +22 -23
  31. package/esm2022/lib/download/shared/download.service.mjs +9 -9
  32. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +9 -35
  33. package/esm2022/lib/draw/draw/draw-popup.component.mjs +20 -299
  34. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +7 -40
  35. package/esm2022/lib/draw/draw/draw.component.mjs +56 -322
  36. package/esm2022/lib/draw/draw/draw.module.mjs +64 -65
  37. package/esm2022/lib/draw/drawingTool.module.mjs +12 -13
  38. package/esm2022/lib/draw/shared/draw-icon.service.mjs +9 -9
  39. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  40. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  41. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +21 -171
  42. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +17 -19
  43. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +22 -23
  44. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +16 -34
  45. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +12 -13
  46. package/esm2022/lib/feature/feature.module.mjs +13 -14
  47. package/esm2022/lib/feature/shared/feature-store.utils.mjs +2 -2
  48. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  49. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  50. package/esm2022/lib/feature/shared/store.mjs +1 -1
  51. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  52. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  53. package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
  54. package/esm2022/lib/filter/filter.module.mjs +158 -197
  55. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +24 -49
  56. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +32 -397
  57. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +39 -625
  58. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +20 -47
  59. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +44 -340
  60. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +36 -58
  61. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +26 -126
  62. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +11 -11
  63. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +17 -40
  64. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +9 -9
  65. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +6 -6
  66. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +6 -6
  67. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +9 -9
  68. package/esm2022/lib/filter/shared/time-filter.service.mjs +6 -6
  69. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +73 -386
  70. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +23 -87
  71. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +37 -86
  72. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +24 -49
  73. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +20 -268
  74. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +20 -72
  75. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +11 -11
  76. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +13 -24
  77. package/esm2022/lib/geo.module.mjs +54 -55
  78. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +36 -39
  79. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +32 -97
  80. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +30 -31
  81. package/esm2022/lib/geometry/geometry.module.mjs +13 -14
  82. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  83. package/esm2022/lib/import-export/export-button/export-button.component.mjs +11 -24
  84. package/esm2022/lib/import-export/import-export/import-export.component.mjs +25 -434
  85. package/esm2022/lib/import-export/import-export.module.mjs +54 -55
  86. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +20 -22
  87. package/esm2022/lib/import-export/shared/export.service.mjs +10 -10
  88. package/esm2022/lib/import-export/shared/import.service.mjs +9 -9
  89. package/esm2022/lib/layer/index.mjs +1 -1
  90. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +47 -127
  91. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +16 -183
  92. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +16 -26
  93. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +11 -11
  94. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +26 -130
  95. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +13 -13
  96. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +50 -272
  97. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +21 -72
  98. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +9 -9
  99. package/esm2022/lib/layer/layer.module.mjs +94 -114
  100. package/esm2022/lib/layer/shared/layer.service.mjs +12 -12
  101. package/esm2022/lib/layer/shared/layers/image-layer.mjs +2 -2
  102. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  103. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +2 -2
  104. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +2 -2
  105. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  106. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +12 -27
  107. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +18 -60
  108. package/esm2022/lib/map/baselayers-switcher/index.mjs +1 -1
  109. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +20 -48
  110. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +11 -31
  111. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +17 -26
  112. package/esm2022/lib/map/index.mjs +1 -1
  113. package/esm2022/lib/map/info-section/info-section.component.mjs +9 -22
  114. package/esm2022/lib/map/map-browser/index.mjs +1 -1
  115. package/esm2022/lib/map/map-browser/map-browser.component.mjs +11 -18
  116. package/esm2022/lib/map/map-center/map-center.component.mjs +9 -13
  117. package/esm2022/lib/map/map.module.mjs +88 -96
  118. package/esm2022/lib/map/menu-button/menu-button.component.mjs +11 -19
  119. package/esm2022/lib/map/offline-button/offline-button.component.mjs +13 -24
  120. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +13 -39
  121. package/esm2022/lib/map/shared/hover-feature.directive.mjs +18 -20
  122. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  123. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +15 -15
  124. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  125. package/esm2022/lib/map/shared/map.service.mjs +9 -9
  126. package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -9
  127. package/esm2022/lib/map/shared/projection.service.mjs +9 -9
  128. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +9 -16
  129. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +11 -24
  130. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +11 -28
  131. package/esm2022/lib/measure/measure.module.mjs +12 -13
  132. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +9 -9
  133. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +13 -166
  134. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +19 -51
  135. package/esm2022/lib/measure/measurer/measurer.component.mjs +74 -241
  136. package/esm2022/lib/measure/measurer/measurer.module.mjs +46 -59
  137. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  138. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +20 -69
  139. package/esm2022/lib/metadata/metadata.module.mjs +24 -25
  140. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  141. package/esm2022/lib/metadata/shared/metadata.service.mjs +9 -9
  142. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +9 -9
  143. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +9 -9
  144. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +9 -9
  145. package/esm2022/lib/offline/shared/geo-network.service.mjs +9 -9
  146. package/esm2022/lib/overlay/overlay.module.mjs +12 -13
  147. package/esm2022/lib/overlay/shared/overlay.directive.mjs +11 -11
  148. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  149. package/esm2022/lib/overlay/shared/overlay.service.mjs +9 -9
  150. package/esm2022/lib/overlay/shared/overlay.utils.mjs +2 -2
  151. package/esm2022/lib/print/print/print.component.mjs +21 -27
  152. package/esm2022/lib/print/print-form/print-form.component.mjs +56 -349
  153. package/esm2022/lib/print/print.module.mjs +36 -37
  154. package/esm2022/lib/print/shared/print.service.mjs +14 -14
  155. package/esm2022/lib/print/shared/print.type.mjs +2 -2
  156. package/esm2022/lib/query/query.module.mjs +13 -14
  157. package/esm2022/lib/query/shared/query-search-source.mjs +9 -9
  158. package/esm2022/lib/query/shared/query.directive.mjs +21 -21
  159. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  160. package/esm2022/lib/search/search-bar/search-bar.component.mjs +66 -165
  161. package/esm2022/lib/search/search-bar/search-bar.module.mjs +38 -39
  162. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +13 -13
  163. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +12 -68
  164. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +23 -66
  165. package/esm2022/lib/search/search-results/search-results-item.component.mjs +18 -74
  166. package/esm2022/lib/search/search-results/search-results.component.mjs +41 -238
  167. package/esm2022/lib/search/search-results/search-results.module.mjs +58 -59
  168. package/esm2022/lib/search/search-selector/search-selector.component.mjs +13 -43
  169. package/esm2022/lib/search/search-selector/search-selector.module.mjs +30 -31
  170. package/esm2022/lib/search/search-settings/search-settings.component.mjs +24 -233
  171. package/esm2022/lib/search/search-settings/search-settings.module.mjs +32 -33
  172. package/esm2022/lib/search/search.module.mjs +32 -33
  173. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +18 -20
  174. package/esm2022/lib/search/shared/search.enums.mjs +3 -3
  175. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  176. package/esm2022/lib/search/shared/search.service.mjs +10 -10
  177. package/esm2022/lib/search/shared/sources/cadastre.mjs +10 -10
  178. package/esm2022/lib/search/shared/sources/coordinates.mjs +19 -19
  179. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  180. package/esm2022/lib/search/shared/sources/icherche.mjs +37 -26
  181. package/esm2022/lib/search/shared/sources/ilayer.mjs +19 -19
  182. package/esm2022/lib/search/shared/sources/nominatim.mjs +10 -10
  183. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  184. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  185. package/esm2022/lib/search/shared/sources/storedqueries.mjs +18 -18
  186. package/esm2022/lib/search/shared/sources/workspace.mjs +10 -10
  187. package/esm2022/lib/style/style-list/style-list.module.mjs +12 -12
  188. package/esm2022/lib/style/style-list/style-list.service.mjs +9 -9
  189. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +12 -121
  190. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +13 -59
  191. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +9 -17
  192. package/esm2022/lib/style/style-service/draw-style.service.mjs +9 -9
  193. package/esm2022/lib/style/style-service/style.service.mjs +9 -9
  194. package/esm2022/lib/style/style.module.mjs +51 -52
  195. package/esm2022/lib/toast/toast.component.mjs +15 -44
  196. package/esm2022/lib/toast/toast.module.mjs +24 -25
  197. package/esm2022/lib/utils/id-generator.mjs +1 -1
  198. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +9 -9
  199. package/esm2022/lib/wkt/shared/wkt.service.mjs +9 -9
  200. package/esm2022/lib/wkt/wkt.module.mjs +12 -12
  201. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +10 -27
  202. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +20 -21
  203. package/esm2022/lib/workspace/shared/edition-workspace.mjs +4 -4
  204. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +10 -10
  205. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  206. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +14 -13
  207. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  208. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +14 -13
  209. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +12 -12
  210. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  211. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +15 -19
  212. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +12 -13
  213. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +21 -21
  214. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +12 -13
  215. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +15 -15
  216. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +12 -13
  217. package/esm2022/lib/workspace/workspace.module.mjs +35 -36
  218. package/fesm2022/igo2-geo.mjs +16547 -23425
  219. package/fesm2022/igo2-geo.mjs.map +1 -1
  220. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  221. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  222. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  223. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  224. package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -2
  225. package/lib/catalog/shared/catalog.abstract.d.ts +3 -3
  226. package/lib/catalog/shared/catalog.interface.d.ts +2 -2
  227. package/lib/catalog/shared/catalog.service.d.ts +1 -1
  228. package/lib/datasource/shared/capabilities.interface.d.ts +8 -0
  229. package/lib/datasource/shared/capabilities.service.d.ts +1 -8
  230. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -1
  231. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -1
  232. package/lib/datasource/shared/index.d.ts +1 -0
  233. package/lib/directions/shared/directions.service.d.ts +2 -2
  234. package/lib/download/shared/download.service.d.ts +1 -1
  235. package/lib/draw/shared/draw.interface.d.ts +1 -1
  236. package/lib/environment/environment.interface.d.ts +8 -6
  237. package/lib/feature/shared/feature.interfaces.d.ts +3 -3
  238. package/lib/feature/shared/feature.utils.d.ts +2 -1
  239. package/lib/feature/shared/store.d.ts +1 -1
  240. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  241. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +1 -1
  242. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
  243. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -0
  244. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  245. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  246. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +1 -1
  247. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  248. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
  249. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +2 -2
  250. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  251. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  252. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  253. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  254. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  255. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  256. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  257. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  258. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  259. package/lib/layer/shared/layers/image-layer.d.ts +1 -1
  260. package/lib/layer/shared/layers/layer.d.ts +2 -1
  261. package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
  262. package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
  263. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  264. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  265. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  266. package/lib/map/shared/map.abstract.d.ts +5 -4
  267. package/lib/measure/measurer/measurer.component.d.ts +8 -4
  268. package/lib/measure/shared/measure.interfaces.d.ts +2 -2
  269. package/lib/metadata/shared/metadata.interface.d.ts +1 -1
  270. package/lib/overlay/shared/overlay.d.ts +1 -1
  271. package/lib/print/print-form/print-form.component.d.ts +4 -6
  272. package/lib/print/shared/print.service.d.ts +2 -1
  273. package/lib/print/shared/print.type.d.ts +2 -6
  274. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  275. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  276. package/lib/search/search-results/search-results.component.d.ts +1 -1
  277. package/lib/search/shared/search.interfaces.d.ts +1 -1
  278. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  279. package/lib/search/shared/sources/coordinates.d.ts +1 -1
  280. package/lib/search/shared/sources/icherche.d.ts +1 -1
  281. package/lib/search/shared/sources/icherche.interfaces.d.ts +1 -1
  282. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  283. package/lib/search/shared/sources/source.d.ts +1 -1
  284. package/lib/search/shared/sources/storedqueries.d.ts +1 -1
  285. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +1 -1
  286. package/lib/search/shared/sources/workspace.d.ts +1 -1
  287. package/lib/utils/id-generator.d.ts +1 -1
  288. package/lib/workspace/shared/edition-workspace.d.ts +3 -3
  289. package/lib/workspace/shared/edition-workspace.service.d.ts +1 -1
  290. package/lib/workspace/shared/feature-workspace.d.ts +1 -1
  291. package/lib/workspace/shared/feature-workspace.service.d.ts +2 -2
  292. package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
  293. package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -2
  294. package/lib/workspace/shared/wms-workspace.service.d.ts +2 -2
  295. package/lib/workspace/shared/workspace.utils.d.ts +1 -1
  296. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  297. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  298. package/locale/en.geo.json +5 -3
  299. package/locale/fr.geo.json +5 -3
  300. package/package.json +26 -29
  301. package/{lib → src/lib}/search/search-bar/search-bar.theming.scss +1 -0
  302. package/src/style/style.scss +1 -0
  303. /package/{geo-theme.scss → src/geo-theme.scss} +0 -0
  304. /package/{lib → src/lib}/catalog/catalog-browser/catalog-browser.theming.scss +0 -0
  305. /package/{lib → src/lib}/catalog/catalog.theming.scss +0 -0
  306. /package/{lib → src/lib}/directions/directions-results/directions-results.theming.scss +0 -0
  307. /package/{lib → src/lib}/directions/directions.theming.scss +0 -0
  308. /package/{lib → src/lib}/draw/draw.theming.scss +0 -0
  309. /package/{lib → src/lib}/feature/feature-details/feature-details.theming.scss +0 -0
  310. /package/{lib → src/lib}/feature/feature.theming.scss +0 -0
  311. /package/{lib → src/lib}/filter/filter.theming.scss +0 -0
  312. /package/{lib → src/lib}/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +0 -0
  313. /package/{lib → src/lib}/filter/time-filter-form/time-filter-form.theming.scss +0 -0
  314. /package/{lib → src/lib}/layer/layer-item/layer-item.theme.scss +0 -0
  315. /package/{lib → src/lib}/layer/layer-legend/layer-legend.theming.scss +0 -0
  316. /package/{lib → src/lib}/layer/layer-list-tool/layer-list-tool.theming.scss +0 -0
  317. /package/{lib → src/lib}/layer/layer.theming.scss +0 -0
  318. /package/{lib → src/lib}/map/map-browser/map-browser.theming.scss +0 -0
  319. /package/{lib → src/lib}/map/map.theming.scss +0 -0
  320. /package/{lib → src/lib}/map/menu-button/menu-button.theming.scss +0 -0
  321. /package/{lib → src/lib}/map/zoom-button/zoom-button.theming.scss +0 -0
  322. /package/{lib → src/lib}/measure/measure.theming.scss +0 -0
  323. /package/{lib → src/lib}/measure/measurer/measurer.theming.scss +0 -0
  324. /package/{lib → src/lib}/search/search-results/search-results-item.theme.scss +0 -0
  325. /package/{lib → src/lib}/search/search.theming.scss +0 -0
  326. /package/{lib → src/lib}/workspace/confirmation-popup/confirmation-popup.theming.scss +0 -0
  327. /package/{lib → src/lib}/workspace/workspace.theming.scss +0 -0
@@ -244,13 +244,13 @@ export class DrawStyleService {
244
244
  return style;
245
245
  }
246
246
  }
247
- static ɵfac = function DrawStyleService_Factory(t) { return new (t || DrawStyleService)(); };
248
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DrawStyleService, factory: DrawStyleService.ɵfac, providedIn: 'root' });
247
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawStyleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
248
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawStyleService, providedIn: 'root' });
249
249
  }
250
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawStyleService, [{
251
- type: Injectable,
252
- args: [{
253
- providedIn: 'root'
254
- }]
255
- }], function () { return []; }, null); })();
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zdHlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtc2VydmljZS9kcmF3LXN0eWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBUztJQUNiLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsU0FBUyxHQUFXLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRTVCLGdCQUFlLENBQUM7SUFFaEIsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FB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VSxnQkFBZ0I7Z0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7dUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0aW9uTGlrZSwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCAqIGFzIE9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5cclxuaW1wb3J0IHsgRm9udFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZm9udC5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdTdHlsZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZmlsbENvbG9yID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC40KSc7XHJcbiAgcHJpdmF0ZSBzdHJva2VDb2xvciA9ICdyZ2JhKDE0Myw3LDcsMSknO1xyXG4gIHByaXZhdGUgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDE7XHJcbiAgcHJpdmF0ZSBsYWJlbHNBcmVTaG93biA9IHRydWU7XHJcbiAgcHJpdmF0ZSBpY29uOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBmb250U2l6ZTogc3RyaW5nID0gJzE1JztcclxuICBwcml2YXRlIGZvbnRTdHlsZTogc3RyaW5nID0gRm9udFR5cGUuQXJpYWwudG9TdHJpbmcoKTtcclxuICBwcml2YXRlIG9mZnNldFg6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBvZmZzZXRZOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldEZpbGxDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsbENvbG9yO1xyXG4gIH1cclxuXHJcbiAgc2V0RmlsbENvbG9yKGZpbGxDb2xvcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbGxDb2xvciA9IGZpbGxDb2xvcjtcclxuICB9XHJcblxyXG4gIGdldFN0cm9rZUNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHJva2VDb2xvcjtcclxuICB9XHJcblxyXG4gIHNldFN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3Ryb2tlQ29sb3IgPSBzdHJva2VDb2xvcjtcclxuICB9XHJcblxyXG4gIGdldFN0cm9rZVdpZHRoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHJva2VXaWR0aDtcclxuICB9XHJcblxyXG4gIGdldExhYmVsc0FyZVNob3duKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzQXJlU2hvd247XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMYWJlbHNBcmVTaG93bigpIHtcclxuICAgIHRoaXMubGFiZWxzQXJlU2hvd24gPSAhdGhpcy5sYWJlbHNBcmVTaG93bjtcclxuICB9XHJcblxyXG4gIHNldEljb24oaWNvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmljb247XHJcbiAgfVxyXG5cclxuICAvLyBUbyBlZGl0IHRoZSBsYWJlbCBvZiBkcmF3aW5nXHJcbiAgZ2V0Rm9udFNpemUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb250U2l6ZTtcclxuICB9XHJcblxyXG4gIHNldEZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9udFNpemUgPSBmb250U2l6ZTtcclxuICB9XHJcblxyXG4gIGdldEZvbnRTdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvbnRTdHlsZTtcclxuICB9XHJcblxyXG4gIHNldEZvbnRTdHlsZShmb250U3R5bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb250U3R5bGUgPSBmb250U3R5bGU7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXRYKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZzZXRYO1xyXG4gIH1cclxuXHJcbiAgc2V0T2Zmc2V0WChvZmZzZXRYOiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0WCA9IG9mZnNldFg7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXRZKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZzZXRZO1xyXG4gIH1cclxuXHJcbiAgc2V0T2Zmc2V0WShvZmZzZXRZOiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0WSA9IG9mZnNldFk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbmRpdmlkdWFsRWxlbWVudFN0eWxlKFxyXG4gICAgZmVhdHVyZSxcclxuICAgIHJlc29sdXRpb24sXHJcbiAgICBsYWJlbHNBcmVTaG93bjogYm9vbGVhbixcclxuICAgIGZvbnRTaXplQW5kU3R5bGU6IHN0cmluZyxcclxuICAgIGZpbGxDb2xvcjogc3RyaW5nLFxyXG4gICAgc3Ryb2tlQ29sb3I6IHN0cmluZyxcclxuICAgIG9mZnNldFg6IG51bWJlcixcclxuICAgIG9mZnNldFk6IG51bWJlcixcclxuICAgIHByb2o6IFByb2plY3Rpb25MaWtlLFxyXG4gICAgaWNvbj86IHN0cmluZ1xyXG4gICk6IE9sU3R5bGUuU3R5bGUge1xyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgbGV0IGxhYmVsc0FyZU9mZnNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcclxuXHJcbiAgICBpZiAoZ2VvbSBpbnN0YW5jZW9mIE9sUG9pbnQpIHtcclxuICAgICAgbGFiZWxzQXJlT2Zmc2V0ID0gIWxhYmVsc0FyZU9mZnNldDtcclxuICAgIH1cclxuICAgIGNvbnN0IHRleHRUb1Nob3cgPSBsYWJlbHNBcmVTaG93biA/IGZlYXR1cmUuZ2V0KCdkcmF3JykgOiAnJztcclxuICAgIGZlYXR1cmUuc2V0KCdfbWFwVGl0bGUnLCB0ZXh0VG9TaG93KTtcclxuICAgIGNvbnN0IHRleHRJZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgdGV4dDogdGV4dFRvU2hvdyxcclxuICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgICAgd2lkdGg6IDAuNzVcclxuICAgICAgfSxcclxuICAgICAgZmlsbDogeyBjb2xvcjogJ2JsYWNrJyB9LFxyXG4gICAgICBmb250OiBmb250U2l6ZUFuZFN0eWxlLFxyXG4gICAgICBvdmVyZmxvdzogdHJ1ZSxcclxuICAgICAgb2Zmc2V0WDogb2Zmc2V0WCxcclxuICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgaWdvU3R5bGVPYmplY3Q7XHJcblxyXG4gICAgLy8gaWYgZmVhdHVyZSBpcyBhIGNpcmNsZVxyXG4gICAgaWYgKGZlYXR1cmUuZ2V0KCdyYWQnKSkge1xyXG4gICAgICBjb25zdCBjb29yZGluYXRlcyA9IHRyYW5zZm9ybShcclxuICAgICAgICBmZWF0dXJlLmdldEdlb21ldHJ5KCkuZmxhdENvb3JkaW5hdGVzLFxyXG4gICAgICAgIHByb2osXHJcbiAgICAgICAgJ0VQU0c6NDMyNidcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgcmFkaXVzID1cclxuICAgICAgICBmZWF0dXJlLmdldCgncmFkJykgL1xyXG4gICAgICAgIE1hdGguY29zKChNYXRoLlBJIC8gMTgwKSAqIGNvb3JkaW5hdGVzWzFdKSAvXHJcbiAgICAgICAgcmVzb2x1dGlvbjtcclxuICAgICAgaWdvU3R5bGVPYmplY3QgPSB7XHJcbiAgICAgICAgdGV4dDogdGV4dElnb1N0eWxlT2JqZWN0LFxyXG4gICAgICAgIGNpcmNsZToge1xyXG4gICAgICAgICAgcmFkaXVzLFxyXG4gICAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvciA/IHN0cm9rZUNvbG9yIDogdGhpcy5zdHJva2VDb2xvcixcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBmaWxsOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGZlYXR1cmUuc2V0KCdfc3R5bGUnLCBpZ29TdHlsZU9iamVjdCk7XHJcblxyXG4gICAgICBzdHlsZSA9IG5ldyBPbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICB0ZXh0OiBuZXcgT2xTdHlsZS5UZXh0KHtcclxuICAgICAgICAgIHRleHQ6IHRleHRUb1Nob3csXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogMC43NVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgIH0pLFxyXG5cclxuICAgICAgICAgIGZvbnQ6IGZvbnRTaXplQW5kU3R5bGUsXHJcbiAgICAgICAgICBvdmVyZmxvdzogdHJ1ZSxcclxuICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsXHJcbiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIGltYWdlOiBuZXcgT2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgcmFkaXVzLFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgT2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IgPyBzdHJva2VDb2xvciA6IHRoaXMuc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gc3R5bGU7XHJcblxyXG4gICAgICAvLyBpZiBmZWF0dXJlIGlzIGFuIGljb25cclxuICAgIH0gZWxzZSBpZiAoaWNvbikge1xyXG4gICAgICB0aGlzLm9mZnNldFkgPSAtMjY7XHJcbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xyXG4gICAgICBjb25zdCBpZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgICB0ZXh0OiB0ZXh0SWdvU3R5bGVPYmplY3QsXHJcbiAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmlsbDoge1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgc3JjOiBpY29uXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBmZWF0dXJlLnNldCgnX3N0eWxlJywgaWdvU3R5bGVPYmplY3QpO1xyXG5cclxuICAgICAgc3R5bGUgPSBuZXcgT2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgdGV4dDogbmV3IE9sU3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICB0ZXh0OiBsYWJlbHNBcmVTaG93biA/IGZlYXR1cmUuZ2V0KCdkcmF3JykgOiAnJyxcclxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgICAgICAgIHdpZHRoOiAwLjc1XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmb250OiBmb250U2l6ZUFuZFN0eWxlLFxyXG4gICAgICAgICAgb3ZlcmZsb3c6IHRydWUsXHJcbiAgICAgICAgICBvZmZzZXRYOiBvZmZzZXRYLFxyXG4gICAgICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgaW1hZ2U6IG5ldyBPbFN0eWxlLkljb24oe1xyXG4gICAgICAgICAgc3JjOiBpY29uXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzdHlsZTtcclxuXHJcbiAgICAgIC8vIGlmIGZlYXR1cmUgaXMgYSBwb2ludCwgYSBsaW5lc3RyaW5nIG9yIGEgcG9seWdvblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXRZID0gbGFiZWxzQXJlT2Zmc2V0ID8gLTE1IDogMDtcclxuXHJcbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xyXG4gICAgICBjb25zdCBpZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgICB0ZXh0OiB0ZXh0SWdvU3R5bGVPYmplY3QsXHJcbiAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmlsbDoge1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2lyY2xlOiB7XHJcbiAgICAgICAgICByYWRpdXM6IDUsXHJcbiAgICAgICAgICBzdHJva2U6IHtcclxuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbGw6IHtcclxuICAgICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgZmVhdHVyZS5zZXQoJ19zdHlsZScsIGlnb1N0eWxlT2JqZWN0KTtcclxuXHJcbiAgICAgIHN0eWxlID0gbmV3IE9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgIHRleHQ6IG5ldyBPbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgdGV4dDogbGFiZWxzQXJlU2hvd24gPyBmZWF0dXJlLmdldCgnZHJhdycpIDogJycsXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogMC43NVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcclxuICAgICAgICAgIG92ZXJmbG93OiB0cnVlLFxyXG5cclxuICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsXHJcbiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBpbWFnZTogbmV3IE9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgIHJhZGl1czogNSxcclxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawStyleService, decorators: [{
251
+ type: Injectable,
252
+ args: [{
253
+ providedIn: 'root'
254
+ }]
255
+ }], ctorParameters: function () { return []; } });
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zdHlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtc2VydmljZS9kcmF3LXN0eWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBUztJQUNiLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsU0FBUyxHQUFXLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRTVCLGdCQUFlLENBQUM7SUFFaEIsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FB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VSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgT2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcclxuaW1wb3J0IHsgUHJvamVjdGlvbkxpa2UsIHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBPbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IEZvbnRUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2ZvbnQuZW51bSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3U3R5bGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIGZpbGxDb2xvciA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknO1xyXG4gIHByaXZhdGUgc3Ryb2tlQ29sb3IgPSAncmdiYSgxNDMsNyw3LDEpJztcclxuICBwcml2YXRlIHN0cm9rZVdpZHRoOiBudW1iZXIgPSAxO1xyXG4gIHByaXZhdGUgbGFiZWxzQXJlU2hvd24gPSB0cnVlO1xyXG4gIHByaXZhdGUgaWNvbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgZm9udFNpemU6IHN0cmluZyA9ICcxNSc7XHJcbiAgcHJpdmF0ZSBmb250U3R5bGU6IHN0cmluZyA9IEZvbnRUeXBlLkFyaWFsLnRvU3RyaW5nKCk7XHJcbiAgcHJpdmF0ZSBvZmZzZXRYOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgb2Zmc2V0WTogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBnZXRGaWxsQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGxDb2xvcjtcclxuICB9XHJcblxyXG4gIHNldEZpbGxDb2xvcihmaWxsQ29sb3I6IHN0cmluZykge1xyXG4gICAgdGhpcy5maWxsQ29sb3IgPSBmaWxsQ29sb3I7XHJcbiAgfVxyXG5cclxuICBnZXRTdHJva2VDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc3Ryb2tlQ29sb3I7XHJcbiAgfVxyXG5cclxuICBzZXRTdHJva2VDb2xvcihzdHJva2VDb2xvcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0cm9rZUNvbG9yID0gc3Ryb2tlQ29sb3I7XHJcbiAgfVxyXG5cclxuICBnZXRTdHJva2VXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc3Ryb2tlV2lkdGg7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbHNBcmVTaG93bigpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsc0FyZVNob3duO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTGFiZWxzQXJlU2hvd24oKSB7XHJcbiAgICB0aGlzLmxhYmVsc0FyZVNob3duID0gIXRoaXMubGFiZWxzQXJlU2hvd247XHJcbiAgfVxyXG5cclxuICBzZXRJY29uKGljb246IHN0cmluZykge1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIGdldEljb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uO1xyXG4gIH1cclxuXHJcbiAgLy8gVG8gZWRpdCB0aGUgbGFiZWwgb2YgZHJhd2luZ1xyXG4gIGdldEZvbnRTaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9udFNpemU7XHJcbiAgfVxyXG5cclxuICBzZXRGb250U2l6ZShmb250U2l6ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvbnRTaXplID0gZm9udFNpemU7XHJcbiAgfVxyXG5cclxuICBnZXRGb250U3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb250U3R5bGU7XHJcbiAgfVxyXG5cclxuICBzZXRGb250U3R5bGUoZm9udFN0eWxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9udFN0eWxlID0gZm9udFN0eWxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0T2Zmc2V0WCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMub2Zmc2V0WDtcclxuICB9XHJcblxyXG4gIHNldE9mZnNldFgob2Zmc2V0WDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9mZnNldFggPSBvZmZzZXRYO1xyXG4gIH1cclxuXHJcbiAgZ2V0T2Zmc2V0WSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMub2Zmc2V0WTtcclxuICB9XHJcblxyXG4gIHNldE9mZnNldFkob2Zmc2V0WTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9mZnNldFkgPSBvZmZzZXRZO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlSW5kaXZpZHVhbEVsZW1lbnRTdHlsZShcclxuICAgIGZlYXR1cmUsXHJcbiAgICByZXNvbHV0aW9uLFxyXG4gICAgbGFiZWxzQXJlU2hvd246IGJvb2xlYW4sXHJcbiAgICBmb250U2l6ZUFuZFN0eWxlOiBzdHJpbmcsXHJcbiAgICBmaWxsQ29sb3I6IHN0cmluZyxcclxuICAgIHN0cm9rZUNvbG9yOiBzdHJpbmcsXHJcbiAgICBvZmZzZXRYOiBudW1iZXIsXHJcbiAgICBvZmZzZXRZOiBudW1iZXIsXHJcbiAgICBwcm9qOiBQcm9qZWN0aW9uTGlrZSxcclxuICAgIGljb24/OiBzdHJpbmdcclxuICApOiBPbFN0eWxlLlN0eWxlIHtcclxuICAgIGxldCBzdHlsZTtcclxuICAgIGxldCBsYWJlbHNBcmVPZmZzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGNvbnN0IGdlb20gPSBmZWF0dXJlLmdldEdlb21ldHJ5KCk7XHJcblxyXG4gICAgaWYgKGdlb20gaW5zdGFuY2VvZiBPbFBvaW50KSB7XHJcbiAgICAgIGxhYmVsc0FyZU9mZnNldCA9ICFsYWJlbHNBcmVPZmZzZXQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0ZXh0VG9TaG93ID0gbGFiZWxzQXJlU2hvd24gPyBmZWF0dXJlLmdldCgnZHJhdycpIDogJyc7XHJcbiAgICBmZWF0dXJlLnNldCgnX21hcFRpdGxlJywgdGV4dFRvU2hvdyk7XHJcbiAgICBjb25zdCB0ZXh0SWdvU3R5bGVPYmplY3QgPSB7XHJcbiAgICAgIHRleHQ6IHRleHRUb1Nob3csXHJcbiAgICAgIHN0cm9rZToge1xyXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgIHdpZHRoOiAwLjc1XHJcbiAgICAgIH0sXHJcbiAgICAgIGZpbGw6IHsgY29sb3I6ICdibGFjaycgfSxcclxuICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcclxuICAgICAgb3ZlcmZsb3c6IHRydWUsXHJcbiAgICAgIG9mZnNldFg6IG9mZnNldFgsXHJcbiAgICAgIG9mZnNldFk6IG9mZnNldFlcclxuICAgIH07XHJcblxyXG4gICAgbGV0IGlnb1N0eWxlT2JqZWN0O1xyXG5cclxuICAgIC8vIGlmIGZlYXR1cmUgaXMgYSBjaXJjbGVcclxuICAgIGlmIChmZWF0dXJlLmdldCgncmFkJykpIHtcclxuICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0cmFuc2Zvcm0oXHJcbiAgICAgICAgZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmZsYXRDb29yZGluYXRlcyxcclxuICAgICAgICBwcm9qLFxyXG4gICAgICAgICdFUFNHOjQzMjYnXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IHJhZGl1cyA9XHJcbiAgICAgICAgZmVhdHVyZS5nZXQoJ3JhZCcpIC9cclxuICAgICAgICBNYXRoLmNvcygoTWF0aC5QSSAvIDE4MCkgKiBjb29yZGluYXRlc1sxXSkgL1xyXG4gICAgICAgIHJlc29sdXRpb247XHJcbiAgICAgIGlnb1N0eWxlT2JqZWN0ID0ge1xyXG4gICAgICAgIHRleHQ6IHRleHRJZ29TdHlsZU9iamVjdCxcclxuICAgICAgICBjaXJjbGU6IHtcclxuICAgICAgICAgIHJhZGl1cyxcclxuICAgICAgICAgIHN0cm9rZToge1xyXG4gICAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IgPyBzdHJva2VDb2xvciA6IHRoaXMuc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZmlsbDoge1xyXG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBmZWF0dXJlLnNldCgnX3N0eWxlJywgaWdvU3R5bGVPYmplY3QpO1xyXG5cclxuICAgICAgc3R5bGUgPSBuZXcgT2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgdGV4dDogbmV3IE9sU3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICB0ZXh0OiB0ZXh0VG9TaG93LFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgT2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcclxuICAgICAgICAgICAgd2lkdGg6IDAuNzVcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgICBmb250OiBmb250U2l6ZUFuZFN0eWxlLFxyXG4gICAgICAgICAgb3ZlcmZsb3c6IHRydWUsXHJcbiAgICAgICAgICBvZmZzZXRYOiBvZmZzZXRYLFxyXG4gICAgICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBpbWFnZTogbmV3IE9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgIHJhZGl1cyxcclxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yID8gc3Ryb2tlQ29sb3IgOiB0aGlzLnN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHN0eWxlO1xyXG5cclxuICAgICAgLy8gaWYgZmVhdHVyZSBpcyBhbiBpY29uXHJcbiAgICB9IGVsc2UgaWYgKGljb24pIHtcclxuICAgICAgdGhpcy5vZmZzZXRZID0gLTI2O1xyXG4gICAgICB0ZXh0SWdvU3R5bGVPYmplY3Qub2Zmc2V0WSA9IHRoaXMub2Zmc2V0WTtcclxuICAgICAgY29uc3QgaWdvU3R5bGVPYmplY3QgPSB7XHJcbiAgICAgICAgdGV4dDogdGV4dElnb1N0eWxlT2JqZWN0LFxyXG4gICAgICAgIHN0cm9rZToge1xyXG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZpbGw6IHtcclxuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICB9LFxyXG4gICAgICAgIGljb246IHtcclxuICAgICAgICAgIHNyYzogaWNvblxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgZmVhdHVyZS5zZXQoJ19zdHlsZScsIGlnb1N0eWxlT2JqZWN0KTtcclxuXHJcbiAgICAgIHN0eWxlID0gbmV3IE9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgIHRleHQ6IG5ldyBPbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgdGV4dDogbGFiZWxzQXJlU2hvd24gPyBmZWF0dXJlLmdldCgnZHJhdycpIDogJycsXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogMC43NVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcclxuICAgICAgICAgIG92ZXJmbG93OiB0cnVlLFxyXG4gICAgICAgICAgb2Zmc2V0WDogb2Zmc2V0WCxcclxuICAgICAgICAgIG9mZnNldFk6IG9mZnNldFlcclxuICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgc3Ryb2tlOiBuZXcgT2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIGltYWdlOiBuZXcgT2xTdHlsZS5JY29uKHtcclxuICAgICAgICAgIHNyYzogaWNvblxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gc3R5bGU7XHJcblxyXG4gICAgICAvLyBpZiBmZWF0dXJlIGlzIGEgcG9pbnQsIGEgbGluZXN0cmluZyBvciBhIHBvbHlnb25cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2Zmc2V0WSA9IGxhYmVsc0FyZU9mZnNldCA/IC0xNSA6IDA7XHJcblxyXG4gICAgICB0ZXh0SWdvU3R5bGVPYmplY3Qub2Zmc2V0WSA9IHRoaXMub2Zmc2V0WTtcclxuICAgICAgY29uc3QgaWdvU3R5bGVPYmplY3QgPSB7XHJcbiAgICAgICAgdGV4dDogdGV4dElnb1N0eWxlT2JqZWN0LFxyXG4gICAgICAgIHN0cm9rZToge1xyXG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZpbGw6IHtcclxuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNpcmNsZToge1xyXG4gICAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBmaWxsOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGZlYXR1cmUuc2V0KCdfc3R5bGUnLCBpZ29TdHlsZU9iamVjdCk7XHJcblxyXG4gICAgICBzdHlsZSA9IG5ldyBPbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICB0ZXh0OiBuZXcgT2xTdHlsZS5UZXh0KHtcclxuICAgICAgICAgIHRleHQ6IGxhYmVsc0FyZVNob3duID8gZmVhdHVyZS5nZXQoJ2RyYXcnKSA6ICcnLFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgT2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcclxuICAgICAgICAgICAgd2lkdGg6IDAuNzVcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZvbnQ6IGZvbnRTaXplQW5kU3R5bGUsXHJcbiAgICAgICAgICBvdmVyZmxvdzogdHJ1ZSxcclxuXHJcbiAgICAgICAgICBvZmZzZXRYOiBvZmZzZXRYLFxyXG4gICAgICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgaW1hZ2U6IG5ldyBPbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgICByYWRpdXM6IDUsXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzdHlsZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -381,13 +381,13 @@ export class StyleService {
381
381
  return 'regular';
382
382
  }
383
383
  }
384
- static ɵfac = function StyleService_Factory(t) { return new (t || StyleService)(); };
385
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StyleService, factory: StyleService.ɵfac, providedIn: 'root' });
384
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StyleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
385
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StyleService, providedIn: 'root' });
386
386
  }
387
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleService, [{
388
- type: Injectable,
389
- args: [{
390
- providedIn: 'root'
391
- }]
392
- }], null, null); })();
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUduQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLFlBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtDRztJQUNILFdBQVcsQ0FDVCxPQUErQixFQUMvQixPQUErQyxFQUMvQyxVQUFtQjtRQUVuQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyx3QkFBd0IsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxZQUFZLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDckUsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QixJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNsQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhO29CQUM3RCxD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LE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDbkQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBTztRQUM5QixRQUFRLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7c0VBcmFVLFlBQVk7Z0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTs7dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XHJcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5cclxuaW1wb3J0IHsgQ2x1c3RlclBhcmFtIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2NsdXN0ZXJQYXJhbSc7XHJcbmltcG9ydCB7IGdldFJlc29sdXRpb25Gcm9tU2NhbGUgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uL3NoYXJlZC9vdmVybGF5L292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcclxuaW1wb3J0IHsgU3R5bGVCeUF0dHJpYnV0ZSB9IGZyb20gJy4uL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdHlsZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyBzdHlsZTogb2xTdHlsZS5TdHlsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgc3R5bGUgYmFzZWQgb24gYSBvYmplY3QgYXNcclxuICAgKiBzdHlsZToge1xyXG4gICAqICAgICAgIFwic3Ryb2tlXCI6IHtcclxuICAgKiAgICAgICAgIFwiY29sb3JcIjogXCJibHVlXCIsXHJcbiAgICogICAgICAgICBcImxpbmVEYXNoXCI6IFsxMCwgNV1cclxuICAgKiAgICAgICB9LFxyXG4gICAqICAgICAgIFwidGV4dFwiOiB7XHJcbiAgICogICAgICAgICBcIm1pblNjYWxlRGVub21cIjogNTAwMDAsXHJcbiAgICogICAgICAgICBcIm1heFNjYWxlRGVub21cIjogMjAwMDAwLFxyXG4gICAqICAgICAgICAgXCJtaW5SZXNvbHV0aW9uXCI6IDEwMCxcclxuICAgKiAgICAgICAgIFwibWF4UmVzb2x1dGlvblwiOiA0MDAsXHJcbiAgICogICAgICAgICBcImF0dHJpYnV0ZVwiOiBcIlRIRSBDT0xVTU4gTkFNRSBUTyBSRVRSSUVWRSBUSEUgTEFCRUwgVkFMVUVcIixcclxuICAgKiAgICAgICAgIFwidGV4dFwiOiBcIk1ZIEhBUkNPREVEIFRFWFRcIixcclxuICAgKiAgICAgICAgIFwic3Ryb2tlXCI6IHtcclxuICAgKiAgICAgICAgICAgXCJjb2xvclwiOiBcImJsdWVcIixcclxuICAgKiAgICAgICAgICAgXCJ3aWR0aFwiOiAwLjc1XHJcbiAgICogICAgICAgICB9LFxyXG4gICAqICAgICAgICAgXCJmaWxsXCI6IHtcclxuICAgKiAgICAgICAgICAgXCJjb2xvclwiOiBcImJsYWNrXCJcclxuICAgKiAgICAgICAgIH0sXHJcbiAgICogICAgICAgICBcImZvbnRcIjogXCIyMHB4IHNhbnMtc2VyaWZcIixcclxuICAgKiAgICAgICAgIFwib3ZlcmZsb3dcIjogdHJ1ZSxcclxuICAgKiAgICAgICAgIFwib2Zmc2V0WFwiOiAxMCxcclxuICAgKiAgICAgICAgIFwib2Zmc2V0WVwiOiAyMCxcclxuICAgKiAgICAgICAgIFwicGFkZGluZ1wiOiBbMi41LCAyLjUsIDIuNSwgMi41XVxyXG4gICAqICAgICAgIH0sXHJcbiAgICogICAgICAgXCJ3aWR0aFwiOiA1XHJcbiAgICogICAgIH1cclxuICAgKlxyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICogQHBhcmFtIGZlYXR1cmUgZmVhdHVyZSB0byBhcHBseSBzdHlsZSBvblxyXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIGN1cnJlbnQgbWFwIHJlc29sdXRpb24sIHRvIGNvbnRyb2wgbGFiZWwgcmVzb2x1dGlvbiByYW5nZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgY3JlYXRlU3R5bGUoXHJcbiAgICBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgZmVhdHVyZT86IFJlbmRlckZlYXR1cmUgfCBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sXHJcbiAgICByZXNvbHV0aW9uPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHtcclxuICAgICAgcmV0dXJuIGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nIHx8IG9wdGlvbnMgaW5zdGFuY2VvZiBvbFN0eWxlLlN0eWxlKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb25zO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkU3R5bGUgPSB0aGlzLnBhcnNlU3R5bGUoJ3N0eWxlJywgb3B0aW9ucyk7XHJcbiAgICBpZiAocGFyc2VkU3R5bGUuZ2V0VGV4dCgpKSB7XHJcbiAgICAgIGxldCBsYWJlbE1pblJlc29sdXRpb24gPSAwO1xyXG4gICAgICBsZXQgbGFiZWxNYXhSZXNvbHV0aW9uID0gSW5maW5pdHk7XHJcbiAgICAgIGlmIChvcHRpb25zLnRleHQpIHtcclxuICAgICAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgPSBvcHRpb25zLnRleHQ/Lm1pblNjYWxlRGVub21cclxuICAgICAgICAgID8gZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShOdW1iZXIob3B0aW9ucy50ZXh0Lm1pblNjYWxlRGVub20pKVxyXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID0gb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tXHJcbiAgICAgICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5tYXhTY2FsZURlbm9tKSlcclxuICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSBvcHRpb25zLnRleHQ/Lm1pblJlc29sdXRpb25cclxuICAgICAgICAgID8gb3B0aW9ucy50ZXh0Lm1pblJlc29sdXRpb25cclxuICAgICAgICAgIDogMDtcclxuICAgICAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICAgICA/IG9wdGlvbnMudGV4dC5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICAgICA6IEluZmluaXR5O1xyXG5cclxuICAgICAgICBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcclxuICAgICAgICBsYWJlbE1heFJlc29sdXRpb24gPSBsYWJlbE1heFJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWF4UmVzb2x1dGlvbjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5taW5TY2FsZURlbm9tIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5taW5SZXNvbHV0aW9uIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGZlYXR1cmUgJiZcclxuICAgICAgICAgIHJlc29sdXRpb24gPj0gbGFiZWxNaW5SZXNvbHV0aW9uICYmXHJcbiAgICAgICAgICByZXNvbHV0aW9uIDw9IGxhYmVsTWF4UmVzb2x1dGlvblxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKGZlYXR1cmUgJiYgb3B0aW9ucy50ZXh0LmF0dHJpYnV0ZSkge1xyXG4gICAgICAgICAgICBwYXJzZWRTdHlsZVxyXG4gICAgICAgICAgICAgIC5nZXRUZXh0KClcclxuICAgICAgICAgICAgICAuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIG9wdGlvbnMudGV4dC5hdHRyaWJ1dGUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyc2VkU3R5bGUuc2V0VGV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcnNlZFN0eWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhcnNlU3R5bGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IHN0eWxlT3B0aW9ucyA9IHt9O1xyXG4gICAgY29uc3Qgb2xDbHMgPSB0aGlzLmdldE9sQ2xzKGtleSk7XHJcblxyXG4gICAgaWYgKG9sQ2xzICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKChfa2V5KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2xLZXkgPSB0aGlzLmdldE9sS2V5KF9rZXkpO1xyXG4gICAgICAgIHN0eWxlT3B0aW9uc1tvbEtleV0gPSB0aGlzLnBhcnNlU3R5bGUoX2tleSwgdmFsdWVbX2tleV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG5ldyBvbENscyhzdHlsZU9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPbEtleShrZXk6IGFueSkge1xyXG4gICAgbGV0IG9sS2V5O1xyXG4gICAgc3dpdGNoIChrZXkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdjaXJjbGUnOlxyXG4gICAgICBjYXNlICdyZWd1bGFyc2hhcGUnOlxyXG4gICAgICBjYXNlICdpY29uJzpcclxuICAgICAgICBvbEtleSA9ICdpbWFnZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sS2V5IHx8IGtleTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2xDbHMoa2V5OiBhbnkpIHtcclxuICAgIGxldCBvbENscyA9IG9sU3R5bGVba2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpXTtcclxuICAgIGlmIChrZXkgPT09ICdyZWd1bGFyc2hhcGUnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5SZWd1bGFyU2hhcGU7XHJcbiAgICB9XHJcbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZEZpbGwnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5GaWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRTdHJva2UnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5TdHJva2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sQ2xzO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcclxuICAgIGZlYXR1cmU6IFJlbmRlckZlYXR1cmUgfCBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sXHJcbiAgICBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlLFxyXG4gICAgcmVzb2x1dGlvbjogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBsZXQgc3R5bGU7XHJcbiAgICBjb25zdCB0eXBlID0gc3R5bGVCeUF0dHJpYnV0ZS50eXBlXHJcbiAgICAgID8gc3R5bGVCeUF0dHJpYnV0ZS50eXBlXHJcbiAgICAgIDogdGhpcy5ndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlID0gc3R5bGVCeUF0dHJpYnV0ZS5hdHRyaWJ1dGU7XHJcbiAgICBjb25zdCBkYXRhID0gc3R5bGVCeUF0dHJpYnV0ZS5kYXRhO1xyXG4gICAgY29uc3Qgc3Ryb2tlID0gc3R5bGVCeUF0dHJpYnV0ZS5zdHJva2U7XHJcbiAgICBjb25zdCB3aWR0aCA9IHN0eWxlQnlBdHRyaWJ1dGUud2lkdGg7XHJcbiAgICBjb25zdCBmaWxsID0gc3R5bGVCeUF0dHJpYnV0ZS5maWxsO1xyXG4gICAgY29uc3QgYW5jaG9yID0gc3R5bGVCeUF0dHJpYnV0ZS5hbmNob3I7XHJcbiAgICBjb25zdCByYWRpdXMgPSBzdHlsZUJ5QXR0cmlidXRlLnJhZGl1cztcclxuICAgIGNvbnN0IGljb24gPSBzdHlsZUJ5QXR0cmlidXRlLmljb247XHJcbiAgICBjb25zdCBzY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc2NhbGU7XHJcbiAgICBjb25zdCBzaXplID0gZGF0YSA/IGRhdGEubGVuZ3RoIDogMDtcclxuICAgIGNvbnN0IGxhYmVsID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbFxyXG4gICAgICA/IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwuYXR0cmlidXRlXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWluU2NhbGVEZW5vbVxyXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWluU2NhbGVEZW5vbSkpXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWF4U2NhbGVEZW5vbVxyXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWF4U2NhbGVEZW5vbSkpXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1pblJlc29sdXRpb25cclxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1pblJlc29sdXRpb25cclxuICAgICAgOiAwO1xyXG4gICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1heFJlc29sdXRpb25cclxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1heFJlc29sdXRpb25cclxuICAgICAgOiBJbmZpbml0eTtcclxuXHJcbiAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSB8fCBtYXhSZXNvbHV0aW9uO1xyXG5cclxuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGVcclxuICAgICAgPyB0aGlzLnBhcnNlU3R5bGUoJ3RleHQnLCBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLnN0eWxlKVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICAgIGlmICghbGFiZWxTdHlsZSAmJiBsYWJlbCkge1xyXG4gICAgICBsYWJlbFN0eWxlID0gbmV3IG9sU3R5bGUuVGV4dCgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYmFzZVN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5iYXNlU3R5bGU7XHJcblxyXG4gICAgaWYgKGxhYmVsU3R5bGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHJlc29sdXRpb24gPj0gbGFiZWxNaW5SZXNvbHV0aW9uICYmXHJcbiAgICAgICAgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb25cclxuICAgICAgKSB7XHJcbiAgICAgICAgbGFiZWxTdHlsZS5zZXRUZXh0KHRoaXMuZ2V0TGFiZWwoZmVhdHVyZSwgbGFiZWwpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsYWJlbFN0eWxlLnNldFRleHQoJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGUgPT09ICdjaXJjbGUnKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID1cclxuICAgICAgICAgIHR5cGVvZiBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgICAgICAgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA/IGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSlcclxuICAgICAgICAgICAgOiAnJztcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB2YWwgPT09IGRhdGFbaV0gfHxcclxuICAgICAgICAgIHZhbC50b1N0cmluZygpLm1hdGNoKG5ldyBSZWdFeHAoZGF0YVtpXSwgJ2dtaScpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKGljb24pIHtcclxuICAgICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkljb24oe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgIHNyYzogaWNvbltpXSxcclxuICAgICAgICAgICAgICAgICAgc2NhbGU6IHNjYWxlID8gc2NhbGVbaV0gOiAxLFxyXG4gICAgICAgICAgICAgICAgICBhbmNob3I6IGFuY2hvciA/IGFuY2hvcltpXSA6IFswLjUsIDAuNV1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGV4dDpcclxuICAgICAgICAgICAgICAgICAgbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sU3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMgPyByYWRpdXNbaV0gOiA0LFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogc3Ryb2tlID8gc3Ryb2tlW2ldIDogJ2JsYWNrJyxcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIShmZWF0dXJlIGFzIE9sRmVhdHVyZTxPbEdlb21ldHJ5PikuZ2V0U3R5bGUoKSkge1xyXG4gICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xyXG4gICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgIHJhZGl1czogNCxcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyZWd1bGFyJykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9XHJcbiAgICAgICAgICB0eXBlb2YgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gJ3VuZGVmaW5lZCcgJiZcclxuICAgICAgICAgIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcclxuICAgICAgICAgICAgPyBmZWF0dXJlLmdldChhdHRyaWJ1dGUpXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdmFsID09PSBkYXRhW2ldIHx8XHJcbiAgICAgICAgICB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHN0cm9rZSA/IHN0cm9rZVtpXSA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggPyB3aWR0aFtpXSA6IDFcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBmaWxsID8gZmlsbFtpXSA6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgdGV4dDogbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sU3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChmZWF0dXJlIGluc3RhbmNlb2YgT2xGZWF0dXJlKSB7XHJcbiAgICAgICAgaWYgKCFmZWF0dXJlLmdldFN0eWxlKCkpIHtcclxuICAgICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGJhc2VTdHlsZSwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNiYmJiZjInXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDbHVzdGVyU3R5bGUoXHJcbiAgICBmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gICAgcmVzb2x1dGlvbjogbnVtYmVyLFxyXG4gICAgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSB7fSxcclxuICAgIGxheWVyU3R5bGVcclxuICApIHtcclxuICAgIGxldCBzdHlsZTtcclxuICAgIGNvbnN0IHNpemUgPSBmZWF0dXJlLmdldCgnZmVhdHVyZXMnKS5sZW5ndGg7XHJcbiAgICBpZiAoc2l6ZSAhPT0gMSkge1xyXG4gICAgICBpZiAoY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHIgb2YgY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCFyLm1pblJhZGl1cyB8fCByLm1pblJhZGl1cyA8PSBzaXplKSAmJlxyXG4gICAgICAgICAgICAoIXIubWF4UmFkaXVzIHx8IHIubWF4UmFkaXVzID49IHNpemUpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKHIuc3R5bGUpIGFzIG9sU3R5bGUuQ2lyY2xlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHIuc2hvd1JhbmdlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IG5ldyBvbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dCh0ZXh0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHIuZHluYW1pY1JhZGl1cykge1xyXG4gICAgICAgICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmFkaXVzTWluID0gc3R5bGUuZ2V0UmFkaXVzKCk7XHJcbiAgICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IDUgKiBNYXRoLmxvZyhzaXplKTtcclxuICAgICAgICAgICAgICBpZiAoY2x1c3RlclJhZGl1cyA8IHJhZGl1c01pbikge1xyXG4gICAgICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IHJhZGl1c01pbjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgc3R5bGUuaW1hZ2VfLnNldFJhZGl1cyhjbHVzdGVyUmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghc3R5bGUpIHtcclxuICAgICAgICBsZXQgY2x1c3RlclJhZGl1czogbnVtYmVyO1xyXG4gICAgICAgIGlmIChjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYykge1xyXG4gICAgICAgICAgY2x1c3RlclJhZGl1cyA9IGNsdXN0ZXJQYXJhbS5yYWRpdXNDYWxjKHNpemUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSA2O1xyXG4gICAgICAgICAgY2x1c3RlclJhZGl1cyA9IDUgKiBNYXRoLmxvZyhzaXplKTtcclxuICAgICAgICAgIGlmIChjbHVzdGVyUmFkaXVzIDwgcmFkaXVzTWluKSB7XHJcbiAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgICAgICAgcmFkaXVzOiBjbHVzdGVyUmFkaXVzLFxyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjQsIDEzNCwgNDUsIDAuNSknXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRleHQ6IG5ldyBvbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgICAgIHRleHQ6IHNpemUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUobGF5ZXJTdHlsZSwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbChmZWF0dXJlLCBsYWJlbE1hdGNoKTogc3RyaW5nIHtcclxuICAgIGxldCBsYWJlbCA9IGxhYmVsTWF0Y2g7XHJcbiAgICBpZiAoIWxhYmVsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGxhYmVsVG9HZXQgPSBBcnJheS5mcm9tKGxhYmVsTWF0Y2gubWF0Y2hBbGwoL1xcJFxceyhbXlxce1xcfV0rKVxcfS9nKSk7XHJcblxyXG4gICAgbGFiZWxUb0dldC5mb3JFYWNoKCh2KSA9PiB7XHJcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLmdldCh2WzFdKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBOb3RoaW5nIGRvbmU/IGNoZWNrIGZlYXR1cmUncyBhdHRyaWJ1dGVcclxuICAgIGlmIChsYWJlbFRvR2V0Lmxlbmd0aCA9PT0gMCAmJiBsYWJlbCA9PT0gbGFiZWxNYXRjaCkge1xyXG4gICAgICBsYWJlbCA9IGZlYXR1cmUuZ2V0KGxhYmVsTWF0Y2gpIHx8IGxhYmVsTWF0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpIHtcclxuICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xyXG4gICAgICBjYXNlICdQb2ludCc6XHJcbiAgICAgIGNhc2UgJ011bHRpUG9pbnQnOlxyXG4gICAgICBjYXNlICdDaXJjbGUnOlxyXG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3JlZ3VsYXInO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StyleService, decorators: [{
388
+ type: Injectable,
389
+ args: [{
390
+ providedIn: 'root'
391
+ }]
392
+ }] });
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUduQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLFlBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtDRztJQUNILFdBQVcsQ0FDVCxPQUErQixFQUMvQixPQUErQyxFQUMvQyxVQUFtQjtRQUVuQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyx3QkFBd0IsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxZQUFZLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDckUsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QixJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNsQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhO29CQUM3RCxD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LE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDbkQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBTztRQUM5QixRQUFRLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7d0dBcmFVLFlBQVk7NEdBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IFJlbmRlckZlYXR1cmUgZnJvbSAnb2wvcmVuZGVyL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBvbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IENsdXN0ZXJQYXJhbSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9jbHVzdGVyUGFyYW0nO1xyXG5pbXBvcnQgeyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvb3ZlcmxheS9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCB7IFN0eWxlQnlBdHRyaWJ1dGUgfSBmcm9tICcuLi9zaGFyZWQvdmVjdG9yL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVTZXJ2aWNlIHtcclxuICBwdWJsaWMgc3R5bGU6IG9sU3R5bGUuU3R5bGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN0eWxlIGJhc2VkIG9uIGEgb2JqZWN0IGFzXHJcbiAgICogc3R5bGU6IHtcclxuICAgKiAgICAgICBcInN0cm9rZVwiOiB7XHJcbiAgICogICAgICAgICBcImNvbG9yXCI6IFwiYmx1ZVwiLFxyXG4gICAqICAgICAgICAgXCJsaW5lRGFzaFwiOiBbMTAsIDVdXHJcbiAgICogICAgICAgfSxcclxuICAgKiAgICAgICBcInRleHRcIjoge1xyXG4gICAqICAgICAgICAgXCJtaW5TY2FsZURlbm9tXCI6IDUwMDAwLFxyXG4gICAqICAgICAgICAgXCJtYXhTY2FsZURlbm9tXCI6IDIwMDAwMCxcclxuICAgKiAgICAgICAgIFwibWluUmVzb2x1dGlvblwiOiAxMDAsXHJcbiAgICogICAgICAgICBcIm1heFJlc29sdXRpb25cIjogNDAwLFxyXG4gICAqICAgICAgICAgXCJhdHRyaWJ1dGVcIjogXCJUSEUgQ09MVU1OIE5BTUUgVE8gUkVUUklFVkUgVEhFIExBQkVMIFZBTFVFXCIsXHJcbiAgICogICAgICAgICBcInRleHRcIjogXCJNWSBIQVJDT0RFRCBURVhUXCIsXHJcbiAgICogICAgICAgICBcInN0cm9rZVwiOiB7XHJcbiAgICogICAgICAgICAgIFwiY29sb3JcIjogXCJibHVlXCIsXHJcbiAgICogICAgICAgICAgIFwid2lkdGhcIjogMC43NVxyXG4gICAqICAgICAgICAgfSxcclxuICAgKiAgICAgICAgIFwiZmlsbFwiOiB7XHJcbiAgICogICAgICAgICAgIFwiY29sb3JcIjogXCJibGFja1wiXHJcbiAgICogICAgICAgICB9LFxyXG4gICAqICAgICAgICAgXCJmb250XCI6IFwiMjBweCBzYW5zLXNlcmlmXCIsXHJcbiAgICogICAgICAgICBcIm92ZXJmbG93XCI6IHRydWUsXHJcbiAgICogICAgICAgICBcIm9mZnNldFhcIjogMTAsXHJcbiAgICogICAgICAgICBcIm9mZnNldFlcIjogMjAsXHJcbiAgICogICAgICAgICBcInBhZGRpbmdcIjogWzIuNSwgMi41LCAyLjUsIDIuNV1cclxuICAgKiAgICAgICB9LFxyXG4gICAqICAgICAgIFwid2lkdGhcIjogNVxyXG4gICAqICAgICB9XHJcbiAgICpcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmUgdG8gYXBwbHkgc3R5bGUgb25cclxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBjdXJyZW50IG1hcCByZXNvbHV0aW9uLCB0byBjb250cm9sIGxhYmVsIHJlc29sdXRpb24gcmFuZ2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGNyZWF0ZVN0eWxlKFxyXG4gICAgb3B0aW9uczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgIGZlYXR1cmU/OiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gICAgcmVzb2x1dGlvbj86IG51bWJlclxyXG4gICkge1xyXG4gICAgaWYgKCFvcHRpb25zKSB7XHJcbiAgICAgIHJldHVybiBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUoKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJyB8fCBvcHRpb25zIGluc3RhbmNlb2Ygb2xTdHlsZS5TdHlsZSkge1xyXG4gICAgICByZXR1cm4gb3B0aW9ucztcclxuICAgIH1cclxuICAgIGNvbnN0IHBhcnNlZFN0eWxlID0gdGhpcy5wYXJzZVN0eWxlKCdzdHlsZScsIG9wdGlvbnMpO1xyXG4gICAgaWYgKHBhcnNlZFN0eWxlLmdldFRleHQoKSkge1xyXG4gICAgICBsZXQgbGFiZWxNaW5SZXNvbHV0aW9uID0gMDtcclxuICAgICAgbGV0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IEluZmluaXR5O1xyXG4gICAgICBpZiAob3B0aW9ucy50ZXh0KSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlID0gb3B0aW9ucy50ZXh0Py5taW5TY2FsZURlbm9tXHJcbiAgICAgICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5taW5TY2FsZURlbm9tKSlcclxuICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGNvbnN0IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSA9IG9wdGlvbnMudGV4dD8ubWF4U2NhbGVEZW5vbVxyXG4gICAgICAgICAgPyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcihvcHRpb25zLnRleHQubWF4U2NhbGVEZW5vbSkpXHJcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCBtaW5SZXNvbHV0aW9uID0gb3B0aW9ucy50ZXh0Py5taW5SZXNvbHV0aW9uXHJcbiAgICAgICAgICA/IG9wdGlvbnMudGV4dC5taW5SZXNvbHV0aW9uXHJcbiAgICAgICAgICA6IDA7XHJcbiAgICAgICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9IG9wdGlvbnMudGV4dD8ubWF4UmVzb2x1dGlvblxyXG4gICAgICAgICAgPyBvcHRpb25zLnRleHQubWF4UmVzb2x1dGlvblxyXG4gICAgICAgICAgOiBJbmZpbml0eTtcclxuXHJcbiAgICAgICAgbGFiZWxNaW5SZXNvbHV0aW9uID0gbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1pblJlc29sdXRpb247XHJcbiAgICAgICAgbGFiZWxNYXhSZXNvbHV0aW9uID0gbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1heFJlc29sdXRpb247XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIG9wdGlvbnMudGV4dD8ubWluU2NhbGVEZW5vbSB8fFxyXG4gICAgICAgIG9wdGlvbnMudGV4dD8ubWF4U2NhbGVEZW5vbSB8fFxyXG4gICAgICAgIG9wdGlvbnMudGV4dD8ubWluUmVzb2x1dGlvbiB8fFxyXG4gICAgICAgIG9wdGlvbnMudGV4dD8ubWF4UmVzb2x1dGlvblxyXG4gICAgICApIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmZWF0dXJlICYmXHJcbiAgICAgICAgICByZXNvbHV0aW9uID49IGxhYmVsTWluUmVzb2x1dGlvbiAmJlxyXG4gICAgICAgICAgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb25cclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChmZWF0dXJlICYmIG9wdGlvbnMudGV4dC5hdHRyaWJ1dGUpIHtcclxuICAgICAgICAgICAgcGFyc2VkU3R5bGVcclxuICAgICAgICAgICAgICAuZ2V0VGV4dCgpXHJcbiAgICAgICAgICAgICAgLnNldFRleHQodGhpcy5nZXRMYWJlbChmZWF0dXJlLCBvcHRpb25zLnRleHQuYXR0cmlidXRlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHBhcnNlZFN0eWxlLnNldFRleHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYXJzZWRTdHlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXJzZVN0eWxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCBzdHlsZU9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IG9sQ2xzID0gdGhpcy5nZXRPbENscyhrZXkpO1xyXG5cclxuICAgIGlmIChvbENscyAmJiB2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaCgoX2tleSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sS2V5ID0gdGhpcy5nZXRPbEtleShfa2V5KTtcclxuICAgICAgICBzdHlsZU9wdGlvbnNbb2xLZXldID0gdGhpcy5wYXJzZVN0eWxlKF9rZXksIHZhbHVlW19rZXldKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBuZXcgb2xDbHMoc3R5bGVPcHRpb25zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2xLZXkoa2V5OiBhbnkpIHtcclxuICAgIGxldCBvbEtleTtcclxuICAgIHN3aXRjaCAoa2V5LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnY2lyY2xlJzpcclxuICAgICAgY2FzZSAncmVndWxhcnNoYXBlJzpcclxuICAgICAgY2FzZSAnaWNvbic6XHJcbiAgICAgICAgb2xLZXkgPSAnaW1hZ2UnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvbEtleSB8fCBrZXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9sQ2xzKGtleTogYW55KSB7XHJcbiAgICBsZXQgb2xDbHMgPSBvbFN0eWxlW2tleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKV07XHJcbiAgICBpZiAoa2V5ID09PSAncmVndWxhcnNoYXBlJykge1xyXG4gICAgICBvbENscyA9IG9sU3R5bGUuUmVndWxhclNoYXBlO1xyXG4gICAgfVxyXG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRGaWxsJykge1xyXG4gICAgICBvbENscyA9IG9sU3R5bGUuRmlsbDtcclxuICAgIH1cclxuICAgIGlmIChrZXkgPT09ICdiYWNrZ3JvdW5kU3Ryb2tlJykge1xyXG4gICAgICBvbENscyA9IG9sU3R5bGUuU3Ryb2tlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvbENscztcclxuICB9XHJcblxyXG4gIGNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXHJcbiAgICBmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gICAgc3R5bGVCeUF0dHJpYnV0ZTogU3R5bGVCeUF0dHJpYnV0ZSxcclxuICAgIHJlc29sdXRpb246IG51bWJlclxyXG4gICkge1xyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgY29uc3QgdHlwZSA9IHN0eWxlQnlBdHRyaWJ1dGUudHlwZVxyXG4gICAgICA/IHN0eWxlQnlBdHRyaWJ1dGUudHlwZVxyXG4gICAgICA6IHRoaXMuZ3Vlc3NUeXBlRmVhdHVyZShmZWF0dXJlKTtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHN0eWxlQnlBdHRyaWJ1dGUuYXR0cmlidXRlO1xyXG4gICAgY29uc3QgZGF0YSA9IHN0eWxlQnlBdHRyaWJ1dGUuZGF0YTtcclxuICAgIGNvbnN0IHN0cm9rZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc3Ryb2tlO1xyXG4gICAgY29uc3Qgd2lkdGggPSBzdHlsZUJ5QXR0cmlidXRlLndpZHRoO1xyXG4gICAgY29uc3QgZmlsbCA9IHN0eWxlQnlBdHRyaWJ1dGUuZmlsbDtcclxuICAgIGNvbnN0IGFuY2hvciA9IHN0eWxlQnlBdHRyaWJ1dGUuYW5jaG9yO1xyXG4gICAgY29uc3QgcmFkaXVzID0gc3R5bGVCeUF0dHJpYnV0ZS5yYWRpdXM7XHJcbiAgICBjb25zdCBpY29uID0gc3R5bGVCeUF0dHJpYnV0ZS5pY29uO1xyXG4gICAgY29uc3Qgc2NhbGUgPSBzdHlsZUJ5QXR0cmlidXRlLnNjYWxlO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGRhdGEgPyBkYXRhLmxlbmd0aCA6IDA7XHJcbiAgICBjb25zdCBsYWJlbCA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWxcclxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLmF0dHJpYnV0ZVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGxhYmVsTWluUmVzb2x1dGlvbkZyb21TY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1pblNjYWxlRGVub21cclxuICAgICAgPyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcihzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1pblNjYWxlRGVub20pKVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1heFNjYWxlRGVub21cclxuICAgICAgPyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcihzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1heFNjYWxlRGVub20pKVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsPy5taW5SZXNvbHV0aW9uXHJcbiAgICAgID8gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbC5taW5SZXNvbHV0aW9uXHJcbiAgICAgIDogMDtcclxuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPSBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsPy5tYXhSZXNvbHV0aW9uXHJcbiAgICAgID8gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbC5tYXhSZXNvbHV0aW9uXHJcbiAgICAgIDogSW5maW5pdHk7XHJcblxyXG4gICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uID0gbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1pblJlc29sdXRpb247XHJcbiAgICBjb25zdCBsYWJlbE1heFJlc29sdXRpb24gPSBsYWJlbE1heFJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWF4UmVzb2x1dGlvbjtcclxuXHJcbiAgICBsZXQgbGFiZWxTdHlsZSA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/LnN0eWxlXHJcbiAgICAgID8gdGhpcy5wYXJzZVN0eWxlKCd0ZXh0Jywgc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbC5zdHlsZSlcclxuICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoIWxhYmVsU3R5bGUgJiYgbGFiZWwpIHtcclxuICAgICAgbGFiZWxTdHlsZSA9IG5ldyBvbFN0eWxlLlRleHQoKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGJhc2VTdHlsZSA9IHN0eWxlQnlBdHRyaWJ1dGUuYmFzZVN0eWxlO1xyXG5cclxuICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICByZXNvbHV0aW9uID49IGxhYmVsTWluUmVzb2x1dGlvbiAmJlxyXG4gICAgICAgIHJlc29sdXRpb24gPD0gbGFiZWxNYXhSZXNvbHV0aW9uXHJcbiAgICAgICkge1xyXG4gICAgICAgIGxhYmVsU3R5bGUuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIGxhYmVsKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGFiZWxTdHlsZS5zZXRUZXh0KCcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlID09PSAnY2lyY2xlJykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9XHJcbiAgICAgICAgICB0eXBlb2YgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gJ3VuZGVmaW5lZCcgJiZcclxuICAgICAgICAgIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcclxuICAgICAgICAgICAgPyBmZWF0dXJlLmdldChhdHRyaWJ1dGUpXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdmFsID09PSBkYXRhW2ldIHx8XHJcbiAgICAgICAgICB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChpY29uKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5JY29uKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICBzcmM6IGljb25baV0sXHJcbiAgICAgICAgICAgICAgICAgIHNjYWxlOiBzY2FsZSA/IHNjYWxlW2ldIDogMSxcclxuICAgICAgICAgICAgICAgICAgYW5jaG9yOiBhbmNob3IgPyBhbmNob3JbaV0gOiBbMC41LCAwLjVdXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHRleHQ6XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICAgIHJhZGl1czogcmFkaXVzID8gcmFkaXVzW2ldIDogNCxcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHN0cm9rZSA/IHN0cm9rZVtpXSA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoW2ldIDogMVxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICB0ZXh0OiBsYWJlbFN0eWxlIGluc3RhbmNlb2Ygb2xTdHlsZS5UZXh0ID8gbGFiZWxTdHlsZSA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCEoZmVhdHVyZSBhcyBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pLmdldFN0eWxlKCkpIHtcclxuICAgICAgICBpZiAoYmFzZVN0eWxlKSB7XHJcbiAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoYmFzZVN0eWxlLCBmZWF0dXJlLCByZXNvbHV0aW9uKTtcclxuICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgICAgICAgIHN0eWxlLnNldFRleHQobGFiZWxTdHlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgICAgICByYWRpdXM6IDQsXHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2JiYmJmMidcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBdO1xyXG4gICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAncmVndWxhcicpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcclxuICAgICAgICBjb25zdCB2YWwgPVxyXG4gICAgICAgICAgdHlwZW9mIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09ICd1bmRlZmluZWQnICYmXHJcbiAgICAgICAgICBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSBudWxsXHJcbiAgICAgICAgICAgID8gZmVhdHVyZS5nZXQoYXR0cmlidXRlKVxyXG4gICAgICAgICAgICA6ICcnO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHZhbCA9PT0gZGF0YVtpXSB8fFxyXG4gICAgICAgICAgdmFsLnRvU3RyaW5nKCkubWF0Y2gobmV3IFJlZ0V4cChkYXRhW2ldLCAnZ21pJykpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBzdHJva2UgPyBzdHJva2VbaV0gOiAnYmxhY2snLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZmVhdHVyZSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xyXG4gICAgICAgIGlmICghZmVhdHVyZS5nZXRTdHlsZSgpKSB7XHJcbiAgICAgICAgICBpZiAoYmFzZVN0eWxlKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxTdHlsZSkge1xyXG4gICAgICAgICAgICAgIHN0eWxlLnNldFRleHQobGFiZWxTdHlsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ2x1c3RlclN0eWxlKFxyXG4gICAgZmVhdHVyZTogUmVuZGVyRmVhdHVyZSB8IE9sRmVhdHVyZTxPbEdlb21ldHJ5PixcclxuICAgIHJlc29sdXRpb246IG51bWJlcixcclxuICAgIGNsdXN0ZXJQYXJhbTogQ2x1c3RlclBhcmFtID0ge30sXHJcbiAgICBsYXllclN0eWxlXHJcbiAgKSB7XHJcbiAgICBsZXQgc3R5bGU7XHJcbiAgICBjb25zdCBzaXplID0gZmVhdHVyZS5nZXQoJ2ZlYXR1cmVzJykubGVuZ3RoO1xyXG4gICAgaWYgKHNpemUgIT09IDEpIHtcclxuICAgICAgaWYgKGNsdXN0ZXJQYXJhbS5jbHVzdGVyUmFuZ2VzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCByIG9mIGNsdXN0ZXJQYXJhbS5jbHVzdGVyUmFuZ2VzKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICghci5taW5SYWRpdXMgfHwgci5taW5SYWRpdXMgPD0gc2l6ZSkgJiZcclxuICAgICAgICAgICAgKCFyLm1heFJhZGl1cyB8fCByLm1heFJhZGl1cyA+PSBzaXplKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShyLnN0eWxlKSBhcyBvbFN0eWxlLkNpcmNsZTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyLnNob3dSYW5nZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBuZXcgb2xTdHlsZS5UZXh0KHtcclxuICAgICAgICAgICAgICAgIHRleHQ6IHNpemUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHN0eWxlLnNldFRleHQodGV4dCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyLmR5bmFtaWNSYWRpdXMpIHtcclxuICAgICAgICAgICAgICBsZXQgY2x1c3RlclJhZGl1czogbnVtYmVyO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJhZGl1c01pbiA9IHN0eWxlLmdldFJhZGl1cygpO1xyXG4gICAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSA1ICogTWF0aC5sb2coc2l6ZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNsdXN0ZXJSYWRpdXMgPCByYWRpdXNNaW4pIHtcclxuICAgICAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHN0eWxlLmltYWdlXy5zZXRSYWRpdXMoY2x1c3RlclJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXN0eWxlKSB7XHJcbiAgICAgICAgbGV0IGNsdXN0ZXJSYWRpdXM6IG51bWJlcjtcclxuICAgICAgICBpZiAoY2x1c3RlclBhcmFtLnJhZGl1c0NhbGMpIHtcclxuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSBjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYyhzaXplKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgcmFkaXVzTWluID0gNjtcclxuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSA1ICogTWF0aC5sb2coc2l6ZSk7XHJcbiAgICAgICAgICBpZiAoY2x1c3RlclJhZGl1cyA8IHJhZGl1c01pbikge1xyXG4gICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gcmFkaXVzTWluO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgIHJhZGl1czogY2x1c3RlclJhZGl1cyxcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI0LCAxMzQsIDQ1LCAwLjUpJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0ZXh0OiBuZXcgb2xTdHlsZS5UZXh0KHtcclxuICAgICAgICAgICAgICB0ZXh0OiBzaXplLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGxheWVyU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWwoZmVhdHVyZSwgbGFiZWxNYXRjaCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFiZWwgPSBsYWJlbE1hdGNoO1xyXG4gICAgaWYgKCFsYWJlbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBsYWJlbFRvR2V0ID0gQXJyYXkuZnJvbShsYWJlbE1hdGNoLm1hdGNoQWxsKC9cXCRcXHsoW15cXHtcXH1dKylcXH0vZykpO1xyXG5cclxuICAgIGxhYmVsVG9HZXQuZm9yRWFjaCgodikgPT4ge1xyXG4gICAgICBsYWJlbCA9IGxhYmVsLnJlcGxhY2UodlswXSwgZmVhdHVyZS5nZXQodlsxXSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gTm90aGluZyBkb25lPyBjaGVjayBmZWF0dXJlJ3MgYXR0cmlidXRlXHJcbiAgICBpZiAobGFiZWxUb0dldC5sZW5ndGggPT09IDAgJiYgbGFiZWwgPT09IGxhYmVsTWF0Y2gpIHtcclxuICAgICAgbGFiZWwgPSBmZWF0dXJlLmdldChsYWJlbE1hdGNoKSB8fCBsYWJlbE1hdGNoO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYWJlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3Vlc3NUeXBlRmVhdHVyZShmZWF0dXJlKSB7XHJcbiAgICBzd2l0Y2ggKGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRUeXBlKCkpIHtcclxuICAgICAgY2FzZSAnUG9pbnQnOlxyXG4gICAgICBjYXNlICdNdWx0aVBvaW50JzpcclxuICAgICAgY2FzZSAnQ2lyY2xlJzpcclxuICAgICAgICByZXR1cm4gJ2NpcmNsZSc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdyZWd1bGFyJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -25,9 +25,25 @@ export class IgoStyleModule {
25
25
  providers: [StyleService, DrawStyleService]
26
26
  };
27
27
  }
28
- static ɵfac = function IgoStyleModule_Factory(t) { return new (t || IgoStyleModule)(); };
29
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoStyleModule });
30
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoStyleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoStyleModule, declarations: [StyleModalDrawingComponent,
30
+ StyleModalLayerComponent,
31
+ StyleModalLayerButtonComponent], imports: [CommonModule,
32
+ FormsModule,
33
+ IgoLanguageModule,
34
+ MatFormFieldModule,
35
+ MatIconModule,
36
+ MatButtonModule,
37
+ MatDialogModule,
38
+ MatInputModule,
39
+ MatSelectModule,
40
+ MatTooltipModule,
41
+ ReactiveFormsModule,
42
+ ColorPickerFormFieldModule, i1.IgoStyleListModule], exports: [IgoStyleListModule,
43
+ StyleModalDrawingComponent,
44
+ StyleModalLayerComponent,
45
+ StyleModalLayerButtonComponent] });
46
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoStyleModule, imports: [CommonModule,
31
47
  FormsModule,
32
48
  IgoLanguageModule,
33
49
  MatFormFieldModule,
@@ -41,52 +57,35 @@ export class IgoStyleModule {
41
57
  ColorPickerFormFieldModule,
42
58
  IgoStyleListModule.forRoot(), IgoStyleListModule] });
43
59
  }
44
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStyleModule, [{
45
- type: NgModule,
46
- args: [{
47
- imports: [
48
- CommonModule,
49
- FormsModule,
50
- IgoLanguageModule,
51
- MatFormFieldModule,
52
- MatIconModule,
53
- MatButtonModule,
54
- MatDialogModule,
55
- MatInputModule,
56
- MatSelectModule,
57
- MatTooltipModule,
58
- ReactiveFormsModule,
59
- ColorPickerFormFieldModule,
60
- IgoStyleListModule.forRoot()
61
- ],
62
- exports: [
63
- IgoStyleListModule,
64
- StyleModalDrawingComponent,
65
- StyleModalLayerComponent,
66
- StyleModalLayerButtonComponent
67
- ],
68
- declarations: [
69
- StyleModalDrawingComponent,
70
- StyleModalLayerComponent,
71
- StyleModalLayerButtonComponent
72
- ]
73
- }]
74
- }], null, null); })();
75
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStyleModule, { declarations: [StyleModalDrawingComponent,
76
- StyleModalLayerComponent,
77
- StyleModalLayerButtonComponent], imports: [CommonModule,
78
- FormsModule,
79
- IgoLanguageModule,
80
- MatFormFieldModule,
81
- MatIconModule,
82
- MatButtonModule,
83
- MatDialogModule,
84
- MatInputModule,
85
- MatSelectModule,
86
- MatTooltipModule,
87
- ReactiveFormsModule,
88
- ColorPickerFormFieldModule, i1.IgoStyleListModule], exports: [IgoStyleListModule,
89
- StyleModalDrawingComponent,
90
- StyleModalLayerComponent,
91
- StyleModalLayerButtonComponent] }); })();
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBOEI3RCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7U0FDNUMsQ0FBQztJQUNKLENBQUM7d0VBTlUsY0FBYzs0REFBZCxjQUFjO2dFQTFCdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBRzVCLGtCQUFrQjs7dUZBV1QsY0FBYztjQTVCMUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qiw4QkFBOEI7aUJBQy9CO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtvQkFDeEIsOEJBQThCO2lCQUMvQjthQUNGOzt3RkFDWSxjQUFjLG1CQUx2QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QixhQXZCOUIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQiwwQkFBMEIsb0NBSTFCLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWdvU3R5bGVMaXN0TW9kdWxlIH0gZnJvbSAnLi9zdHlsZS1saXN0L3N0eWxlLWxpc3QubW9kdWxlJztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlLW1vZGFsL2RyYXdpbmcvc3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsTGF5ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3N0eWxlLW1vZGFsL2xheWVyLWJ1dHRvbi9zdHlsZS1tb2RhbC1sYXllci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbExheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS1tb2RhbC9sYXllci9zdHlsZS1tb2RhbC1sYXllci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmF3U3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1zZXJ2aWNlL2RyYXctc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4vc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29sb3JQaWNrZXJGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBJZ29TdHlsZUxpc3RNb2R1bGUuZm9yUm9vdCgpXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29TdHlsZUxpc3RNb2R1bGUsXHJcbiAgICBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1N0eWxlTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1N0eWxlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvU3R5bGVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1N0eWxlU2VydmljZSwgRHJhd1N0eWxlU2VydmljZV1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoStyleModule, decorators: [{
61
+ type: NgModule,
62
+ args: [{
63
+ imports: [
64
+ CommonModule,
65
+ FormsModule,
66
+ IgoLanguageModule,
67
+ MatFormFieldModule,
68
+ MatIconModule,
69
+ MatButtonModule,
70
+ MatDialogModule,
71
+ MatInputModule,
72
+ MatSelectModule,
73
+ MatTooltipModule,
74
+ ReactiveFormsModule,
75
+ ColorPickerFormFieldModule,
76
+ IgoStyleListModule.forRoot()
77
+ ],
78
+ exports: [
79
+ IgoStyleListModule,
80
+ StyleModalDrawingComponent,
81
+ StyleModalLayerComponent,
82
+ StyleModalLayerButtonComponent
83
+ ],
84
+ declarations: [
85
+ StyleModalDrawingComponent,
86
+ StyleModalLayerComponent,
87
+ StyleModalLayerButtonComponent
88
+ ]
89
+ }]
90
+ }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBOEI3RCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7U0FDNUMsQ0FBQztJQUNKLENBQUM7d0dBTlUsY0FBYzt5R0FBZCxjQUFjLGlCQUx2QiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLDhCQUE4QixhQXZCOUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwwQkFBMEIsb0NBSTFCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLDhCQUE4Qjt5R0FRckIsY0FBYyxZQTFCdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBRzVCLGtCQUFrQjs7NEZBV1QsY0FBYztrQkE1QjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBDb2xvclBpY2tlckZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29TdHlsZUxpc3RNb2R1bGUgfSBmcm9tICcuL3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvbGF5ZXItYnV0dG9uL3N0eWxlLW1vZGFsLWxheWVyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlLW1vZGFsL2xheWVyL3N0eWxlLW1vZGFsLWxheWVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYXdTdHlsZVNlcnZpY2UgfSBmcm9tICcuL3N0eWxlLXNlcnZpY2UvZHJhdy1zdHlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlckZvcm1GaWVsZE1vZHVsZSxcclxuICAgIElnb1N0eWxlTGlzdE1vZHVsZS5mb3JSb290KClcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIElnb1N0eWxlTGlzdE1vZHVsZSxcclxuICAgIFN0eWxlTW9kYWxEcmF3aW5nQ29tcG9uZW50LFxyXG4gICAgU3R5bGVNb2RhbExheWVyQ29tcG9uZW50LFxyXG4gICAgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFN0eWxlTW9kYWxEcmF3aW5nQ29tcG9uZW50LFxyXG4gICAgU3R5bGVNb2RhbExheWVyQ29tcG9uZW50LFxyXG4gICAgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU3R5bGVNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU3R5bGVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29TdHlsZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbU3R5bGVTZXJ2aWNlLCBEcmF3U3R5bGVTZXJ2aWNlXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,14 +10,6 @@ import * as i2 from "@angular/material/icon";
10
10
  import * as i3 from "@angular/material/button";
11
11
  import * as i4 from "@igo2/common";
12
12
  import * as i5 from "../feature/feature-details/feature-details.component";
13
- function ToastComponent_button_5_Template(rf, ctx) { if (rf & 1) {
14
- const _r3 = i0.ɵɵgetCurrentView();
15
- i0.ɵɵelementStart(0, "button", 7);
16
- i0.ɵɵlistener("click", function ToastComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.zoomToFeatureExtent()); });
17
- i0.ɵɵelement(1, "mat-icon", 8);
18
- i0.ɵɵelementEnd();
19
- } }
20
- const _c0 = function () { return ["collapsed", "initial"]; };
21
13
  export class ToastComponent {
22
14
  static SWIPE_ACTION = {
23
15
  UP: 'swipeup',
@@ -80,40 +72,19 @@ export class ToastComponent {
80
72
  }
81
73
  }
82
74
  }
83
- static ɵfac = function ToastComponent_Factory(t) { return new (t || ToastComponent)(); };
84
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastComponent, selectors: [["igo-toast"]], inputs: { expanded: "expanded", map: "map", feature: "feature" }, outputs: { opened: "opened" }, decls: 7, vars: 6, consts: [["collapsedMobile", "51px", "expandedMobile", "300px", 3, "state", "swipeup", "swipedown"], ["flex", ""], [3, "title"], ["mat-icon-button", "", "panelLeftButton", "", 3, "click"], [3, "svgIcon"], ["mat-icon-button", "", "panelRightButton", "", "class", "igo-icon-button", 3, "click", 4, "ngIf"], [3, "feature"], ["mat-icon-button", "", "panelRightButton", "", 1, "igo-icon-button", 3, "click"], ["svgIcon", "zoom-in"]], template: function ToastComponent_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelementStart(0, "igo-flexible", 0, 1);
86
- i0.ɵɵlistener("swipeup", function ToastComponent_Template_igo_flexible_swipeup_0_listener($event) { return ctx.swipe($event.type); })("swipedown", function ToastComponent_Template_igo_flexible_swipedown_0_listener($event) { return ctx.swipe($event.type); });
87
- i0.ɵɵelementStart(2, "igo-panel", 2)(3, "button", 3);
88
- i0.ɵɵlistener("click", function ToastComponent_Template_button_click_3_listener() { return ctx.toggle(); });
89
- i0.ɵɵelement(4, "mat-icon", 4);
90
- i0.ɵɵelementEnd();
91
- i0.ɵɵtemplate(5, ToastComponent_button_5_Template, 2, 0, "button", 5);
92
- i0.ɵɵelement(6, "igo-feature-details", 6);
93
- i0.ɵɵelementEnd()();
94
- } if (rf & 2) {
95
- const _r0 = i0.ɵɵreference(1);
96
- i0.ɵɵproperty("state", ctx.state);
97
- i0.ɵɵadvance(2);
98
- i0.ɵɵproperty("title", ctx.title);
99
- i0.ɵɵadvance(2);
100
- i0.ɵɵproperty("svgIcon", i0.ɵɵpureFunction0(5, _c0).indexOf(_r0.state) >= 0 ? "arrow_upward" : "arrow_downward");
101
- i0.ɵɵadvance(1);
102
- i0.ɵɵproperty("ngIf", ctx.feature.geometry);
103
- i0.ɵɵadvance(1);
104
- i0.ɵɵproperty("feature", ctx.feature);
105
- } }, dependencies: [i1.NgIf, i2.MatIcon, i3.MatIconButton, i4.PanelComponent, i4.FlexibleComponent, i5.FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastComponent, selector: "igo-toast", inputs: { expanded: "expanded", map: "map", feature: "feature" }, outputs: { opened: "opened" }, ngImport: i0, template: "<igo-flexible\r\n #flex\r\n collapsedMobile=\"51px\"\r\n expandedMobile=\"300px\"\r\n [state]=\"state\"\r\n (swipeup)=\"swipe($event.type)\"\r\n (swipedown)=\"swipe($event.type)\"\r\n>\r\n <igo-panel [title]=\"title\">\r\n <button mat-icon-button panelLeftButton (click)=\"toggle()\">\r\n <mat-icon\r\n [svgIcon]=\"\r\n ['collapsed', 'initial'].indexOf(flex.state) >= 0\r\n ? 'arrow_upward'\r\n : 'arrow_downward'\r\n \"\r\n ></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n panelRightButton\r\n class=\"igo-icon-button\"\r\n (click)=\"zoomToFeatureExtent()\"\r\n *ngIf=\"feature.geometry\"\r\n >\r\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </igo-panel>\r\n</igo-flexible>\r\n", styles: [":host{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "component", type: i4.FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: i5.FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }] });
106
77
  }
107
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
108
- type: Component,
109
- args: [{ selector: 'igo-toast', template: "<igo-flexible\r\n #flex\r\n collapsedMobile=\"51px\"\r\n expandedMobile=\"300px\"\r\n [state]=\"state\"\r\n (swipeup)=\"swipe($event.type)\"\r\n (swipedown)=\"swipe($event.type)\"\r\n>\r\n <igo-panel [title]=\"title\">\r\n <button mat-icon-button panelLeftButton (click)=\"toggle()\">\r\n <mat-icon\r\n [svgIcon]=\"\r\n ['collapsed', 'initial'].indexOf(flex.state) >= 0\r\n ? 'arrow_upward'\r\n : 'arrow_downward'\r\n \"\r\n ></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n panelRightButton\r\n class=\"igo-icon-button\"\r\n (click)=\"zoomToFeatureExtent()\"\r\n *ngIf=\"feature.geometry\"\r\n >\r\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </igo-panel>\r\n</igo-flexible>\r\n", styles: [":host{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
110
- }], function () { return []; }, { expanded: [{
111
- type: Input
112
- }], map: [{
113
- type: Input
114
- }], feature: [{
115
- type: Input
116
- }], opened: [{
117
- type: Output
118
- }] }); })();
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7SUNVdkMsaUNBTUM7SUFGQyw4SkFBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFHL0IsOEJBQXVDO0lBQ3pDLGlCQUFTOzs7QURYYixNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsSUFBSSxFQUFFLFdBQVc7S0FDbEIsQ0FBQztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBRXZDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNPLFNBQVMsQ0FBVTtJQUUzQixJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNPLElBQUksQ0FBUztJQUVyQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNPLFFBQVEsQ0FBVTtJQUVoQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV4QyxLQUFLLENBQWdCO0lBRTVCOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZSxDQUFDO0lBRWhCLE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTthQUN2QyxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFDdkIsQ0FBQyxTQUFTLENBQUMsRUFDWCxhQUFhLENBQUMsSUFBSSxDQUNuQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWM7UUFDbEIsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7YUFBTSxJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN0RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7SUFDSCxDQUFDO3dFQTdFVSxjQUFjOzZEQUFkLGNBQWM7WUNoQjNCLDBDQU9DO1lBRkMsMkdBQVcsc0JBQWtCLElBQUMsa0dBQ2pCLHNCQUFrQixJQUREO1lBRzlCLG9DQUEyQixnQkFBQTtZQUNlLDJGQUFTLFlBQVEsSUFBQztZQUN4RCw4QkFNWTtZQUNkLGlCQUFTO1lBRVQscUVBUVM7WUFFVCx5Q0FBK0Q7WUFDakUsaUJBQVksRUFBQTs7O1lBMUJaLGlDQUFlO1lBSUosZUFBZTtZQUFmLGlDQUFlO1lBR3BCLGVBSUM7WUFKRCxnSEFJQztZQVNGLGVBQXNCO1lBQXRCLDJDQUFzQjtZQUtKLGVBQW1CO1lBQW5CLHFDQUFtQjs7O3VGRGIvQixjQUFjO2NBTDFCLFNBQVM7MkJBQ0UsV0FBVztzQ0FZakIsUUFBUTtrQkFEWCxLQUFLO1lBV0YsR0FBRztrQkFETixLQUFLO1lBVUYsT0FBTztrQkFEVixLQUFLO1lBU0ksTUFBTTtrQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZsZXhpYmxlU3RhdGUsIGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi9tYXAvc2hhcmVkL21hcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10b2FzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XHJcbiAgc3RhdGljIFNXSVBFX0FDVElPTiA9IHtcclxuICAgIFVQOiAnc3dpcGV1cCcsXHJcbiAgICBET1dOOiAnc3dpcGVkb3duJ1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBmb3JtYXQgPSBuZXcgb2xGb3JtYXRHZW9KU09OKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xyXG4gIH1cclxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc3RhdGUgPSB2YWx1ZSA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJztcclxuICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2V4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9tYXA7XHJcbiAgfVxyXG4gIHNldCBtYXAodmFsdWU6IElnb01hcCkge1xyXG4gICAgdGhpcy5fbWFwID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX21hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmZWF0dXJlKCk6IEZlYXR1cmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XHJcbiAgfVxyXG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlKSB7XHJcbiAgICB0aGlzLl9mZWF0dXJlID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU7XHJcblxyXG4gIEBPdXRwdXQoKSBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHB1YmxpYyBzdGF0ZTogRmxleGlibGVTdGF0ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLmV4cGFuZGVkKTtcclxuICB9XHJcblxyXG4gIHpvb21Ub0ZlYXR1cmVFeHRlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5KSB7XHJcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMuZmVhdHVyZSwge1xyXG4gICAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLmZlYXR1cmUucHJvamVjdGlvbixcclxuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgICB9KTtcclxuICAgICAgbW92ZVRvT2xGZWF0dXJlcyhcclxuICAgICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlcixcclxuICAgICAgICBbb2xGZWF0dXJlXSxcclxuICAgICAgICBGZWF0dXJlTW90aW9uLlpvb21cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN3aXBlKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSBUb2FzdENvbXBvbmVudC5TV0lQRV9BQ1RJT04uVVApIHtcclxuICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09IFRvYXN0Q29tcG9uZW50LlNXSVBFX0FDVElPTi5ET1dOKSB7XHJcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aWdvLWZsZXhpYmxlXHJcbiAgI2ZsZXhcclxuICBjb2xsYXBzZWRNb2JpbGU9XCI1MXB4XCJcclxuICBleHBhbmRlZE1vYmlsZT1cIjMwMHB4XCJcclxuICBbc3RhdGVdPVwic3RhdGVcIlxyXG4gIChzd2lwZXVwKT1cInN3aXBlKCRldmVudC50eXBlKVwiXHJcbiAgKHN3aXBlZG93bik9XCJzd2lwZSgkZXZlbnQudHlwZSlcIlxyXG4+XHJcbiAgPGlnby1wYW5lbCBbdGl0bGVdPVwidGl0bGVcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHBhbmVsTGVmdEJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlKClcIj5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgW3N2Z0ljb25dPVwiXHJcbiAgICAgICAgICBbJ2NvbGxhcHNlZCcsICdpbml0aWFsJ10uaW5kZXhPZihmbGV4LnN0YXRlKSA+PSAwXHJcbiAgICAgICAgICAgID8gJ2Fycm93X3Vwd2FyZCdcclxuICAgICAgICAgICAgOiAnYXJyb3dfZG93bndhcmQnXHJcbiAgICAgICAgXCJcclxuICAgICAgPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBwYW5lbFJpZ2h0QnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiaWdvLWljb24tYnV0dG9uXCJcclxuICAgICAgKGNsaWNrKT1cInpvb21Ub0ZlYXR1cmVFeHRlbnQoKVwiXHJcbiAgICAgICpuZ0lmPVwiZmVhdHVyZS5nZW9tZXRyeVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiem9vbS1pblwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8aWdvLWZlYXR1cmUtZGV0YWlscyBbZmVhdHVyZV09XCJmZWF0dXJlXCI+PC9pZ28tZmVhdHVyZS1kZXRhaWxzPlxyXG4gIDwvaWdvLXBhbmVsPlxyXG48L2lnby1mbGV4aWJsZT5cclxuIl19
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'igo-toast', template: "<igo-flexible\r\n #flex\r\n collapsedMobile=\"51px\"\r\n expandedMobile=\"300px\"\r\n [state]=\"state\"\r\n (swipeup)=\"swipe($event.type)\"\r\n (swipedown)=\"swipe($event.type)\"\r\n>\r\n <igo-panel [title]=\"title\">\r\n <button mat-icon-button panelLeftButton (click)=\"toggle()\">\r\n <mat-icon\r\n [svgIcon]=\"\r\n ['collapsed', 'initial'].indexOf(flex.state) >= 0\r\n ? 'arrow_upward'\r\n : 'arrow_downward'\r\n \"\r\n ></mat-icon>\r\n </button>\r\n\r\n <button\r\n mat-icon-button\r\n panelRightButton\r\n class=\"igo-icon-button\"\r\n (click)=\"zoomToFeatureExtent()\"\r\n *ngIf=\"feature.geometry\"\r\n >\r\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </igo-panel>\r\n</igo-flexible>\r\n", styles: [":host{position:absolute;bottom:0;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
81
+ }], ctorParameters: function () { return []; }, propDecorators: { expanded: [{
82
+ type: Input
83
+ }], map: [{
84
+ type: Input
85
+ }], feature: [{
86
+ type: Input
87
+ }], opened: [{
88
+ type: Output
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsRUFBRSxFQUFFLFNBQVM7UUFDYixJQUFJLEVBQUUsV0FBVztLQUNsQixDQUFDO0lBQ00sTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFFdkMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBQ08sU0FBUyxDQUFVO0lBRTNCLElBQ0ksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ08sSUFBSSxDQUFTO0lBRXJCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ08sUUFBUSxDQUFVO0lBRWhCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXhDLEtBQUssQ0FBZ0I7SUFFNUI7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFlLENBQUM7SUFFaEIsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdEQsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtnQkFDdkMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVO2FBQ3ZDLENBQUMsQ0FBQztZQUNILGdCQUFnQixDQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUN2QixDQUFDLFNBQVMsQ0FBQyxFQUNYLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBYztRQUNsQixJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7U0FDRjthQUFNLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3RELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7U0FDRjtJQUNILENBQUM7d0dBN0VVLGNBQWM7NEZBQWQsY0FBYyxrSkNoQjNCLG80QkFnQ0E7OzRGRGhCYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7MEVBWWpCLFFBQVE7c0JBRFgsS0FBSztnQkFXRixHQUFHO3NCQUROLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLO2dCQVNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGbGV4aWJsZVN0YXRlLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IG1vdmVUb09sRmVhdHVyZXMgfSBmcm9tICcuLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLnV0aWxzJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tdG9hc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RDb21wb25lbnQge1xyXG4gIHN0YXRpYyBTV0lQRV9BQ1RJT04gPSB7XHJcbiAgICBVUDogJ3N3aXBldXAnLFxyXG4gICAgRE9XTjogJ3N3aXBlZG93bidcclxuICB9O1xyXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcclxuICB9XHJcbiAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnN0YXRlID0gdmFsdWUgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCc7XHJcbiAgICB0aGlzLl9leHBhbmRlZCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFwO1xyXG4gIH1cclxuICBzZXQgbWFwKHZhbHVlOiBJZ29NYXApIHtcclxuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9tYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xyXG4gIH1cclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xyXG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwdWJsaWMgc3RhdGU6IEZsZXhpYmxlU3RhdGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5leHBhbmRlZCk7XHJcbiAgfVxyXG5cclxuICB6b29tVG9GZWF0dXJlRXh0ZW50KCkge1xyXG4gICAgaWYgKHRoaXMuZmVhdHVyZS5nZW9tZXRyeSkge1xyXG4gICAgICBjb25zdCBvbEZlYXR1cmUgPSB0aGlzLmZvcm1hdC5yZWFkRmVhdHVyZSh0aGlzLmZlYXR1cmUsIHtcclxuICAgICAgICBkYXRhUHJvamVjdGlvbjogdGhpcy5mZWF0dXJlLnByb2plY3Rpb24sXHJcbiAgICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwLnByb2plY3Rpb25cclxuICAgICAgfSk7XHJcbiAgICAgIG1vdmVUb09sRmVhdHVyZXMoXHJcbiAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIsXHJcbiAgICAgICAgW29sRmVhdHVyZV0sXHJcbiAgICAgICAgRmVhdHVyZU1vdGlvbi5ab29tXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzd2lwZShhY3Rpb246IHN0cmluZykge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gVG9hc3RDb21wb25lbnQuU1dJUEVfQUNUSU9OLlVQKSB7XHJcbiAgICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSBUb2FzdENvbXBvbmVudC5TV0lQRV9BQ1RJT04uRE9XTikge1xyXG4gICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGlnby1mbGV4aWJsZVxyXG4gICNmbGV4XHJcbiAgY29sbGFwc2VkTW9iaWxlPVwiNTFweFwiXHJcbiAgZXhwYW5kZWRNb2JpbGU9XCIzMDBweFwiXHJcbiAgW3N0YXRlXT1cInN0YXRlXCJcclxuICAoc3dpcGV1cCk9XCJzd2lwZSgkZXZlbnQudHlwZSlcIlxyXG4gIChzd2lwZWRvd24pPVwic3dpcGUoJGV2ZW50LnR5cGUpXCJcclxuPlxyXG4gIDxpZ28tcGFuZWwgW3RpdGxlXT1cInRpdGxlXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBwYW5lbExlZnRCdXR0b24gKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgIFtzdmdJY29uXT1cIlxyXG4gICAgICAgICAgWydjb2xsYXBzZWQnLCAnaW5pdGlhbCddLmluZGV4T2YoZmxleC5zdGF0ZSkgPj0gMFxyXG4gICAgICAgICAgICA/ICdhcnJvd191cHdhcmQnXHJcbiAgICAgICAgICAgIDogJ2Fycm93X2Rvd253YXJkJ1xyXG4gICAgICAgIFwiXHJcbiAgICAgID48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgcGFuZWxSaWdodEJ1dHRvblxyXG4gICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJ6b29tVG9GZWF0dXJlRXh0ZW50KClcIlxyXG4gICAgICAqbmdJZj1cImZlYXR1cmUuZ2VvbWV0cnlcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInpvb20taW5cIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGlnby1mZWF0dXJlLWRldGFpbHMgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiPjwvaWdvLWZlYXR1cmUtZGV0YWlscz5cclxuICA8L2lnby1wYW5lbD5cclxuPC9pZ28tZmxleGlibGU+XHJcbiJdfQ==