@igo2/geo 17.0.0-next.5 → 17.0.0-next.7

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 (347) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +8 -6
  7. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +9 -8
  8. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -2
  9. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  10. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +6 -6
  11. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +36 -14
  12. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -1
  13. package/esm2022/lib/catalog/catalog-library/index.mjs +2 -7
  14. package/esm2022/lib/catalog/catalog.module.mjs +13 -6
  15. package/esm2022/lib/catalog/index.mjs +2 -7
  16. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  18. package/esm2022/lib/datasource/index.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +5 -5
  30. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  31. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +5 -5
  32. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  33. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +5 -5
  34. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  35. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
  36. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  37. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +8 -1
  38. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  39. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +67 -36
  40. package/esm2022/lib/directions/directions.component.mjs +72 -18
  41. package/esm2022/lib/directions/directions.module.mjs +4 -10
  42. package/esm2022/lib/directions/directions.provider.mjs +16 -0
  43. package/esm2022/lib/directions/index.mjs +2 -1
  44. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  45. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  46. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  47. package/esm2022/lib/directions/shared/directions.service.mjs +11 -19
  48. package/esm2022/lib/directions/shared/directions.utils.mjs +22 -22
  49. package/esm2022/lib/directions/shared/index.mjs +1 -1
  50. package/esm2022/lib/directions/shared/store.mjs +2 -2
  51. package/esm2022/lib/download/download-button/download-button.component.mjs +5 -5
  52. package/esm2022/lib/download/download-button/index.mjs +1 -1
  53. package/esm2022/lib/download/index.mjs +1 -1
  54. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  55. package/esm2022/lib/download/shared/index.mjs +1 -1
  56. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
  57. package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
  58. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +8 -5
  59. package/esm2022/lib/draw/draw/draw.component.mjs +7 -7
  60. package/esm2022/lib/draw/index.mjs +1 -1
  61. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  62. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +7 -6
  63. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +10 -4
  64. package/esm2022/lib/feature/feature-details/index.mjs +2 -7
  65. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  66. package/esm2022/lib/feature/feature.module.mjs +13 -6
  67. package/esm2022/lib/feature/index.mjs +2 -7
  68. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  69. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  70. package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
  71. package/esm2022/lib/feature/shared/store.mjs +2 -2
  72. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
  73. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
  74. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
  75. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
  76. package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
  77. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  78. package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
  79. package/esm2022/lib/filter/filter.module.mjs +4 -4
  80. package/esm2022/lib/filter/index.mjs +2 -36
  81. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
  82. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +5 -5
  83. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  84. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +7 -7
  85. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +19 -21
  86. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +6 -6
  88. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +5 -5
  89. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  90. package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
  91. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +6 -6
  92. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -5
  93. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +6 -6
  94. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +6 -6
  95. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +10 -10
  96. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +6 -6
  97. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  98. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  99. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +6 -6
  100. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -1
  101. package/esm2022/lib/geometry/geometry-form-field/index.mjs +3 -8
  102. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  103. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  104. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  105. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  106. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  107. package/esm2022/lib/import-export/export-button/export-button.component.mjs +5 -5
  108. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  109. package/esm2022/lib/import-export/import-export/import-export.component.mjs +8 -6
  110. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  111. package/esm2022/lib/import-export/import-export.module.mjs +6 -1
  112. package/esm2022/lib/import-export/index.mjs +2 -9
  113. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -3
  114. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  115. package/esm2022/lib/import-export/shared/export.service.mjs +8 -2
  116. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  117. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  118. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  119. package/esm2022/lib/layer/index.mjs +2 -19
  120. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +5 -5
  121. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +8 -6
  122. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +5 -5
  123. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +26 -19
  124. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +6 -6
  125. package/esm2022/lib/layer/layer.module.mjs +12 -1
  126. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  127. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  128. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  129. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +5 -5
  130. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +5 -5
  131. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +9 -9
  132. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
  133. package/esm2022/lib/map/index.mjs +1 -32
  134. package/esm2022/lib/map/map.module.mjs +34 -34
  135. package/esm2022/lib/map/menu-button/menu-button.component.mjs +5 -5
  136. package/esm2022/lib/map/offline-button/offline-button.component.mjs +5 -5
  137. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +5 -5
  138. package/esm2022/lib/map/shared/hover-feature.directive.mjs +2 -2
  139. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +8 -8
  140. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
  141. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
  142. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  143. package/esm2022/lib/measure/measurer/measurer.component.mjs +6 -6
  144. package/esm2022/lib/measure/shared/index.mjs +1 -1
  145. package/esm2022/lib/metadata/index.mjs +2 -6
  146. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  147. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +7 -7
  148. package/esm2022/lib/metadata/metadata.module.mjs +5 -1
  149. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  150. package/esm2022/lib/metadata/shared/metadata.service.mjs +1 -1
  151. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  152. package/esm2022/lib/offline/shared/index.mjs +1 -1
  153. package/esm2022/lib/overlay/index.mjs +1 -1
  154. package/esm2022/lib/print/index.mjs +1 -1
  155. package/esm2022/lib/print/print-form/index.mjs +1 -1
  156. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  157. package/esm2022/lib/print/shared/index.mjs +1 -1
  158. package/esm2022/lib/print/shared/print.service.mjs +85 -76
  159. package/esm2022/lib/query/index.mjs +1 -1
  160. package/esm2022/lib/query/shared/index.mjs +2 -1
  161. package/esm2022/lib/query/shared/query.directive.mjs +1 -1
  162. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  163. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  164. package/esm2022/lib/search/index.mjs +2 -13
  165. package/esm2022/lib/search/search-bar/search-bar.component.mjs +9 -6
  166. package/esm2022/lib/search/search-results/index.mjs +2 -7
  167. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +5 -5
  168. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +10 -8
  169. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -4
  170. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -5
  171. package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
  172. package/esm2022/lib/search/search-selector/search-selector.component.mjs +5 -5
  173. package/esm2022/lib/search/search-settings/search-settings.component.mjs +5 -5
  174. package/esm2022/lib/search/search.module.mjs +15 -1
  175. package/esm2022/lib/search/shared/index.mjs +2 -1
  176. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +2 -2
  177. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  178. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  179. package/esm2022/lib/search/shared/search.provider.mjs +20 -0
  180. package/esm2022/lib/search/shared/search.service.mjs +29 -10
  181. package/esm2022/lib/search/shared/search.utils.mjs +2 -2
  182. package/esm2022/lib/search/shared/sources/cadastre.mjs +2 -2
  183. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +8 -1
  184. package/esm2022/lib/search/shared/sources/coordinates.mjs +2 -2
  185. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +11 -1
  186. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
  187. package/esm2022/lib/search/shared/sources/icherche.mjs +9 -4
  188. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +20 -1
  189. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +11 -1
  190. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  191. package/esm2022/lib/search/shared/sources/nominatim.mjs +2 -2
  192. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +8 -1
  193. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
  194. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  195. package/esm2022/lib/search/shared/sources/storedqueries.mjs +3 -3
  196. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +14 -1
  197. package/esm2022/lib/search/shared/sources/workspace.mjs +2 -2
  198. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +8 -1
  199. package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
  200. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  201. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +6 -6
  202. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +6 -6
  203. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
  204. package/esm2022/lib/toast/index.mjs +1 -1
  205. package/esm2022/lib/toast/toast.component.mjs +6 -4
  206. package/esm2022/lib/wkt/index.mjs +1 -1
  207. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  208. package/esm2022/lib/workspace/index.mjs +1 -1
  209. package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
  210. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -4
  211. package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
  212. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +3 -2
  213. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  214. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
  215. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +3 -2
  216. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +3 -2
  217. package/esm2022/lib/workspace/shared/workspace.utils.mjs +3 -3
  218. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  219. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +1 -1
  220. package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
  221. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +3 -3
  222. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  223. package/esm2022/lib/workspace/workspace.module.mjs +2 -2
  224. package/fesm2022/igo2-geo.mjs +30424 -30117
  225. package/fesm2022/igo2-geo.mjs.map +1 -1
  226. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +2 -2
  227. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  228. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  229. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  230. package/lib/catalog/catalog-library/catalog-library.component.d.ts +7 -2
  231. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -0
  232. package/lib/catalog/catalog-library/index.d.ts +1 -3
  233. package/lib/catalog/catalog.module.d.ts +6 -3
  234. package/lib/catalog/index.d.ts +1 -2
  235. package/lib/catalog/shared/catalog.interface.d.ts +1 -1
  236. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -3
  237. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +2 -3
  238. package/lib/datasource/shared/datasources/datasource.d.ts +1 -2
  239. package/lib/datasource/shared/datasources/feature-datasource.d.ts +2 -3
  240. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -3
  241. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -2
  242. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +2 -3
  243. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -2
  244. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -2
  245. package/lib/directions/directions-sources/directions-source.d.ts +7 -3
  246. package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
  247. package/lib/directions/directions-sources/directions-source.provider.d.ts +2 -0
  248. package/lib/directions/directions-sources/osrm-directions-source.d.ts +19 -10
  249. package/lib/directions/directions.component.d.ts +15 -3
  250. package/lib/directions/directions.module.d.ts +5 -6
  251. package/lib/directions/directions.provider.d.ts +3 -0
  252. package/lib/directions/index.d.ts +1 -0
  253. package/lib/directions/shared/directions.interface.d.ts +2 -9
  254. package/lib/directions/shared/directions.service.d.ts +3 -2
  255. package/lib/directions/shared/directions.utils.d.ts +1 -1
  256. package/lib/directions/shared/store.d.ts +1 -1
  257. package/lib/draw/draw/draw-shorcuts.component.d.ts +2 -0
  258. package/lib/draw/draw/draw.component.d.ts +1 -1
  259. package/lib/environment/environment.interface.d.ts +2 -1
  260. package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
  261. package/lib/feature/feature-details/feature-details.module.d.ts +3 -0
  262. package/lib/feature/feature-details/index.d.ts +1 -3
  263. package/lib/feature/feature-form/feature-form.component.d.ts +1 -2
  264. package/lib/feature/feature.module.d.ts +6 -3
  265. package/lib/feature/index.d.ts +1 -2
  266. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  267. package/lib/feature/shared/feature.utils.d.ts +1 -1
  268. package/lib/feature/shared/store.d.ts +1 -1
  269. package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
  270. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  271. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  272. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  273. package/lib/feature/shared/strategies/loading.d.ts +1 -1
  274. package/lib/feature/shared/strategies/search.d.ts +1 -1
  275. package/lib/feature/shared/strategies/selection.d.ts +1 -1
  276. package/lib/filter/filter.module.d.ts +19 -0
  277. package/lib/filter/index.d.ts +1 -16
  278. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
  279. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -3
  280. package/lib/filter/shared/ogc-filter.d.ts +7 -0
  281. package/lib/filter/shared/ogc-filter.interface.d.ts +2 -3
  282. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
  283. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  284. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  285. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -2
  286. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +3 -0
  287. package/lib/geometry/geometry-form-field/index.d.ts +2 -4
  288. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  289. package/lib/geometry/shared/controls/slice.d.ts +4 -4
  290. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  291. package/lib/import-export/import-export/import-export.component.d.ts +2 -2
  292. package/lib/import-export/import-export.module.d.ts +4 -0
  293. package/lib/import-export/index.d.ts +1 -4
  294. package/lib/import-export/shared/drop-geo-file.directive.d.ts +2 -1
  295. package/lib/import-export/shared/export.utils.d.ts +1 -1
  296. package/lib/import-export/shared/import.utils.d.ts +1 -1
  297. package/lib/layer/index.d.ts +1 -8
  298. package/lib/layer/layer-list/layer-list.component.d.ts +4 -1
  299. package/lib/layer/layer.module.d.ts +10 -0
  300. package/lib/layer/shared/layers/vector-layer.d.ts +3 -4
  301. package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -2
  302. package/lib/map/index.d.ts +0 -14
  303. package/lib/map/map.module.d.ts +32 -15
  304. package/lib/measure/measurer/measurer.component.d.ts +1 -1
  305. package/lib/metadata/index.d.ts +1 -2
  306. package/lib/metadata/metadata.module.d.ts +2 -0
  307. package/lib/print/shared/print.service.d.ts +11 -7
  308. package/lib/query/shared/index.d.ts +1 -0
  309. package/lib/query/shared/query.interfaces.d.ts +1 -2
  310. package/lib/search/index.d.ts +1 -5
  311. package/lib/search/search-bar/search-bar.component.d.ts +2 -1
  312. package/lib/search/search-results/index.d.ts +1 -3
  313. package/lib/search/search-results/search-results-add-button.component.d.ts +2 -2
  314. package/lib/search/search-results/search-results.component.d.ts +1 -1
  315. package/lib/search/search-results/search-results.directive.d.ts +3 -0
  316. package/lib/search/search.module.d.ts +8 -0
  317. package/lib/search/shared/index.d.ts +1 -0
  318. package/lib/search/shared/search-source.service.d.ts +1 -1
  319. package/lib/search/shared/search.interfaces.d.ts +12 -10
  320. package/lib/search/shared/search.provider.d.ts +8 -0
  321. package/lib/search/shared/search.service.d.ts +7 -2
  322. package/lib/search/shared/sources/cadastre.providers.d.ts +2 -0
  323. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -0
  324. package/lib/search/shared/sources/icherche-icons.d.ts +7 -0
  325. package/lib/search/shared/sources/icherche.providers.d.ts +6 -12
  326. package/lib/search/shared/sources/ilayer.providers.d.ts +2 -0
  327. package/lib/search/shared/sources/nominatim.providers.d.ts +2 -0
  328. package/lib/search/shared/sources/source.d.ts +1 -1
  329. package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
  330. package/lib/search/shared/sources/storedqueries.providers.d.ts +3 -0
  331. package/lib/search/shared/sources/workspace.providers.d.ts +2 -0
  332. package/lib/style/shared/vector/conversion.utils.d.ts +2 -3
  333. package/lib/toast/toast.component.d.ts +1 -1
  334. package/lib/workspace/shared/edition-workspace.d.ts +1 -1
  335. package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
  336. package/lib/workspace/shared/feature-workspace.d.ts +1 -1
  337. package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
  338. package/lib/workspace/shared/workspace.utils.d.ts +2 -1
  339. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +2 -1
  340. package/lib/workspace/widgets/widgets.d.ts +1 -1
  341. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  342. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  343. package/lib/workspace/workspace.module.d.ts +1 -1
  344. package/locale/en.geo.json +6 -1
  345. package/locale/fr.geo.json +6 -1
  346. package/package.json +6 -6
  347. package/style/style.css +2 -1
@@ -1,3 +1,3 @@
1
1
  export * from './shared';
2
2
  export * from './draw/draw.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXcvZHJhdy5jb21wb25lbnQnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHJhdy9kcmF3LmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01PcHRpb25zLCBEZXBvdE9wdGlvbnMgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VydmljZU9wdGlvbnMgfSBmcm9tICcuLi9jYXRhbG9nL3NoYXJlZC9jYXRhbG9nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcHRpb25zQXBpT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL29wdGlvbnMvb3B0aW9ucy1hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERyYXdPcHRpb25zIH0gZnJvbSAnLi4vZHJhdy9zaGFyZWQvZHJhdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3BhdGlhbEZpbHRlck9wdGlvbnMgfSBmcm9tICcuLi9maWx0ZXIvc2hhcmVkL3NwYXRpYWwtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSG9tZUV4dGVudEJ1dHRvbk9wdGlvbnMgfSBmcm9tICcuLi9tYXAvaG9tZS1leHRlbnQtYnV0dG9uL2hvbWUtZXh0ZW50LWJ1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2VvbG9jYXRpb25PcHRpb25zIH0gZnJvbSAnLi4vbWFwL3NoYXJlZC9jb250cm9sbGVycy9nZW9sb2NhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4uL21hcC9zaGFyZWQvcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIFNlYXJjaFNvdXJjZU9wdGlvbnMsXG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi4vc2VhcmNoJztcbmltcG9ydCB7IE92ZXJsYXlTdHlsZU9wdGlvbnMgfSBmcm9tICcuLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRPcHRpb25zIHtcbiAgY2F0YWxvZz86IENhdGFsb2dTZXJ2aWNlT3B0aW9ucztcbiAgLy8gZHVwbGljYXRlZCBmcm9tIHBhY2thZ2VzXFxjb250ZXh0XFxzcmNcXGxpYlxcY29udGV4dC1tYW5hZ2VyXFxzaGFyZWRcXGNvbnRleHQuaW50ZXJmYWNlLnRzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgd2l0aCBAaWdvMi9jb250ZXh0XG4gIGNvbnRleHQ/OiB7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGJhc2VQYXRoPzogc3RyaW5nO1xuICAgIGNvbnRleHRMaXN0RmlsZT86IHN0cmluZztcbiAgICBkZWZhdWx0Q29udGV4dFVyaT86IHN0cmluZztcbiAgfTtcbiAgZGVwb3Q/OiBEZXBvdE9wdGlvbnM7XG4gIGRpcmVjdGlvbnNTb3VyY2VzPzogRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnM7XG4gIGRvbT86IERPTU9wdGlvbnNbXTtcbiAgZHJhd2luZ1Rvb2w/OiBEcmF3T3B0aW9ucztcbiAgZWRpdGlvbj86IHVua25vd247XG4gIGVtYWlsQWRkcmVzcz86IHN0cmluZztcbiAgZ2VvbG9jYXRlPzogR2VvbG9jYXRpb25PcHRpb25zO1xuICBob21lRXh0ZW50QnV0dG9uPzogSG9tZUV4dGVudEJ1dHRvbk9wdGlvbnM7XG4gIGltcG9ydEV4cG9ydD86IEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zO1xuICBpbXBvcnRXaXRoU3R5bGU/OiBib29sZWFuO1xuICBtZW51Pzoge1xuICAgIC8vIHRvZG8gbW92ZSB0byBjb21tb24/XG4gICAgYnV0dG9uOiB7XG4gICAgICB1c2VUaGVtZUNvbG9yOiBib29sZWFuO1xuICAgICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgb3B0aW9uc0FwaT86IE9wdGlvbnNBcGlPcHRpb25zO1xuICBwcm9qZWN0aW9ucz86IFByb2plY3Rpb25bXTtcbiAgcXVlcnlPdmVybGF5U3R5bGU/OiBPdmVybGF5U3R5bGVPcHRpb25zO1xuICBzZWFyY2hPdmVybGF5U3R5bGU/OiBPdmVybGF5U3R5bGVPcHRpb25zO1xuICBzZWFyY2hTb3VyY2VzPzoge1xuICAgIHNob3dSZXN1bHRzQ291bnQ/OiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106XG4gICAgICB8IFNlYXJjaFNvdXJjZU9wdGlvbnNcbiAgICAgIHwgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnNcbiAgICAgIHwgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zXG4gICAgICB8IGJvb2xlYW47XG4gIH07XG4gIHNlYXJjaEJhcj86IHtcbiAgICBzaG93U2VhcmNoQnV0dG9uPzogYm9vbGVhbjtcbiAgICBzaG93U2VhcmNoQmFyPzogYm9vbGVhbjtcbiAgfTsgLy8gdG9kbyBtb3ZlIHRvIGNvbW1vbj9cbiAgc3BhdGlhbEZpbHRlcj86IFNwYXRpYWxGaWx0ZXJPcHRpb25zO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET01PcHRpb25zIH0gZnJvbSAnQGlnbzIvY29tbW9uL2RvbSc7XG5pbXBvcnQgeyBEZXBvdE9wdGlvbnMgfSBmcm9tICdAaWdvMi9jb21tb24vZW52aXJvbm1lbnQnO1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VydmljZU9wdGlvbnMgfSBmcm9tICcuLi9jYXRhbG9nL3NoYXJlZC9jYXRhbG9nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcHRpb25zQXBpT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL29wdGlvbnMvb3B0aW9ucy1hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERyYXdPcHRpb25zIH0gZnJvbSAnLi4vZHJhdy9zaGFyZWQvZHJhdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3BhdGlhbEZpbHRlck9wdGlvbnMgfSBmcm9tICcuLi9maWx0ZXIvc2hhcmVkL3NwYXRpYWwtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSG9tZUV4dGVudEJ1dHRvbk9wdGlvbnMgfSBmcm9tICcuLi9tYXAvaG9tZS1leHRlbnQtYnV0dG9uL2hvbWUtZXh0ZW50LWJ1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2VvbG9jYXRpb25PcHRpb25zIH0gZnJvbSAnLi4vbWFwL3NoYXJlZC9jb250cm9sbGVycy9nZW9sb2NhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4uL21hcC9zaGFyZWQvcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIFNlYXJjaFNvdXJjZU9wdGlvbnMsXG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi4vc2VhcmNoJztcbmltcG9ydCB7IE92ZXJsYXlTdHlsZU9wdGlvbnMgfSBmcm9tICcuLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRPcHRpb25zIHtcbiAgY2F0YWxvZz86IENhdGFsb2dTZXJ2aWNlT3B0aW9ucztcbiAgLy8gZHVwbGljYXRlZCBmcm9tIHBhY2thZ2VzXFxjb250ZXh0XFxzcmNcXGxpYlxcY29udGV4dC1tYW5hZ2VyXFxzaGFyZWRcXGNvbnRleHQuaW50ZXJmYWNlLnRzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgd2l0aCBAaWdvMi9jb250ZXh0XG4gIGNvbnRleHQ/OiB7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGJhc2VQYXRoPzogc3RyaW5nO1xuICAgIGNvbnRleHRMaXN0RmlsZT86IHN0cmluZztcbiAgICBkZWZhdWx0Q29udGV4dFVyaT86IHN0cmluZztcbiAgfTtcbiAgZGVwb3Q/OiBEZXBvdE9wdGlvbnM7XG4gIGRpcmVjdGlvbnNTb3VyY2VzPzogRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnM7XG4gIGRvbT86IERPTU9wdGlvbnNbXTtcbiAgZHJhd2luZ1Rvb2w/OiBEcmF3T3B0aW9ucztcbiAgZWRpdGlvbj86IHVua25vd247XG4gIGVtYWlsQWRkcmVzcz86IHN0cmluZztcbiAgZ2VvbG9jYXRlPzogR2VvbG9jYXRpb25PcHRpb25zO1xuICBob21lRXh0ZW50QnV0dG9uPzogSG9tZUV4dGVudEJ1dHRvbk9wdGlvbnM7XG4gIGltcG9ydEV4cG9ydD86IEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zO1xuICBpbXBvcnRXaXRoU3R5bGU/OiBib29sZWFuO1xuICBtZW51Pzoge1xuICAgIC8vIHRvZG8gbW92ZSB0byBjb21tb24/XG4gICAgYnV0dG9uOiB7XG4gICAgICB1c2VUaGVtZUNvbG9yOiBib29sZWFuO1xuICAgICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgb3B0aW9uc0FwaT86IE9wdGlvbnNBcGlPcHRpb25zO1xuICBwcm9qZWN0aW9ucz86IFByb2plY3Rpb25bXTtcbiAgcXVlcnlPdmVybGF5U3R5bGU/OiBPdmVybGF5U3R5bGVPcHRpb25zO1xuICBzZWFyY2hPdmVybGF5U3R5bGU/OiBPdmVybGF5U3R5bGVPcHRpb25zO1xuICBzZWFyY2hTb3VyY2VzPzoge1xuICAgIHNob3dSZXN1bHRzQ291bnQ/OiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106XG4gICAgICB8IFNlYXJjaFNvdXJjZU9wdGlvbnNcbiAgICAgIHwgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZU9wdGlvbnNcbiAgICAgIHwgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2VPcHRpb25zXG4gICAgICB8IGJvb2xlYW47XG4gIH07XG4gIHNlYXJjaEJhcj86IHtcbiAgICBzaG93U2VhcmNoQnV0dG9uPzogYm9vbGVhbjtcbiAgICBzaG93U2VhcmNoQmFyPzogYm9vbGVhbjtcbiAgfTsgLy8gdG9kbyBtb3ZlIHRvIGNvbW1vbj9cbiAgc3BhdGlhbEZpbHRlcj86IFNwYXRpYWxGaWx0ZXJPcHRpb25zO1xufVxuIl19
@@ -3,12 +3,13 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { DomSanitizer } from '@angular/platform-browser';
6
- import { ImageErrorDirective, SecureImagePipe, getEntityIcon, getEntityTitle } from '@igo2/common';
6
+ import { getEntityIcon, getEntityTitle } from '@igo2/common/entity';
7
+ import { ImageErrorDirective, SecureImagePipe } from '@igo2/common/image';
7
8
  import { ConfigService } from '@igo2/core/config';
9
+ import { IgoLanguageModule } from '@igo2/core/language';
8
10
  import { MessageService } from '@igo2/core/message';
9
11
  import { NetworkService } from '@igo2/core/network';
10
12
  import { Clipboard } from '@igo2/utils';
11
- import { TranslateModule } from '@ngx-translate/core';
12
13
  import { Subject } from 'rxjs';
13
14
  import { takeUntil } from 'rxjs/operators';
14
15
  import { IgoMap } from '../../map/shared/map';
@@ -271,7 +272,7 @@ export class FeatureDetailsComponent {
271
272
  }
272
273
  }
273
274
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FeatureDetailsComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2.DomSanitizer }, { token: i3.NetworkService }, { token: i4.MessageService }, { token: i5.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
274
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: FeatureDetailsComponent, isStandalone: true, selector: "igo-feature-details", inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, ngImport: i0, template: "<table\n class=\"igo-striped mat-typography\"\n *ngIf=\"\n ready &&\n feature &&\n isObject(feature.properties) &&\n feature.properties.target !== 'iframe'\n \"\n>\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <mat-icon matListItemIcon svgIcon=\"{{ icon }}\"></mat-icon>\n </td>\n\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{ property.key }}\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !isEmbeddedLink(property.value)\n \"\n [innerHTML]=\"property.value\"\n ></td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n isEmbeddedLink(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n \"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined && isObject(property.value)\n \"\n [innerHTML]=\"property.value | json\"\n ></td>\n </tr>\n </tbody>\n</table>\n\n<iframe\n *ngIf=\"isHtmlDisplay()\"\n [srcdoc]=\"htmlSanitizer(feature.properties)\"\n [src]=\"urlSanitizer(feature.properties.url)\"\n></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
275
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: FeatureDetailsComponent, isStandalone: true, selector: "igo-feature-details", inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, ngImport: i0, template: "<table\n class=\"igo-striped mat-typography\"\n *ngIf=\"\n ready &&\n feature &&\n isObject(feature.properties) &&\n feature.properties.target !== 'iframe'\n \"\n>\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{ property.key }}\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !isEmbeddedLink(property.value)\n \"\n [innerHTML]=\"property.value\"\n ></td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n isEmbeddedLink(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n \"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined && isObject(property.value)\n \"\n [innerHTML]=\"property.value | json\"\n ></td>\n </tr>\n </tbody>\n</table>\n\n<iframe\n *ngIf=\"isHtmlDisplay()\"\n [srcdoc]=\"htmlSanitizer(feature.properties)\"\n [src]=\"urlSanitizer(feature.properties.url)\"\n></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
275
276
  }
276
277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FeatureDetailsComponent, decorators: [{
277
278
  type: Component,
@@ -284,9 +285,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
284
285
  AsyncPipe,
285
286
  JsonPipe,
286
287
  KeyValuePipe,
287
- TranslateModule,
288
+ IgoLanguageModule,
288
289
  SecureImagePipe
289
- ], template: "<table\n class=\"igo-striped mat-typography\"\n *ngIf=\"\n ready &&\n feature &&\n isObject(feature.properties) &&\n feature.properties.target !== 'iframe'\n \"\n>\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <mat-icon matListItemIcon svgIcon=\"{{ icon }}\"></mat-icon>\n </td>\n\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{ property.key }}\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !isEmbeddedLink(property.value)\n \"\n [innerHTML]=\"property.value\"\n ></td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n isEmbeddedLink(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n \"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined && isObject(property.value)\n \"\n [innerHTML]=\"property.value | json\"\n ></td>\n </tr>\n </tbody>\n</table>\n\n<iframe\n *ngIf=\"isHtmlDisplay()\"\n [srcdoc]=\"htmlSanitizer(feature.properties)\"\n [src]=\"urlSanitizer(feature.properties.url)\"\n></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
290
+ ], template: "<table\n class=\"igo-striped mat-typography\"\n *ngIf=\"\n ready &&\n feature &&\n isObject(feature.properties) &&\n feature.properties.target !== 'iframe'\n \"\n>\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n\n <td\n *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{ property.key }}\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !isEmbeddedLink(property.value)\n \"\n [innerHTML]=\"property.value\"\n ></td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n isEmbeddedLink(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n \"\n >\n <u\n [ngStyle]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n class=\"copyClipboard\"\n mat-icon-button\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n \"\n >\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n\n <td\n *ngIf=\"\n feature.properties.target === undefined && isObject(property.value)\n \"\n [innerHTML]=\"property.value | json\"\n ></td>\n </tr>\n </tbody>\n</table>\n\n<iframe\n *ngIf=\"isHtmlDisplay()\"\n [srcdoc]=\"htmlSanitizer(feature.properties)\"\n [src]=\"urlSanitizer(feature.properties.url)\"\n></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
290
291
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.NetworkService }, { type: i4.MessageService }, { type: i5.ConfigService }], propDecorators: { source: [{
291
292
  type: Input
292
293
  }], map: [{
@@ -302,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
302
303
  }], htmlDisplayEvent: [{
303
304
  type: Output
304
305
  }] } });
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTyxFQUNSLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNmLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztB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O1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO3VHQS9SVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qiw4UUM3RHBDLHMxR0EySEEsa1JEMUVJLElBQUksNkZBQ0osS0FBSyxrSEFDTCxhQUFhLG9MQUNiLE9BQU8sMkVBQ1AsbUJBQW1CLCtGQUNuQixTQUFTLHlDQUNULFFBQVEsd0NBQ1IsWUFBWSxnREFDWixlQUFlLHVGQUNmLGVBQWU7OzJGQUdOLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO2dPQVFHLE1BQU07c0JBRFQsS0FBSztnQkFTRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFhSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBKc29uUGlwZSxcbiAgS2V5VmFsdWVQaXBlLFxuICBOZ0ZvcixcbiAgTmdJZixcbiAgTmdTdHlsZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgSW1hZ2VFcnJvckRpcmVjdGl2ZSxcbiAgU2VjdXJlSW1hZ2VQaXBlLFxuICBnZXRFbnRpdHlJY29uLFxuICBnZXRFbnRpdHlUaXRsZVxufSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBUb29sYm94IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUsIE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9uZXR3b3JrJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mZWF0dXJlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nU3R5bGUsXG4gICAgSW1hZ2VFcnJvckRpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSnNvblBpcGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBTZWN1cmVJbWFnZVBpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0ZTogQ29ubmVjdGlvblN0YXRlO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHJlYWR5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IHNvdXJjZSgpOiBTZWFyY2hTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gIH1cbiAgc2V0IHNvdXJjZSh2YWx1ZTogU2VhcmNoU291cmNlKSB7XG4gICAgdGhpcy5fc291cmNlID0gdmFsdWU7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICBASW5wdXQoKSB0b29sYm94OiBUb29sYm94O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBmZWF0dXJlKCk6IEZlYXR1cmUge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlKSB7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc2VsZWN0RmVhdHVyZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlO1xuICBwcml2YXRlIF9zb3VyY2U6IFNlYXJjaFNvdXJjZTtcblxuICBAT3V0cHV0KCkgcm91dGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdEZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBodG1sRGlzcGxheUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLmZlYXR1cmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5SWNvbih0aGlzLmZlYXR1cmUpIHx8ICdsaW5rJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5ldHdvcmtTZXJ2aWNlXG4gICAgICAuY3VycmVudFN0YXRlKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQ29ubmVjdGlvblN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHVybFNhbml0aXplcih2YWx1ZSk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XG4gIH1cblxuICBpc0h0bWxEaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZmVhdHVyZSAmJlxuICAgICAgdGhpcy5pc09iamVjdCh0aGlzLmZlYXR1cmUucHJvcGVydGllcykgJiZcbiAgICAgIHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ2lmcmFtZSdcbiAgICApIHtcbiAgICAgIHRoaXMuaHRtbERpc3BsYXlFdmVudC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaHRtbERpc3BsYXlFdmVudC5lbWl0KGZhbHNlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBodG1sU2FuaXRpemVyKHZhbHVlKTogU2FmZVJlc291cmNlVXJsIHtcbiAgICBpZiAoIXZhbHVlLmJvZHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVnZXhCYXNlID0gLzxiYXNlIGhyZWY9XCJbXFx3OlxcL1xcLl0rXCI+LztcbiAgICBpZiAoIXJlZ2V4QmFzZS50ZXN0KHZhbHVlLmJvZHkpKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHZhbHVlLnVybCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbik7XG4gICAgICB2YWx1ZS5ib2R5ID0gdmFsdWUuYm9keS5yZXBsYWNlKFxuICAgICAgICAnPGhlYWQ+JyxcbiAgICAgICAgYDxoZWFkPjxiYXNlIGhyZWY9XCIke3VybC5vcmlnaW59XCI+YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUuYm9keSk7XG4gIH1cblxuICBpc09iamVjdCh2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgb3BlblNlY3VyZVVybCh2YWx1ZSkge1xuICAgIGxldCB1cmw6IHN0cmluZztcbiAgICBjb25zdCByZWdleERlcG90ID0gbmV3IFJlZ0V4cChcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZT8uZ2V0Q29uZmlnKCdkZXBvdC51cmwnKSArICcuKj8oPz1cInwkKSdcbiAgICApO1xuXG4gICAgaWYgKHJlZ2V4RGVwb3QudGVzdCh2YWx1ZSkpIHtcbiAgICAgIHVybCA9IHZhbHVlLm1hdGNoKHJlZ2V4RGVwb3QpWzBdO1xuXG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChkb2NPckltYWdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb2NPckltYWdlKTtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGZpbGVVcmwsICdfYmxhbmsnKTtcbiAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgICAgJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZCcsXG4gICAgICAgICAgICAgICdpZ28uZ2VvLnRhcmdldEh0bWxVcmxVbmF1dGhvcml6ZWRUaXRsZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgdXJsID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy5pc0VtYmVkZGVkTGluayh2YWx1ZSkpIHtcbiAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBkaXYuaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgICAgIHVybCA9IGRpdi5jaGlsZHJlblswXS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgIH1cbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgIH1cbiAgfVxuXG4gIGlzVXJsKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL15odHRwcz86XFwvXFwvLztcbiAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBpc0RvYyh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodGhpcy5pc1VybCh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKHBkZnxkb2N4P3x4bHN4PykkLztcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNJbWcodmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRoaXMuaXNVcmwodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhqcGU/Z3xwbmd8Z2lmKSQvO1xuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0VtYmVkZGVkTGluayh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBtYXRjaFJlZ2V4ID0gLzxhL2c7XG4gICAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKG1hdGNoUmVnZXgpIHx8IFtdO1xuICAgICAgY29uc3QgY291bnQgPSBtYXRjaC5sZW5ndGg7XG4gICAgICBpZiAoY291bnQgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkTGlua1RleHQodmFsdWUpIHtcbiAgICBjb25zdCByZWdleCA9IC8oPzo+KS4qPyg/PTx8JCkvO1xuICAgIGxldCB0ZXh0ID0gdmFsdWUubWF0Y2gocmVnZXgpWzBdIGFzIHN0cmluZztcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKC8+L2csICcnKTtcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIGZpbHRlckZlYXR1cmVQcm9wZXJ0aWVzKGZlYXR1cmUpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhbGxvd2VkRmllbGRzQW5kQWxpYXMgPSBmZWF0dXJlLm1ldGEgPyBmZWF0dXJlLm1ldGEuYWxpYXMgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHt9O1xuICAgIGxldCBvZmZsaW5lQnV0dG9uU3RhdGU7XG5cbiAgICBpZiAodGhpcy5tYXApIHtcbiAgICAgIHRoaXMubWFwLmZvcmNlZE9mZmxpbmUkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgb2ZmbGluZUJ1dHRvblN0YXRlID0gc3RhdGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZlYXR1cmUucHJvcGVydGllcyAmJlxuICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlICYmXG4gICAgICB0aGlzLnRvb2xib3ggJiZcbiAgICAgICF0aGlzLnRvb2xib3guZ2V0VG9vbCgnZGlyZWN0aW9ucycpXG4gICAgKSB7XG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xuICAgIH1cblxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRGaWVsZHNBbmRBbGlhcykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgcHJvcGVydGllc1thbGxvd2VkRmllbGRzQW5kQWxpYXNbZmllbGRdXSA9IGZlYXR1cmUucHJvcGVydGllc1tmaWVsZF07XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgIH0gZWxzZSBpZiAob2ZmbGluZUJ1dHRvblN0YXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICghb2ZmbGluZUJ1dHRvblN0YXRlKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiZcbiAgICAgICAgICBmZWF0dXJlLm1ldGEgJiZcbiAgICAgICAgICBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZVxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGU7XG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZS5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAhdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmXG4gICAgICAgICAgZmVhdHVyZS5tZXRhICYmXG4gICAgICAgICAgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xuICAgICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xuICAgICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmXG4gICAgICAgIGZlYXR1cmUubWV0YSAmJlxuICAgICAgICBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZS5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgIXRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJlxuICAgICAgICBmZWF0dXJlLm1ldGEgJiZcbiAgICAgICAgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmZWF0dXJlLnByb3BlcnRpZXM7XG4gIH1cblxuICAvKipcbiAgICogQ29weSB0aGUgdXJsIHRvIGEgY2xpcGJvYXJkXG4gICAqL1xuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodmFsdWUpO1xuICAgIGlmIChzdWNjZXNzZnVsKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoJ2lnby5nZW8ucXVlcnkubGluay5tZXNzYWdlJyk7XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGVcbiAgY2xhc3M9XCJpZ28tc3RyaXBlZCBtYXQtdHlwb2dyYXBoeVwiXG4gICpuZ0lmPVwiXG4gICAgcmVhZHkgJiZcbiAgICBmZWF0dXJlICYmXG4gICAgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJlxuICAgIGZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgIT09ICdpZnJhbWUnXG4gIFwiXG4+XG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIGZpbHRlckZlYXR1cmVQcm9wZXJ0aWVzKGZlYXR1cmUpIHwga2V5dmFsdWVcIj5cbiAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uIHN2Z0ljb249XCJ7eyBpY29uIH19XCI+PC9tYXQtaWNvbj5cbiAgICAgIDwvdGQ+XG5cbiAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIlxuICAgICAgPlxuICAgICAgICA8YVxuICAgICAgICAgIGhyZWY9XCJ7eyBwcm9wZXJ0eS52YWx1ZSB9fVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19IHt7IHRpdGxlIH19PC9hXG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiY29weUNsaXBib2FyZFwiXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgaWQ9XCJrZXlWYWx1ZVwiICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkXCI+XG4gICAgICAgIHt7IHByb3BlcnR5LmtleSB9fVxuICAgICAgPC90ZD5cblxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJlxuICAgICAgICAgICFpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiZcbiAgICAgICAgICAhaXNFbWJlZGRlZExpbmsocHJvcGVydHkudmFsdWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIlxuICAgICAgPjwvdGQ+XG5cbiAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dVxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY3Vyc29yOiAncG9pbnRlcicsIGNvbG9yOiAnYmx1ZScgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgICA+e3sgZ2V0RW1iZWRkZWRMaW5rVGV4dChwcm9wZXJ0eS52YWx1ZSkgfX08L3VcbiAgICAgICAgPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJlxuICAgICAgICAgIChpc0RvYyhwcm9wZXJ0eS52YWx1ZSkgfHwgaXNVcmwocHJvcGVydHkudmFsdWUpKSAmJlxuICAgICAgICAgICFpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHVcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGN1cnNvcjogJ3BvaW50ZXInLCBjb2xvcjogJ2JsdWUnIH1cIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiXG4gICAgICAgICAgPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91XG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiY29weUNsaXBib2FyZFwiXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGRcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAhaXNPYmplY3QocHJvcGVydHkudmFsdWUpICYmXG4gICAgICAgICAgaXNVcmwocHJvcGVydHkudmFsdWUpICYmXG4gICAgICAgICAgaXNJbWcocHJvcGVydHkudmFsdWUpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj1cInt7IHByb3BlcnR5LnZhbHVlIH19XCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBpZ29JbWFnZUVycm9yXG4gICAgICAgICAgICBzcmM9XCJ7eyBwcm9wZXJ0eS52YWx1ZSB8IHNlY3VyZUltYWdlIHwgYXN5bmMgfX1cIlxuICAgICAgICAgICAgd2lkdGg9XCIyMjVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiYXV0b1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmIGlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKVxuICAgICAgICBcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cInByb3BlcnR5LnZhbHVlIHwganNvblwiXG4gICAgICA+PC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPGlmcmFtZVxuICAqbmdJZj1cImlzSHRtbERpc3BsYXkoKVwiXG4gIFtzcmNkb2NdPVwiaHRtbFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMpXCJcbiAgW3NyY109XCJ1cmxTYW5pdGl6ZXIoZmVhdHVyZS5wcm9wZXJ0aWVzLnVybClcIlxuPjwvaWZyYW1lPlxuIl19
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTyxFQUNSLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckUs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U0FBUyxDQUFDLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO3VHQS9SVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qiw4UUN6RHBDLCt5R0EySEEsa1JEOUVJLElBQUksNkZBQ0osS0FBSyxrSEFDTCxhQUFhLG9MQUNiLE9BQU8sMkVBQ1AsbUJBQW1CLCtGQUNuQixTQUFTLHlDQUNULFFBQVEsd0NBQ1IsWUFBWSxnREFDWixpQkFBaUIsdUZBQ2pCLGVBQWU7OzJGQUdOLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxhQUFhO3dCQUNiLE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2hCO2dPQVFHLE1BQU07c0JBRFQsS0FBSztnQkFTRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFhSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBKc29uUGlwZSxcbiAgS2V5VmFsdWVQaXBlLFxuICBOZ0ZvcixcbiAgTmdJZixcbiAgTmdTdHlsZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgZ2V0RW50aXR5SWNvbiwgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IEltYWdlRXJyb3JEaXJlY3RpdmUsIFNlY3VyZUltYWdlUGlwZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9pbWFnZSc7XG5pbXBvcnQgdHlwZSB7IFRvb2xib3ggfSBmcm9tICdAaWdvMi9jb21tb24vdG9vbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0ZSwgTmV0d29ya1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL25ldHdvcmsnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mZWF0dXJlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nU3R5bGUsXG4gICAgSW1hZ2VFcnJvckRpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSnNvblBpcGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIFNlY3VyZUltYWdlUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXRlOiBDb25uZWN0aW9uU3RhdGU7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcmVhZHkgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgc291cmNlKCk6IFNlYXJjaFNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgfVxuICBzZXQgc291cmNlKHZhbHVlOiBTZWFyY2hTb3VyY2UpIHtcbiAgICB0aGlzLl9zb3VyY2UgPSB2YWx1ZTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIEBJbnB1dCgpIHRvb2xib3g6IFRvb2xib3g7XG5cbiAgQElucHV0KClcbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbiAgc2V0IGZlYXR1cmUodmFsdWU6IEZlYXR1cmUpIHtcbiAgICB0aGlzLl9mZWF0dXJlID0gdmFsdWU7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZWxlY3RGZWF0dXJlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU7XG4gIHByaXZhdGUgX3NvdXJjZTogU2VhcmNoU291cmNlO1xuXG4gIEBPdXRwdXQoKSByb3V0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RmVhdHVyZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGh0bWxEaXNwbGF5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlJY29uKHRoaXMuZmVhdHVyZSkgfHwgJ2xpbmsnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubmV0d29ya1NlcnZpY2VcbiAgICAgIC5jdXJyZW50U3RhdGUoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlOiBDb25uZWN0aW9uU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgdXJsU2FuaXRpemVyKHZhbHVlKTogU2FmZVJlc291cmNlVXJsIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHZhbHVlKTtcbiAgfVxuXG4gIGlzSHRtbERpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mZWF0dXJlICYmXG4gICAgICB0aGlzLmlzT2JqZWN0KHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJlxuICAgICAgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnaWZyYW1lJ1xuICAgICkge1xuICAgICAgdGhpcy5odG1sRGlzcGxheUV2ZW50LmVtaXQodHJ1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5odG1sRGlzcGxheUV2ZW50LmVtaXQoZmFsc2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGh0bWxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xuICAgIGlmICghdmFsdWUuYm9keSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWdleEJhc2UgPSAvPGJhc2UgaHJlZj1cIltcXHc6XFwvXFwuXStcIj4vO1xuICAgIGlmICghcmVnZXhCYXNlLnRlc3QodmFsdWUuYm9keSkpIHtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUudXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcbiAgICAgIHZhbHVlLmJvZHkgPSB2YWx1ZS5ib2R5LnJlcGxhY2UoXG4gICAgICAgICc8aGVhZD4nLFxuICAgICAgICBgPGhlYWQ+PGJhc2UgaHJlZj1cIiR7dXJsLm9yaWdpbn1cIj5gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZS5ib2R5KTtcbiAgfVxuXG4gIGlzT2JqZWN0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG4gIH1cblxuICBvcGVuU2VjdXJlVXJsKHZhbHVlKSB7XG4gICAgbGV0IHVybDogc3RyaW5nO1xuICAgIGNvbnN0IHJlZ2V4RGVwb3QgPSBuZXcgUmVnRXhwKFxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlPy5nZXRDb25maWcoJ2RlcG90LnVybCcpICsgJy4qPyg/PVwifCQpJ1xuICAgICk7XG5cbiAgICBpZiAocmVnZXhEZXBvdC50ZXN0KHZhbHVlKSkge1xuICAgICAgdXJsID0gdmFsdWUubWF0Y2gocmVnZXhEZXBvdClbMF07XG5cbiAgICAgIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHVybCwge1xuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKGRvY09ySW1hZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGRvY09ySW1hZ2UpO1xuICAgICAgICAgICAgd2luZG93Lm9wZW4oZmlsZVVybCwgJ19ibGFuaycpO1xuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgICAnaWdvLmdlby50YXJnZXRIdG1sVXJsVW5hdXRob3JpemVkJyxcbiAgICAgICAgICAgICAgJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZFRpdGxlJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB1cmwgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLmlzRW1iZWRkZWRMaW5rKHZhbHVlKSkge1xuICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSB2YWx1ZTtcbiAgICAgICAgdXJsID0gZGl2LmNoaWxkcmVuWzBdLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgfVxuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG5cbiAgaXNVcmwodmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcmVnZXggPSAvXmh0dHBzPzpcXC9cXC8vO1xuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRG9jKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xuICAgICAgICBjb25zdCByZWdleCA9IC8ocGRmfGRvY3g/fHhsc3g/KSQvO1xuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0ltZyh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodGhpcy5pc1VybCh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKGpwZT9nfHBuZ3xnaWYpJC87XG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRW1iZWRkZWRMaW5rKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG1hdGNoUmVnZXggPSAvPGEvZztcbiAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gobWF0Y2hSZWdleCkgfHwgW107XG4gICAgICBjb25zdCBjb3VudCA9IG1hdGNoLmxlbmd0aDtcbiAgICAgIGlmIChjb3VudCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0RW1iZWRkZWRMaW5rVGV4dCh2YWx1ZSkge1xuICAgIGNvbnN0IHJlZ2V4ID0gLyg/Oj4pLio/KD89PHwkKS87XG4gICAgbGV0IHRleHQgPSB2YWx1ZS5tYXRjaChyZWdleClbMF0gYXMgc3RyaW5nO1xuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLz4vZywgJycpO1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZmlsdGVyRmVhdHVyZVByb3BlcnRpZXMoZmVhdHVyZSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGFsbG93ZWRGaWVsZHNBbmRBbGlhcyA9IGZlYXR1cmUubWV0YSA/IGZlYXR1cmUubWV0YS5hbGlhcyA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XG4gICAgbGV0IG9mZmxpbmVCdXR0b25TdGF0ZTtcblxuICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgdGhpcy5tYXAuZm9yY2VkT2ZmbGluZSRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBvZmZsaW5lQnV0dG9uU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzICYmXG4gICAgICBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGUgJiZcbiAgICAgIHRoaXMudG9vbGJveCAmJlxuICAgICAgIXRoaXMudG9vbGJveC5nZXRUb29sKCdkaXJlY3Rpb25zJylcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGU7XG4gICAgfVxuXG4gICAgaWYgKGFsbG93ZWRGaWVsZHNBbmRBbGlhcykge1xuICAgICAgT2JqZWN0LmtleXMoYWxsb3dlZEZpZWxkc0FuZEFsaWFzKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBwcm9wZXJ0aWVzW2FsbG93ZWRGaWVsZHNBbmRBbGlhc1tmaWVsZF1dID0gZmVhdHVyZS5wcm9wZXJ0aWVzW2ZpZWxkXTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgfSBlbHNlIGlmIChvZmZsaW5lQnV0dG9uU3RhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKCFvZmZsaW5lQnV0dG9uU3RhdGUpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJlxuICAgICAgICAgIGZlYXR1cmUubWV0YSAmJlxuICAgICAgICAgIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICF0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiZcbiAgICAgICAgICBmZWF0dXJlLm1ldGEgJiZcbiAgICAgICAgICBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmVcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiZcbiAgICAgICAgZmVhdHVyZS5tZXRhICYmXG4gICAgICAgIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlO1xuICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAhdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmXG4gICAgICAgIGZlYXR1cmUubWV0YSAmJlxuICAgICAgICBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlT2ZmbGluZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZTtcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3B5IHRoZSB1cmwgdG8gYSBjbGlwYm9hcmRcbiAgICovXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weSh2YWx1ZSk7XG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcygnaWdvLmdlby5xdWVyeS5saW5rLm1lc3NhZ2UnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZVxuICBjbGFzcz1cImlnby1zdHJpcGVkIG1hdC10eXBvZ3JhcGh5XCJcbiAgKm5nSWY9XCJcbiAgICByZWFkeSAmJlxuICAgIGZlYXR1cmUgJiZcbiAgICBpc09iamVjdChmZWF0dXJlLnByb3BlcnRpZXMpICYmXG4gICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCAhPT0gJ2lmcmFtZSdcbiAgXCJcbj5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgZmlsdGVyRmVhdHVyZVByb3BlcnRpZXMoZmVhdHVyZSkgfCBrZXl2YWx1ZVwiPlxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGRcbiAgICAgICAgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnX2JsYW5rJyAmJiBwcm9wZXJ0eS5rZXkgPT09ICd1cmwnXCJcbiAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICBocmVmPVwie3sgcHJvcGVydHkudmFsdWUgfX1cIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnaWdvLmdlby50YXJnZXRIdG1sVXJsJyB8IHRyYW5zbGF0ZSB9fSB7eyB0aXRsZSB9fTwvYVxuICAgICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImNvcHlDbGlwYm9hcmRcIlxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHByb3BlcnR5LnZhbHVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24+Y29udGVudF9jb3B5PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgaWQ9XCJrZXlWYWx1ZVwiICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkXCI+XG4gICAgICAgIHt7IHByb3BlcnR5LmtleSB9fVxuICAgICAgPC90ZD5cblxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJlxuICAgICAgICAgICFpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiZcbiAgICAgICAgICAhaXNFbWJlZGRlZExpbmsocHJvcGVydHkudmFsdWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIlxuICAgICAgPjwvdGQ+XG5cbiAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dVxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY3Vyc29yOiAncG9pbnRlcicsIGNvbG9yOiAnYmx1ZScgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgICA+e3sgZ2V0RW1iZWRkZWRMaW5rVGV4dChwcm9wZXJ0eS52YWx1ZSkgfX08L3VcbiAgICAgICAgPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJlxuICAgICAgICAgIChpc0RvYyhwcm9wZXJ0eS52YWx1ZSkgfHwgaXNVcmwocHJvcGVydHkudmFsdWUpKSAmJlxuICAgICAgICAgICFpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHVcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGN1cnNvcjogJ3BvaW50ZXInLCBjb2xvcjogJ2JsdWUnIH1cIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuU2VjdXJlVXJsKHByb3BlcnR5LnZhbHVlKVwiXG4gICAgICAgICAgPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19PC91XG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiY29weUNsaXBib2FyZFwiXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG5cbiAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiZcbiAgICAgICAgICBpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiZcbiAgICAgICAgICBpc0ltZyhwcm9wZXJ0eS52YWx1ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICBocmVmPVwie3sgcHJvcGVydHkudmFsdWUgfX1cIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGlnb0ltYWdlRXJyb3JcbiAgICAgICAgICAgIHNyYz1cInt7IHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UgfCBhc3luYyB9fVwiXG4gICAgICAgICAgICB3aWR0aD1cIjIyNVwiXG4gICAgICAgICAgICBoZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGRcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWUgfCBqc29uXCJcbiAgICAgID48L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG48aWZyYW1lXG4gICpuZ0lmPVwiaXNIdG1sRGlzcGxheSgpXCJcbiAgW3NyY2RvY109XCJodG1sU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcylcIlxuICBbc3JjXT1cInVybFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMudXJsKVwiXG4+PC9pZnJhbWU+XG4iXX0=
@@ -2,19 +2,25 @@ import { NgModule } from '@angular/core';
2
2
  import { FeatureDetailsComponent } from './feature-details.component';
3
3
  import { FeatureDetailsDirective } from './feature-details.directive';
4
4
  import * as i0 from "@angular/core";
5
+ export const FEATURE_DETAILS_DIRECTIVES = [
6
+ FeatureDetailsComponent,
7
+ FeatureDetailsDirective
8
+ ];
5
9
  /**
6
10
  * @deprecated import the FeatureDetailsComponent, FeatureDetailsDirective directly or the FEATURE_DETAILS_DIRECTIVES for all
7
11
  */
8
12
  export class IgoFeatureDetailsModule {
9
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureDetailsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureDetailsModule, imports: [FeatureDetailsComponent, FeatureDetailsDirective], exports: [FeatureDetailsComponent, FeatureDetailsDirective] });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureDetailsModule, imports: [FeatureDetailsComponent,
15
+ FeatureDetailsDirective], exports: [FeatureDetailsComponent,
16
+ FeatureDetailsDirective] });
11
17
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureDetailsModule, imports: [FeatureDetailsComponent] });
12
18
  }
13
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureDetailsModule, decorators: [{
14
20
  type: NgModule,
15
21
  args: [{
16
- imports: [FeatureDetailsComponent, FeatureDetailsDirective],
17
- exports: [FeatureDetailsComponent, FeatureDetailsDirective]
22
+ imports: [...FEATURE_DETAILS_DIRECTIVES],
23
+ exports: [...FEATURE_DETAILS_DIRECTIVES]
18
24
  }]
19
25
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO3VHQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1QixZQUh4Qix1QkFBdUIsRUFBRSx1QkFBdUIsYUFDaEQsdUJBQXVCLEVBQUUsdUJBQXVCO3dHQUUvQyx1QkFBdUIsWUFIeEIsdUJBQXVCOzsyRkFHdEIsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCwgRmVhdHVyZURldGFpbHNEaXJlY3RpdmUgZGlyZWN0bHkgb3IgdGhlIEZFQVRVUkVfREVUQUlMU19ESVJFQ1RJVkVTIGZvciBhbGxcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0ZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LCBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCwgRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlIHt9XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtDQUNmLENBQUM7QUFFWDs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLFlBWGxDLHVCQUF1QjtZQUN2Qix1QkFBdUIsYUFEdkIsdUJBQXVCO1lBQ3ZCLHVCQUF1Qjt3R0FVWix1QkFBdUIsWUFYbEMsdUJBQXVCOzsyRkFXWix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRywwQkFBMEIsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsR0FBRywwQkFBMEIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFUyA9IFtcbiAgRmVhdHVyZURldGFpbHNDb21wb25lbnQsXG4gIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlXG5dIGFzIGNvbnN0O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgRmVhdHVyZURldGFpbHNDb21wb25lbnQsIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIGRpcmVjdGx5IG9yIHRoZSBGRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFUyBmb3IgYWxsXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5GRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFsuLi5GRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFU11cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUge31cbiJdfQ==
@@ -1,9 +1,4 @@
1
- import { FeatureDetailsComponent } from './feature-details.component';
2
- import { FeatureDetailsDirective } from './feature-details.directive';
1
+ export * from './feature-details.module';
3
2
  export * from './feature-details.component';
4
3
  export * from './feature-details.directive';
5
- export const FEATURE_DETAILS_DIRECTIVES = [
6
- FeatureDetailsComponent,
7
- FeatureDetailsDirective
8
- ];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgRkVBVFVSRV9ERVRBSUxTX0RJUkVDVElWRVMgPSBbXG4gIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxuICBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZVxuXSBhcyBjb25zdDtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { AsyncPipe } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
- import { getEntityRevision } from '@igo2/common';
4
- import { FormComponent } from '@igo2/common';
3
+ import { getEntityRevision } from '@igo2/common/entity';
4
+ import { FormComponent } from '@igo2/common/form';
5
5
  import { uuid } from '@igo2/utils';
6
6
  import { BehaviorSubject } from 'rxjs';
7
7
  import { FEATURE } from '../shared/feature.enums';
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
99
99
  type: ViewChild,
100
100
  args: ['igoForm', { static: true }]
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQVEsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUdsRDs7Ozs7O0dBTUc7QUFTSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COztPQUVHO0lBQ00sSUFBSSxDQUFPO0lBRXBCOztPQUVHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBMEI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNRLFFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFN0U7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVYLE9BQU8sQ0FBZ0I7SUFFL0QsZ0JBQWUsQ0FBQztJQUVoQjs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLElBQTRCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLElBQTRCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLElBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDOUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNwRCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6RCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsQ0FBQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDO3VHQS9FVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixtUkNsQ2pDLHFPQVVBLHFHRHNCWSxhQUFhLHVIQUFFLFNBQVM7OzJGQUV2QixvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQzt3REFNMUIsSUFBSTtzQkFBWixLQUFLO2dCQU1GLE9BQU87c0JBRFYsS0FBSztnQkFZSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVpQyxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvcm0sIGdldEVudGl0eVJldmlzaW9uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlTWV0YSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEEgY29uZmlndXJhYmxlIGZvcm0sIG9wdGlvbm5hbGx5IGJvdW5kIHRvIGEgZmVhdHVyZS5cbiAqIFRoaXMgY29tcG9uZW50IGNyZWF0ZXMgYW4gZW50aXR5IGZvcm0gYW5kLCBvbiBzdWJtaXQsXG4gKiByZXR1cm5zIGEgZmVhdHVyZSBtYWRlIG91dCBvZiB0aGUgc3VibWl0dGVkIGRhdGEuIEl0IGFsc29cbiAqIGRvZXMgdGhpbmdzIGxpa2UgbWFuYWdpbmcgdGhlIGZlYXR1cmUgdmlzaWJpbGl0eSB3aGlsZSBpdCdzIGJlaW5nIHVwZGF0ZWRcbiAqIGFzIHdlbGwgYXMgZGlzYWJsaW5nIHRoZSBzZWxlY3Rpb24gb2YgYW5vdGhlciBmZWF0dXJlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1Db21wb25lbnQsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUZvcm1Db21wb25lbnQge1xuICAvKipcbiAgICogRm9ybVxuICAgKi9cbiAgQElucHV0KCkgZm9ybTogRm9ybTtcblxuICAvKipcbiAgICogRmVhdHVyZSB0byB1cGRhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5mZWF0dXJlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBmZWF0dXJlJDogQmVoYXZpb3JTdWJqZWN0PEZlYXR1cmU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0Rm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8RmVhdHVyZT4oKTtcblxuICBAVmlld0NoaWxkKCdpZ29Gb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgaWdvRm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZSBhbmQgZW1pdCBhbiBldmVudFxuICAgKiBAcGFyYW0gZXZlbnQgRm9ybSBzdWJtaXQgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblN1Ym1pdChkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XG4gICAgY29uc3QgZmVhdHVyZSA9IHRoaXMuZm9ybURhdGFUb0ZlYXR1cmUoZGF0YSk7XG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQoZmVhdHVyZSk7XG4gIH1cblxuICBnZXREYXRhKCk6IEZlYXR1cmUge1xuICAgIHJldHVybiB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKHRoaXMuaWdvRm9ybS5nZXREYXRhKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZVxuICAgKiBAcGFyYW0gZGF0YSBGb3JtIGRhdGFcbiAgICogQHJldHVybnMgQSBmZWF0dXJlXG4gICAqL1xuICBwcml2YXRlIGZvcm1EYXRhVG9GZWF0dXJlKGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBGZWF0dXJlIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XG4gICAgY29uc3QgbWV0YSA9IHt9O1xuICAgIGlmICh0aGlzLmZlYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgKG1ldGEgYXMgYW55KS5pZCA9IHV1aWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wZXJ0aWVzLCB0aGlzLmZlYXR1cmUucHJvcGVydGllcyk7XG4gICAgICBPYmplY3QuYXNzaWduKG1ldGEsIHRoaXMuZmVhdHVyZS5tZXRhLCB7XG4gICAgICAgIHJldmlzaW9uOiBnZXRFbnRpdHlSZXZpc2lvbih0aGlzLmZlYXR1cmUpICsgMVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlQcmVmaXggPSAncHJvcGVydGllcy4nO1xuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBlbnRyeTtcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChwcm9wZXJ0eVByZWZpeCkpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHkgPSBrZXkuc3Vic3RyKHByb3BlcnR5UHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIHByb3BlcnRpZXNbcHJvcGVydHldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgZ2VvbWV0cnkgPSBkYXRhLmdlb21ldHJ5O1xuICAgIGlmIChnZW9tZXRyeSA9PT0gdW5kZWZpbmVkICYmIHRoaXMuZmVhdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBnZW9tZXRyeSA9IHRoaXMuZmVhdHVyZS5nZW9tZXRyeTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWV0YTogbWV0YSBhcyBGZWF0dXJlTWV0YSxcbiAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICBnZW9tZXRyeSxcbiAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgcHJvcGVydGllc1xuICAgIH07XG4gIH1cbn1cbiIsIjxpZ28tZm9ybVxuICAjaWdvRm9ybVxuICBbZm9ybV09XCJmb3JtXCJcbiAgW2Zvcm1EYXRhXT1cImZlYXR1cmUkIHwgYXN5bmNcIlxuICAoc3VibWl0Rm9ybSk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb3JtQnV0dG9uc11cIiBmb3JtQnV0dG9ucz48L25nLWNvbnRlbnQ+XG48L2lnby1mb3JtPlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQVEsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHbEQ7Ozs7OztHQU1HO0FBU0gsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjs7T0FFRztJQUNNLElBQUksQ0FBTztJQUVwQjs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQTBCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDUSxRQUFRLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdFOztPQUVHO0lBQ08sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFWCxPQUFPLENBQWdCO0lBRS9ELGdCQUFlLENBQUM7SUFFaEI7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFZLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDcEQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRCxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekQsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQW1CO1lBQ3pCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUTtZQUNSLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzt1R0EvRVUsb0JBQW9COzJGQUFwQixvQkFBb0IsbVJDbENqQyxxT0FVQSxxR0RzQlksYUFBYSx1SEFBRSxTQUFTOzsyRkFFdkIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7d0RBTTFCLElBQUk7c0JBQVosS0FBSztnQkFNRixPQUFPO3NCQURWLEtBQUs7Z0JBWUksVUFBVTtzQkFBbkIsTUFBTTtnQkFFaUMsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRFbnRpdHlSZXZpc2lvbiB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgRm9ybSwgRm9ybUNvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi9mb3JtJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGRUFUVVJFIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZU1ldGEgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBBIGNvbmZpZ3VyYWJsZSBmb3JtLCBvcHRpb25uYWxseSBib3VuZCB0byBhIGZlYXR1cmUuXG4gKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGFuIGVudGl0eSBmb3JtIGFuZCwgb24gc3VibWl0LFxuICogcmV0dXJucyBhIGZlYXR1cmUgbWFkZSBvdXQgb2YgdGhlIHN1Ym1pdHRlZCBkYXRhLiBJdCBhbHNvXG4gKiBkb2VzIHRoaW5ncyBsaWtlIG1hbmFnaW5nIHRoZSBmZWF0dXJlIHZpc2liaWxpdHkgd2hpbGUgaXQncyBiZWluZyB1cGRhdGVkXG4gKiBhcyB3ZWxsIGFzIGRpc2FibGluZyB0aGUgc2VsZWN0aW9uIG9mIGFub3RoZXIgZmVhdHVyZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWZlYXR1cmUtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3JtQ29tcG9uZW50LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVGb3JtQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEZvcm1cbiAgICovXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XG5cbiAgLyoqXG4gICAqIEZlYXR1cmUgdG8gdXBkYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZmVhdHVyZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZSQudmFsdWU7XG4gIH1cbiAgcmVhZG9ubHkgZmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaWdvRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGlnb0Zvcm06IEZvcm1Db21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmUgYW5kIGVtaXQgYW4gZXZlbnRcbiAgICogQHBhcmFtIGV2ZW50IEZvcm0gc3VibWl0IGV2ZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TdWJtaXQoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGNvbnN0IGZlYXR1cmUgPSB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKGRhdGEpO1xuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KGZlYXR1cmUpO1xuICB9XG5cbiAgZ2V0RGF0YSgpOiBGZWF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZSh0aGlzLmlnb0Zvcm0uZ2V0RGF0YSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmVcbiAgICogQHBhcmFtIGRhdGEgRm9ybSBkYXRhXG4gICAqIEByZXR1cm5zIEEgZmVhdHVyZVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtRGF0YVRvRmVhdHVyZShkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmVhdHVyZSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHt9O1xuICAgIGNvbnN0IG1ldGEgPSB7fTtcbiAgICBpZiAodGhpcy5mZWF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIChtZXRhIGFzIGFueSkuaWQgPSB1dWlkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMpO1xuICAgICAgT2JqZWN0LmFzc2lnbihtZXRhLCB0aGlzLmZlYXR1cmUubWV0YSwge1xuICAgICAgICByZXZpc2lvbjogZ2V0RW50aXR5UmV2aXNpb24odGhpcy5mZWF0dXJlKSArIDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BlcnR5UHJlZml4ID0gJ3Byb3BlcnRpZXMuJztcbiAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChlbnRyeTogW3N0cmluZywgYW55XSkgPT4ge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZW50cnk7XG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJvcGVydHlQcmVmaXgpKSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0ga2V5LnN1YnN0cihwcm9wZXJ0eVByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwcm9wZXJ0aWVzW3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGV0IGdlb21ldHJ5ID0gZGF0YS5nZW9tZXRyeTtcbiAgICBpZiAoZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmZlYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZ2VvbWV0cnkgPSB0aGlzLmZlYXR1cmUuZ2VvbWV0cnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGE6IG1ldGEgYXMgRmVhdHVyZU1ldGEsXG4gICAgICB0eXBlOiBGRUFUVVJFLFxuICAgICAgZ2VvbWV0cnksXG4gICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgIHByb3BlcnRpZXNcbiAgICB9O1xuICB9XG59XG4iLCI8aWdvLWZvcm1cbiAgI2lnb0Zvcm1cbiAgW2Zvcm1dPVwiZm9ybVwiXG4gIFtmb3JtRGF0YV09XCJmZWF0dXJlJCB8IGFzeW5jXCJcbiAgKHN1Ym1pdEZvcm0pPVwib25TdWJtaXQoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9ybUJ1dHRvbnNdXCIgZm9ybUJ1dHRvbnM+PC9uZy1jb250ZW50PlxuPC9pZ28tZm9ybT5cbiJdfQ==
@@ -1,19 +1,26 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IgoFeatureDetailsModule } from './feature-details/feature-details.module';
3
- import { IgoFeatureFormModule } from './feature-form/feature-form.module';
2
+ import { FEATURE_DETAILS_DIRECTIVES } from './feature-details';
3
+ import { FeatureFormComponent } from './feature-form/feature-form.component';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "./feature-details/feature-details.component";
6
+ import * as i2 from "./feature-details/feature-details.directive";
7
+ export const FEATURE_DIRECTIVES = [
8
+ ...FEATURE_DETAILS_DIRECTIVES,
9
+ FeatureFormComponent
10
+ ];
5
11
  /**
6
12
  * @deprecated import the components directly or the FEATURE_DIRECTIVES for the set
7
13
  */
8
14
  export class IgoFeatureModule {
9
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, exports: [IgoFeatureDetailsModule, IgoFeatureFormModule] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, imports: [IgoFeatureDetailsModule, IgoFeatureFormModule] });
16
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, imports: [i1.FeatureDetailsComponent, i2.FeatureDetailsDirective, FeatureFormComponent], exports: [i1.FeatureDetailsComponent, i2.FeatureDetailsDirective, FeatureFormComponent] });
17
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, imports: [i1.FeatureDetailsComponent, FeatureFormComponent] });
12
18
  }
13
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoFeatureModule, decorators: [{
14
20
  type: NgModule,
15
21
  args: [{
16
- exports: [IgoFeatureDetailsModule, IgoFeatureFormModule]
22
+ imports: [...FEATURE_DIRECTIVES],
23
+ exports: [...FEATURE_DIRECTIVES]
17
24
  }]
18
25
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRTFFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsWUFGakIsdUJBQXVCLEVBQUUsb0JBQW9CO3dHQUU1QyxnQkFBZ0IsWUFGakIsdUJBQXVCLEVBQUUsb0JBQW9COzsyRkFFNUMsZ0JBQWdCO2tCQUg1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMvZmVhdHVyZS1kZXRhaWxzLm1vZHVsZSc7XG5pbXBvcnQgeyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgY29tcG9uZW50cyBkaXJlY3RseSBvciB0aGUgRkVBVFVSRV9ESVJFQ1RJVkVTIGZvciB0aGUgc2V0XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSwgSWdvRmVhdHVyZUZvcm1Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVNb2R1bGUge31cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFFN0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsR0FBRywwQkFBMEI7SUFDN0Isb0JBQW9CO0NBQ1osQ0FBQztBQUVYOztHQUVHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0Isb0VBVjNCLG9CQUFvQixxRUFBcEIsb0JBQW9CO3dHQVVULGdCQUFnQix3Q0FWM0Isb0JBQW9COzsyRkFVVCxnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFUyB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzJztcbmltcG9ydCB7IEZlYXR1cmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX0RJUkVDVElWRVMgPSBbXG4gIC4uLkZFQVRVUkVfREVUQUlMU19ESVJFQ1RJVkVTLFxuICBGZWF0dXJlRm9ybUNvbXBvbmVudFxuXSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIGNvbXBvbmVudHMgZGlyZWN0bHkgb3IgdGhlIEZFQVRVUkVfRElSRUNUSVZFUyBmb3IgdGhlIHNldFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uRkVBVFVSRV9ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogWy4uLkZFQVRVUkVfRElSRUNUSVZFU11cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZU1vZHVsZSB7fVxuIl19
@@ -1,10 +1,5 @@
1
- import { FEATURE_DETAILS_DIRECTIVES } from './feature-details';
2
- import { FeatureFormComponent } from './feature-form/feature-form.component';
3
1
  export * from './shared';
2
+ export * from './feature.module';
4
3
  export * from './feature-details';
5
4
  export * from './feature-form/feature-form.component';
6
- export const FEATURE_DIRECTIVES = [
7
- ...FEATURE_DETAILS_DIRECTIVES,
8
- FeatureFormComponent
9
- ];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxHQUFHLDBCQUEwQjtJQUM3QixvQkFBb0I7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkVBVFVSRV9ERVRBSUxTX0RJUkVDVElWRVMgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscyc7XG5pbXBvcnQgeyBGZWF0dXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEZFQVRVUkVfRElSRUNUSVZFUyA9IFtcbiAgLi4uRkVBVFVSRV9ERVRBSUxTX0RJUkVDVElWRVMsXG4gIEZlYXR1cmVGb3JtQ29tcG9uZW50XG5dIGFzIGNvbnN0O1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50JztcbiJdfQ==
@@ -6,4 +6,4 @@ export var FeatureMotion;
6
6
  FeatureMotion[FeatureMotion["Zoom"] = 2] = "Zoom";
7
7
  FeatureMotion[FeatureMotion["Default"] = 3] = "Default";
8
8
  })(FeatureMotion || (FeatureMotion = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcblxuZXhwb3J0IGVudW0gRmVhdHVyZU1vdGlvbiB7XG4gIE5vbmUsXG4gIE1vdmUsXG4gIFpvb20sXG4gIERlZmF1bHRcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcclxuXHJcbmV4cG9ydCBlbnVtIEZlYXR1cmVNb3Rpb24ge1xyXG4gIE5vbmUsXHJcbiAgTW92ZSxcclxuICBab29tLFxyXG4gIERlZmF1bHRcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIEVudGl0eVN0b3JlT3B0aW9ucyxcbiAgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnNcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcblxuaW1wb3J0IHsgR2VvSnNvbkdlb21ldHJ5VHlwZXMgfSBmcm9tICdnZW9qc29uJztcblxuaW1wb3J0IHsgU291cmNlRmllbGRzT3B0aW9uc1BhcmFtcyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlPFAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XG4gIHR5cGU6IHN0cmluZztcbiAgcHJvamVjdGlvbj86IHN0cmluZztcbiAgZ2VvbWV0cnk/OiBGZWF0dXJlR2VvbWV0cnk7XG4gIHByb3BlcnRpZXM6IFA7XG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBtZXRhPzogRmVhdHVyZU1ldGE7XG4gIG9sPzogT2xGZWF0dXJlPE9sR2VvbWV0cnk+IHwgT2xSZW5kZXJGZWF0dXJlO1xuICBzb3VyY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlTWV0YSB7XG4gIGlkOiBFbnRpdHlLZXk7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtYXBUaXRsZT86IHN0cmluZztcbiAgc291cmNlVGl0bGU/OiBzdHJpbmc7XG4gIG9yZGVyPzogbnVtYmVyO1xuICBpY29uPzogc3RyaW5nO1xuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIGFsaWFzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcmV2aXNpb24/OiBudW1iZXI7XG4gIGV4Y2x1ZGVBdHRyaWJ1dGU/OiBBcnJheTxzdHJpbmc+O1xuICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZT86IEFycmF5PHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUdlb21ldHJ5IHtcbiAgdHlwZTogR2VvSnNvbkdlb21ldHJ5VHlwZXM7XG4gIGNvb3JkaW5hdGVzOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlT3B0aW9ucyBleHRlbmRzIEVudGl0eVN0b3JlT3B0aW9ucyB7XG4gIG1hcDogSWdvTWFwO1xuICBsYXllcj86IFZlY3RvckxheWVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgLy8gV2hlbiB0aGUgc3RvcmUgbW92ZXMgZmVhdHVyZXMgaW50byB2aWV3LCB0aGUgdmlldyBleHRlbnQsIHdoaWNoIGlzIGFsc28gdGhlIGZlYXR1cmVzIGV4dGVudCxcbiAgLy8gaXMgc2NhbGVkIGJ5IHRob3NlIGZhY3RvcnMsIGVmZmVjdGl2ZWx5IHJlc3VsdGluZyBpbiBhIGRlY2VudGVyZWQgdmlldyBvciBhIG1vcmUgem9vbWVkIGluL291dCB2aWV3LlxuICAvLyBUaGVzZSBmYWN0b3JzIGFyZSBhcHBsaWVkIHRvIHRoZSB0b3AsIHJpZ2h0LCBib3R0b20gYW5kIGxlZnQgZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlci5cbiAgLy8gQSBmYWN0b3Igb2YgMSBtZWFucyB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgY2VudGVyLCBpbiB0aGF0IGRpcmVjdGlvbiwgaXMgZG91YmxlZC5cbiAgdmlld1NjYWxlPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIC8vIEZlYXR1cmVzIGV4dGVudCB0byB2aWV3IGV4dGVudCByYXRpbyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgc3RvcmUgc2hvdWxkIHRyaWdnZXJcbiAgLy8gYSBtYXAgem9vbSB3aGVuIGZlYXR1cmVzIGFyZSBhZGRlZCB0byBpdC5cbiAgYXJlYVJhdGlvPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICBnZXRGZWF0dXJlSWQ/OiAoRmVhdHVyZSkgPT4gRW50aXR5S2V5O1xuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVByb3BlcnR5VHlwZVN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIG1hcDogSWdvTWFwO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVNlYXJjaEluZGV4U3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICBzb3VyY2VGaWVsZHM/OiBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zW107XG4gIHBlcmNlbnREaXN0aW5jdFZhbHVlUmF0aW8/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgbWFwOiBJZ29NYXA7XG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XG4gIG1vdGlvbj86IEZlYXR1cmVNb3Rpb247XG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XG4gIG1hbnk/OiBib29sZWFuO1xuICBoaXRUb2xlcmFuY2U/OiBudW1iZXI7XG4gIGRyYWdCb3g/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBmZWF0dXJlOiBGZWF0dXJlIHwgdW5kZWZpbmVkO1xuICBkYXRhOiBGZWF0dXJlO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIEVudGl0eVN0b3JlT3B0aW9ucyxcbiAgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnNcbn0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5cbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IE9sUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XG5cbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XG5cbmltcG9ydCB7IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZTxQID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XG4gIGdlb21ldHJ5PzogRmVhdHVyZUdlb21ldHJ5O1xuICBwcm9wZXJ0aWVzOiBQO1xuICBleHRlbnQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgbWV0YT86IEZlYXR1cmVNZXRhO1xuICBvbD86IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiB8IE9sUmVuZGVyRmVhdHVyZTtcbiAgc291cmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZU1ldGEge1xuICBpZDogRW50aXR5S2V5O1xuICB0aXRsZT86IHN0cmluZztcbiAgbWFwVGl0bGU/OiBzdHJpbmc7XG4gIHNvdXJjZVRpdGxlPzogc3RyaW5nO1xuICBvcmRlcj86IG51bWJlcjtcbiAgaWNvbj86IHN0cmluZztcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICBhbGlhcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJldmlzaW9uPzogbnVtYmVyO1xuICBleGNsdWRlQXR0cmlidXRlPzogQXJyYXk8c3RyaW5nPjtcbiAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU/OiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHZW9tZXRyeSB7XG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xuICBjb29yZGluYXRlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZU9wdGlvbnMgZXh0ZW5kcyBFbnRpdHlTdG9yZU9wdGlvbnMge1xuICBtYXA6IElnb01hcDtcbiAgbGF5ZXI/OiBWZWN0b3JMYXllcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIC8vIFdoZW4gdGhlIHN0b3JlIG1vdmVzIGZlYXR1cmVzIGludG8gdmlldywgdGhlIHZpZXcgZXh0ZW50LCB3aGljaCBpcyBhbHNvIHRoZSBmZWF0dXJlcyBleHRlbnQsXG4gIC8vIGlzIHNjYWxlZCBieSB0aG9zZSBmYWN0b3JzLCBlZmZlY3RpdmVseSByZXN1bHRpbmcgaW4gYSBkZWNlbnRlcmVkIHZpZXcgb3IgYSBtb3JlIHpvb21lZCBpbi9vdXQgdmlldy5cbiAgLy8gVGhlc2UgZmFjdG9ycyBhcmUgYXBwbGllZCB0byB0aGUgdG9wLCByaWdodCwgYm90dG9tIGFuZCBsZWZ0IGRpcmVjdGlvbnMsIGluIHRoYXQgb3JkZXIuXG4gIC8vIEEgZmFjdG9yIG9mIDEgbWVhbnMgdGhlIGRpc3RhbmNlIGZyb20gdGhlIGNlbnRlciwgaW4gdGhhdCBkaXJlY3Rpb24sIGlzIGRvdWJsZWQuXG4gIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAvLyBGZWF0dXJlcyBleHRlbnQgdG8gdmlldyBleHRlbnQgcmF0aW8gdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHN0b3JlIHNob3VsZCB0cmlnZ2VyXG4gIC8vIGEgbWFwIHpvb20gd2hlbiBmZWF0dXJlcyBhcmUgYWRkZWQgdG8gaXQuXG4gIGFyZWFSYXRpbz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcbiAgbW90aW9uPzogRmVhdHVyZU1vdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVQcm9wZXJ0eVR5cGVTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICBtYXA6IElnb01hcDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTZWFyY2hJbmRleFN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgc291cmNlRmllbGRzPzogU291cmNlRmllbGRzT3B0aW9uc1BhcmFtc1tdO1xuICBwZXJjZW50RGlzdGluY3RWYWx1ZVJhdGlvPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIG1hcDogSWdvTWFwO1xuICBnZXRGZWF0dXJlSWQ/OiAoRmVhdHVyZSkgPT4gRW50aXR5S2V5O1xuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xuICBsYXllcj86IFZlY3RvckxheWVyO1xuICBtYW55PzogYm9vbGVhbjtcbiAgaGl0VG9sZXJhbmNlPzogbnVtYmVyO1xuICBkcmFnQm94PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlRm9ybVN1Ym1pdEV2ZW50IHtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZmVhdHVyZTogRmVhdHVyZSB8IHVuZGVmaW5lZDtcbiAgZGF0YTogRmVhdHVyZTtcbn1cbiJdfQ==