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

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 (409) 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 +3 -3
  7. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +3 -3
  8. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  9. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +3 -3
  11. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +3 -3
  12. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +3 -3
  13. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2022/lib/catalog/catalog-library/index.mjs +1 -1
  15. package/esm2022/lib/catalog/catalog.module.mjs +1 -1
  16. package/esm2022/lib/catalog/index.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  18. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  19. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  20. package/esm2022/lib/catalog/shared/catalog.service.mjs +1 -1
  21. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  22. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  23. package/esm2022/lib/datasource/index.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/capabilities.service.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasource.service.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  42. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  43. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  44. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +3 -3
  45. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  46. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +3 -3
  47. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  48. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  50. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  51. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  52. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  53. package/esm2022/lib/directions/directions.component.mjs +3 -3
  54. package/esm2022/lib/directions/directions.module.mjs +1 -1
  55. package/esm2022/lib/directions/index.mjs +1 -1
  56. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  57. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  58. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.service.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  61. package/esm2022/lib/directions/shared/index.mjs +1 -1
  62. package/esm2022/lib/directions/shared/store.mjs +1 -1
  63. package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
  64. package/esm2022/lib/download/download-button/index.mjs +1 -1
  65. package/esm2022/lib/download/download.module.mjs +1 -1
  66. package/esm2022/lib/download/index.mjs +1 -1
  67. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  68. package/esm2022/lib/download/shared/download.service.mjs +1 -1
  69. package/esm2022/lib/download/shared/index.mjs +1 -1
  70. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +3 -3
  71. package/esm2022/lib/draw/draw/draw-popup.component.mjs +3 -3
  72. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +3 -3
  73. package/esm2022/lib/draw/draw/draw.component.mjs +3 -3
  74. package/esm2022/lib/draw/draw/draw.module.mjs +1 -1
  75. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  76. package/esm2022/lib/draw/index.mjs +1 -1
  77. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  78. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  79. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  80. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  81. package/esm2022/lib/draw/shared/index.mjs +1 -1
  82. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  83. package/esm2022/lib/environment/index.mjs +1 -1
  84. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +3 -3
  85. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  86. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +1 -1
  87. package/esm2022/lib/feature/feature-details/index.mjs +1 -1
  88. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  89. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +1 -1
  90. package/esm2022/lib/feature/feature.module.mjs +1 -1
  91. package/esm2022/lib/feature/index.mjs +1 -1
  92. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  93. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  94. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  95. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  96. package/esm2022/lib/feature/shared/index.mjs +1 -1
  97. package/esm2022/lib/feature/shared/store.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  99. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  102. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2022/lib/feature/shared/strategies/search.mjs +1 -1
  105. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2022/lib/filter/filter.module.mjs +1 -1
  108. package/esm2022/lib/filter/index.mjs +1 -1
  109. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +1 -1
  110. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  111. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +3 -3
  112. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +1 -1
  113. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +1 -1
  114. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +1 -1
  115. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +1 -1
  116. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  117. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +1 -1
  118. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  119. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  120. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  121. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +1 -1
  122. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +3 -3
  123. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +1 -1
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +1 -1
  125. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +1 -1
  126. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  127. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +1 -1
  128. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  129. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +1 -1
  130. package/esm2022/lib/geo.module.mjs +1 -1
  131. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +3 -3
  132. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +3 -3
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  134. package/esm2022/lib/geometry/geometry-form-field/index.mjs +1 -1
  135. package/esm2022/lib/geometry/geometry.module.mjs +1 -1
  136. package/esm2022/lib/geometry/index.mjs +1 -1
  137. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  138. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  139. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  143. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  145. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  146. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  147. package/esm2022/lib/import-export/import-export/import-export.component.mjs +3 -3
  148. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  149. package/esm2022/lib/import-export/import-export.module.mjs +1 -1
  150. package/esm2022/lib/import-export/index.mjs +1 -1
  151. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +5 -56
  152. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  153. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  154. package/esm2022/lib/import-export/shared/export.service.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  156. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  157. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  158. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  159. package/esm2022/lib/import-export/shared/import.service.mjs +1 -1
  160. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  161. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  162. package/esm2022/lib/layer/index.mjs +1 -1
  163. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +1 -1
  164. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  165. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +1 -1
  166. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  167. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +1 -1
  168. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  169. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +1 -1
  170. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +3 -3
  171. package/esm2022/lib/layer/layer.module.mjs +1 -1
  172. package/esm2022/lib/layer/shared/layer.service.mjs +6 -6
  173. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  174. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  175. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  176. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  179. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  180. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  181. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  182. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  183. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  184. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  185. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +1 -1
  186. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  187. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  188. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  189. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  190. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
  191. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +1 -1
  192. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +3 -3
  193. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +1 -1
  194. package/esm2022/lib/map/index.mjs +1 -1
  195. package/esm2022/lib/map/info-section/info-section.component.mjs +1 -1
  196. package/esm2022/lib/map/map-browser/map-browser.component.mjs +1 -1
  197. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
  198. package/esm2022/lib/map/map.module.mjs +1 -1
  199. package/esm2022/lib/map/menu-button/menu-button.component.mjs +1 -1
  200. package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
  201. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +1 -1
  202. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  203. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  204. package/esm2022/lib/map/shared/hover-feature.directive.mjs +1 -1
  205. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +3 -3
  206. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  207. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  208. package/esm2022/lib/map/shared/map.mjs +1 -1
  209. package/esm2022/lib/map/shared/mapOffline.directive.mjs +1 -1
  210. package/esm2022/lib/map/shared/projection.service.mjs +1 -1
  211. package/esm2022/lib/map/shared/projection.utils.mjs +60 -1
  212. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +1 -1
  213. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  214. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +1 -1
  215. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
  216. package/esm2022/lib/measure/index.mjs +1 -1
  217. package/esm2022/lib/measure/measure.module.mjs +1 -1
  218. package/esm2022/lib/measure/measurer/index.mjs +1 -1
  219. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  220. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +3 -3
  221. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  222. package/esm2022/lib/measure/measurer/measurer.component.mjs +3 -3
  223. package/esm2022/lib/measure/measurer/measurer.module.mjs +1 -1
  224. package/esm2022/lib/measure/shared/index.mjs +1 -1
  225. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  226. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  227. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  228. package/esm2022/lib/metadata/index.mjs +1 -1
  229. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  230. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +5 -5
  231. package/esm2022/lib/metadata/metadata.module.mjs +1 -1
  232. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  233. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  234. package/esm2022/lib/metadata/shared/metadata.service.mjs +1 -1
  235. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +1 -1
  236. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  237. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  238. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +1 -1
  239. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  240. package/esm2022/lib/offline/index.mjs +1 -1
  241. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  242. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  243. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +1 -1
  244. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -1
  245. package/esm2022/lib/offline/shared/index.mjs +1 -1
  246. package/esm2022/lib/overlay/index.mjs +1 -1
  247. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  248. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  249. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  250. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  251. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  252. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  253. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  254. package/esm2022/lib/print/index.mjs +1 -1
  255. package/esm2022/lib/print/print/print.component.mjs +3 -3
  256. package/esm2022/lib/print/print-form/index.mjs +1 -1
  257. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  258. package/esm2022/lib/print/print.module.mjs +1 -1
  259. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  260. package/esm2022/lib/print/shared/index.mjs +1 -1
  261. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  262. package/esm2022/lib/print/shared/print.service.mjs +1 -1
  263. package/esm2022/lib/print/shared/print.type.mjs +1 -1
  264. package/esm2022/lib/query/index.mjs +1 -1
  265. package/esm2022/lib/query/query.module.mjs +1 -1
  266. package/esm2022/lib/query/shared/index.mjs +1 -1
  267. package/esm2022/lib/query/shared/query-search-source.mjs +1 -1
  268. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  269. package/esm2022/lib/query/shared/query.directive.mjs +1 -1
  270. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  271. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  272. package/esm2022/lib/query/shared/query.service.mjs +1 -1
  273. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  274. package/esm2022/lib/search/index.mjs +1 -1
  275. package/esm2022/lib/search/search-bar/search-bar.component.mjs +3 -3
  276. package/esm2022/lib/search/search-bar/search-bar.module.mjs +1 -1
  277. package/esm2022/lib/search/search-results/index.mjs +1 -1
  278. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +3 -3
  279. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +3 -3
  280. package/esm2022/lib/search/search-results/search-results-item.component.mjs +3 -3
  281. package/esm2022/lib/search/search-results/search-results.component.mjs +3 -3
  282. package/esm2022/lib/search/search-results/search-results.module.mjs +1 -1
  283. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  284. package/esm2022/lib/search/search-selector/search-selector.module.mjs +1 -1
  285. package/esm2022/lib/search/search-settings/search-settings.component.mjs +3 -3
  286. package/esm2022/lib/search/search-settings/search-settings.module.mjs +1 -1
  287. package/esm2022/lib/search/search.module.mjs +1 -1
  288. package/esm2022/lib/search/shared/index.mjs +1 -1
  289. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
  290. package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
  291. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  292. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  293. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  294. package/esm2022/lib/search/shared/search.service.mjs +1 -1
  295. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  296. package/esm2022/lib/search/shared/sources/cadastre.mjs +1 -1
  297. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  298. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  299. package/esm2022/lib/search/shared/sources/coordinates.mjs +1 -1
  300. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  301. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  302. package/esm2022/lib/search/shared/sources/icherche.mjs +1 -1
  303. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +1 -1
  304. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  305. package/esm2022/lib/search/shared/sources/ilayer.mjs +1 -1
  306. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  307. package/esm2022/lib/search/shared/sources/index.mjs +1 -1
  308. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  309. package/esm2022/lib/search/shared/sources/nominatim.mjs +2 -2
  310. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  311. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  312. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  313. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  314. package/esm2022/lib/search/shared/sources/storedqueries.mjs +1 -1
  315. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  316. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  317. package/esm2022/lib/search/shared/sources/workspace.mjs +1 -1
  318. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  319. package/esm2022/lib/style/index.mjs +1 -1
  320. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  321. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  322. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  323. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  324. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  325. package/esm2022/lib/style/shared/index.mjs +1 -1
  326. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  327. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  328. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  329. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  330. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  331. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  332. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  333. package/esm2022/lib/style/style-list/index.mjs +1 -1
  334. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  335. package/esm2022/lib/style/style-list/style-list.module.mjs +1 -1
  336. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  337. package/esm2022/lib/style/style-list/style-list.service.mjs +1 -1
  338. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  339. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +3 -3
  340. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  341. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  342. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +3 -3
  343. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  344. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
  345. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  346. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  347. package/esm2022/lib/style/style-service/draw-style.service.mjs +1 -1
  348. package/esm2022/lib/style/style-service/index.mjs +1 -1
  349. package/esm2022/lib/style/style-service/style.service.mjs +1 -1
  350. package/esm2022/lib/style/style.module.mjs +1 -1
  351. package/esm2022/lib/toast/index.mjs +1 -1
  352. package/esm2022/lib/toast/toast.component.mjs +3 -3
  353. package/esm2022/lib/toast/toast.module.mjs +1 -1
  354. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  355. package/esm2022/lib/utils/id-generator.mjs +1 -1
  356. package/esm2022/lib/utils/index.mjs +1 -1
  357. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  358. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  359. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  360. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  361. package/esm2022/lib/wkt/index.mjs +1 -1
  362. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  363. package/esm2022/lib/wkt/shared/wkt.service.mjs +15 -15
  364. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  365. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  366. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  367. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  368. package/esm2022/lib/workspace/index.mjs +1 -1
  369. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  370. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +1 -1
  371. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  372. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +1 -1
  373. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  374. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  375. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
  376. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +1 -1
  377. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  378. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  379. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +3 -3
  380. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  381. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  382. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  383. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  384. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  385. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  386. package/esm2022/lib/workspace/workspace.module.mjs +1 -1
  387. package/esm2022/public_api.mjs +1 -1
  388. package/fesm2022/igo2-geo.mjs +183 -176
  389. package/fesm2022/igo2-geo.mjs.map +1 -1
  390. package/lib/import-export/shared/drop-geo-file.directive.d.ts +0 -2
  391. package/lib/map/shared/projection.utils.d.ts +11 -0
  392. package/locale/en.geo.json +818 -818
  393. package/locale/fr.geo.json +819 -819
  394. package/package.json +5 -5
  395. package/src/_index.scss +2 -2
  396. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
  397. package/src/lib/catalog/catalog.theming.scss +5 -5
  398. package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
  399. package/src/lib/directions/directions.theming.scss +6 -6
  400. package/src/lib/draw/draw.theming.scss +32 -32
  401. package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
  402. package/src/lib/feature/feature.theming.scss +4 -4
  403. package/src/lib/measure/measure.theming.scss +5 -5
  404. package/src/lib/measure/measurer/measurer.theming.scss +26 -26
  405. package/src/lib/search/search-bar/search-bar.theming.scss +33 -33
  406. package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
  407. package/src/lib/search/search.theming.scss +7 -7
  408. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  409. package/src/lib/workspace/workspace.theming.scss +6 -6
@@ -54,7 +54,7 @@ export function getDirectParentLayerByProperty(map, layer, property) {
54
54
  }
55
55
  });
56
56
  if (parents.length > 1) {
57
- console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map((p) => p.title || p.id)})
57
+ console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map((p) => p.title || p.id)})
58
58
  , The first parent (${parents[0].title || parents[0].id}) will be use to sync properties`);
59
59
  }
60
60
  return parents[0];
@@ -109,7 +109,7 @@ export function getDirectParentLayerByDeletion(map, layer) {
109
109
  }
110
110
  });
111
111
  if (parents.length > 1) {
112
- console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map((p) => p.title || p.id)})
112
+ console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map((p) => p.title || p.id)})
113
113
  , The first parent (${parents[0].title || parents[0].id}) will be use to sync properties`);
114
114
  }
115
115
  return parents[0];
@@ -245,4 +245,4 @@ export function handleLayerPropertyChange(map, propertyChange, initiatorIgoLayer
245
245
  }
246
246
  }
247
247
  }
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkTGF5ZXJzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9saW5rZWRMYXllcnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU1qQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBS2pFLE9BQU8sRUFBUyxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3BFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFZO0lBQ2pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFZLEVBQUUsRUFBVTtJQUMxRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsS0FBWSxFQUNaLFFBQTBCO0lBRTFCLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELElBQUksY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDM0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQ2hDLENBQUM7UUFDRixtQkFBbUIs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SSxDQUFDO3dCQUNuQixDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLDRCQUE0QixFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdEV2ZW50IH0gZnJvbSAnb2wvT2JqZWN0JztcclxuaW1wb3J0IG9sU291cmNlSW1hZ2VXTVMgZnJvbSAnb2wvc291cmNlL0ltYWdlV01TJztcclxuaW1wb3J0IHsgZ2V0VWlkIH0gZnJvbSAnb2wvdXRpbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcclxuICBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbn0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXInO1xyXG5pbXBvcnQge1xyXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLFxyXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9uc1xyXG59IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMYXllciwgTGlua2VkUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMnO1xyXG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi9zaGFyZWQvbWFwLmFic3RyYWN0JztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rZWRMYXllcnNPcHRpb25zKGxheWVyOiBMYXllcikge1xyXG4gIHJldHVybiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldElnb0xheWVyQnlMaW5rSWQobWFwOiBNYXBCYXNlLCBpZDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIG1hcC5sYXllcnMuZmluZCgobCkgPT4gbC5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkID09PSBpZCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsYXllckhhc0xpbmtXaXRoUHJvcGVydHkoXHJcbiAgbGF5ZXI6IExheWVyLFxyXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXHJcbik6IGJvb2xlYW4ge1xyXG4gIGxldCBoYXNMaW5rV2l0aFByb3BlcnR5ID0gZmFsc2U7XHJcbiAgY29uc3QgbGF5ZXJMTE9wdGlvbnMgPSBnZXRMaW5rZWRMYXllcnNPcHRpb25zKGxheWVyKTtcclxuICBpZiAobGF5ZXJMTE9wdGlvbnM/LmxpbmtzKSB7XHJcbiAgICBjb25zdCBsaW5rID0gbGF5ZXJMTE9wdGlvbnMubGlua3MuZmluZCgobCkgPT5cclxuICAgICAgbC5wcm9wZXJ0aWVzLmluY2x1ZGVzKHByb3BlcnR5KVxyXG4gICAgKTtcclxuICAgIGhhc0xpbmtXaXRoUHJvcGVydHkgPSBsaW5rID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuICByZXR1cm4gaGFzTGlua1dpdGhQcm9wZXJ0eTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxheWVySGFzTGlua0RlbGV0aW9uKGxheWVyOiBMYXllcik6IGJvb2xlYW4ge1xyXG4gIGxldCBoYXNMaW5rV2l0aFN5bmNlZERlbGV0ZSA9IGZhbHNlO1xyXG4gIGNvbnN0IGxheWVyTExPcHRpb25zID0gZ2V0TGlua2VkTGF5ZXJzT3B0aW9ucyhsYXllcik7XHJcbiAgaWYgKGxheWVyTExPcHRpb25zPy5saW5rcykge1xyXG4gICAgY29uc3QgbGluayA9IGxheWVyTExPcHRpb25zLmxpbmtzLmZpbmQoKGwpID0+IGwuc3luY2VkRGVsZXRlKTtcclxuICAgIGhhc0xpbmtXaXRoU3luY2VkRGVsZXRlID0gbGluayA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcbiAgcmV0dXJuIGhhc0xpbmtXaXRoU3luY2VkRGVsZXRlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdFBhcmVudEJ5UHJvcGVydHkoXHJcbiAgbWFwOiBNYXBCYXNlLFxyXG4gIGxheWVyOiBMYXllcixcclxuICBwcm9wZXJ0eTogTGlua2VkUHJvcGVydGllc1xyXG4pOiBMYXllciB7XHJcbiAgbGV0IGxheWVyVG9Vc2UgPSBsYXllcjtcclxuICBsZXQgcGFyZW50TGF5ZXIgPSBsYXllclRvVXNlO1xyXG4gIGxldCBoYXNQYXJlbnRMYXllciA9IHRydWU7XHJcbiAgd2hpbGUgKGhhc1BhcmVudExheWVyKSB7XHJcbiAgICBsYXllclRvVXNlID0gcGFyZW50TGF5ZXI7XHJcbiAgICBwYXJlbnRMYXllciA9IGdldERpcmVjdFBhcmVudExheWVyQnlQcm9wZXJ0eShtYXAsIGxheWVyVG9Vc2UsIHByb3BlcnR5KTtcclxuICAgIGhhc1BhcmVudExheWVyID0gcGFyZW50TGF5ZXIgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG4gIGlmICghaGFzUGFyZW50TGF5ZXIpIHtcclxuICAgIGlmICghbGF5ZXJIYXNMaW5rV2l0aFByb3BlcnR5KGxheWVyVG9Vc2UsIHByb3BlcnR5KSkge1xyXG4gICAgICBsYXllclRvVXNlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gaGFzUGFyZW50TGF5ZXIgPyBwYXJlbnRMYXllciA6IGxheWVyVG9Vc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJlY3RQYXJlbnRMYXllckJ5UHJvcGVydHkoXHJcbiAgbWFwOiBNYXBCYXNlLFxyXG4gIGxheWVyOiBMYXllcixcclxuICBwcm9wZXJ0eTogTGlua2VkUHJvcGVydGllc1xyXG4pOiBMYXllciB7XHJcbiAgaWYgKGxheWVyPy5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkKSB7XHJcbiAgICBjb25zdCBjdXJyZW50TGlua0lkID0gbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua0lkO1xyXG4gICAgbGV0IHBhcmVudHMgPSBtYXAubGF5ZXJzLmZpbHRlcigocGwpID0+IHtcclxuICAgICAgY29uc3QgbGlua2VkTGF5ZXJzID0gcGwub3B0aW9ucy5saW5rZWRMYXllcnM7XHJcbiAgICAgIGlmIChsaW5rZWRMYXllcnMgJiYgbGlua2VkTGF5ZXJzLmxpbmtzKSB7XHJcbiAgICAgICAgY29uc3QgYSA9IGxpbmtlZExheWVycy5saW5rcy5maW5kKFxyXG4gICAgICAgICAgKGwpID0+XHJcbiAgICAgICAgICAgIGwubGlua2VkSWRzLmluY2x1ZGVzKGN1cnJlbnRMaW5rSWQpICYmXHJcbiAgICAgICAgICAgIGwucHJvcGVydGllcy5pbmNsdWRlcyhwcm9wZXJ0eSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBhO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChwYXJlbnRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgY29uc29sZS53YXJuKGBZb3VyIGxheWVyICR7XHJcbiAgICAgICAgbGF5ZXIudGl0bGUgfHwgbGF5ZXIuaWRcclxuICAgICAgfSBtdXN0IG9ubHkgaGF2ZSAxIHBhcmVudCAoJHtwYXJlbnRzLm1hcCgocCkgPT4gcC50aXRsZSB8fCBwLmlkKX0pXHJcbiAgICAgICAgICAgICwgVGhlIGZpcnN0IHBhcmVudCAoJHtcclxuICAgICAgICAgICAgICBwYXJlbnRzWzBdLnRpdGxlIHx8IHBhcmVudHNbMF0uaWRcclxuICAgICAgICAgICAgfSkgd2lsbCBiZSB1c2UgdG8gc3luYyBwcm9wZXJ0aWVzYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyZW50c1swXTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJlY3RDaGlsZExheWVyc0J5UHJvcGVydHkoXHJcbiAgbWFwOiBNYXBCYXNlLFxyXG4gIGxheWVyOiBMYXllcixcclxuICBwcm9wZXJ0eTogTGlua2VkUHJvcGVydGllc1xyXG4pOiBMYXllcltdIHtcclxuICBsZXQgbGlua2VkSWRzID0gW107XHJcbiAgaWYgKGxheWVyPy5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3MpIHtcclxuICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzXHJcbiAgICAgIC5maWx0ZXIoKGwpID0+IGwucHJvcGVydGllcy5pbmNsdWRlcyhwcm9wZXJ0eSkpXHJcbiAgICAgIC5tYXAoKGxpbmspID0+IHtcclxuICAgICAgICBsaW5rZWRJZHMgPSBsaW5rZWRJZHMuY29uY2F0KGxpbmsubGlua2VkSWRzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBsaW5rZWRJZHMubWFwKChsaWQpID0+IGdldElnb0xheWVyQnlMaW5rSWQobWFwLCBsaWQpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbENoaWxkTGF5ZXJzQnlQcm9wZXJ0eShcclxuICBtYXA6IE1hcEJhc2UsXHJcbiAgbGF5ZXI6IExheWVyLFxyXG4gIGtub3duQ2hpbGRMYXllcnM6IExheWVyW10sXHJcbiAgcHJvcGVydHk6IExpbmtlZFByb3BlcnRpZXNcclxuKTogTGF5ZXJbXSB7XHJcbiAgbGV0IGNoaWxkTGF5ZXJzID0gZ2V0RGlyZWN0Q2hpbGRMYXllcnNCeVByb3BlcnR5KG1hcCwgbGF5ZXIsIHByb3BlcnR5KTtcclxuICBjaGlsZExheWVycy5tYXAoKGNsKSA9PiB7XHJcbiAgICBrbm93bkNoaWxkTGF5ZXJzLnB1c2goY2wpO1xyXG4gICAgY29uc3QgZGlyZWN0Q2hpbGRMYXllcnMgPSBnZXREaXJlY3RDaGlsZExheWVyc0J5UHJvcGVydHkobWFwLCBjbCwgcHJvcGVydHkpO1xyXG4gICAgaWYgKGRpcmVjdENoaWxkTGF5ZXJzKSB7XHJcbiAgICAgIGdldEFsbENoaWxkTGF5ZXJzQnlQcm9wZXJ0eShtYXAsIGNsLCBrbm93bkNoaWxkTGF5ZXJzLCBwcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGtub3duQ2hpbGRMYXllcnM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290UGFyZW50QnlEZWxldGlvbihtYXA6IE1hcEJhc2UsIGxheWVyOiBMYXllcik6IExheWVyIHtcclxuICBsZXQgbGF5ZXJUb1VzZSA9IGxheWVyO1xyXG4gIGxldCBwYXJlbnRMYXllciA9IGxheWVyVG9Vc2U7XHJcbiAgbGV0IGhhc1BhcmVudExheWVyID0gdHJ1ZTtcclxuICB3aGlsZSAoaGFzUGFyZW50TGF5ZXIpIHtcclxuICAgIGxheWVyVG9Vc2UgPSBwYXJlbnRMYXllcjtcclxuICAgIHBhcmVudExheWVyID0gZ2V0RGlyZWN0UGFyZW50TGF5ZXJCeURlbGV0aW9uKG1hcCwgbGF5ZXJUb1VzZSk7XHJcbiAgICBoYXNQYXJlbnRMYXllciA9IHBhcmVudExheWVyID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuICBpZiAoIWhhc1BhcmVudExheWVyKSB7XHJcbiAgICBpZiAoIWxheWVySGFzTGlua0RlbGV0aW9uKGxheWVyVG9Vc2UpKSB7XHJcbiAgICAgIGxheWVyVG9Vc2UgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBoYXNQYXJlbnRMYXllciA/IHBhcmVudExheWVyIDogbGF5ZXJUb1VzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERpcmVjdFBhcmVudExheWVyQnlEZWxldGlvbihcclxuICBtYXA6IE1hcEJhc2UsXHJcbiAgbGF5ZXI6IExheWVyXHJcbik6IExheWVyIHtcclxuICBpZiAobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtJZCkge1xyXG4gICAgY29uc3QgY3VycmVudExpbmtJZCA9IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZDtcclxuICAgIGxldCBwYXJlbnRzID0gbWFwLmxheWVycy5maWx0ZXIoKHBsKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHBsLm9wdGlvbnMubGlua2VkTGF5ZXJzO1xyXG4gICAgICBpZiAobGlua2VkTGF5ZXJzICYmIGxpbmtlZExheWVycy5saW5rcykge1xyXG4gICAgICAgIGNvbnN0IGEgPSBsaW5rZWRMYXllcnMubGlua3MuZmluZChcclxuICAgICAgICAgIChsKSA9PiBsLmxpbmtlZElkcy5pbmNsdWRlcyhjdXJyZW50TGlua0lkKSAmJiBsLnN5bmNlZERlbGV0ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHBhcmVudHMubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oYFlvdXIgbGF5ZXIgJHtcclxuICAgICAgICBsYXllci50aXRsZSB8fCBsYXllci5pZFxyXG4gICAgICB9IG11c3Qgb25seSBoYXZlIDEgcGFyZW50ICgke3BhcmVudHMubWFwKChwKSA9PiBwLnRpdGxlIHx8IHAuaWQpfSlcclxuICAgICAgICAgICwgVGhlIGZpcnN0IHBhcmVudCAoJHtcclxuICAgICAgICAgICAgcGFyZW50c1swXS50aXRsZSB8fCBwYXJlbnRzWzBdLmlkXHJcbiAgICAgICAgICB9KSB3aWxsIGJlIHVzZSB0byBzeW5jIHByb3BlcnRpZXNgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJlbnRzWzBdO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERpcmVjdENoaWxkTGF5ZXJzQnlEZWxldGlvbihcclxuICBtYXA6IE1hcEJhc2UsXHJcbiAgbGF5ZXI6IExheWVyXHJcbik6IExheWVyW10ge1xyXG4gIGxldCBsaW5rZWRJZHMgPSBbXTtcclxuICBpZiAobGF5ZXI/Lm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rcykge1xyXG4gICAgbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3NcclxuICAgICAgLmZpbHRlcigobCkgPT4gbC5zeW5jZWREZWxldGUpXHJcbiAgICAgIC5tYXAoKGxpbmspID0+IHtcclxuICAgICAgICBsaW5rZWRJZHMgPSBsaW5rZWRJZHMuY29uY2F0KGxpbmsubGlua2VkSWRzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBsaW5rZWRJZHMubWFwKChsaWQpID0+IGdldElnb0xheWVyQnlMaW5rSWQobWFwLCBsaWQpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbihcclxuICBtYXA6IE1hcEJhc2UsXHJcbiAgbGF5ZXI6IExheWVyLFxyXG4gIGtub3duQ2hpbGRMYXllcnM6IExheWVyW11cclxuKTogTGF5ZXJbXSB7XHJcbiAgbGV0IGNoaWxkTGF5ZXJzID0gZ2V0RGlyZWN0Q2hpbGRMYXllcnNCeURlbGV0aW9uKG1hcCwgbGF5ZXIpO1xyXG4gIGNoaWxkTGF5ZXJzLm1hcCgoY2wpID0+IHtcclxuICAgIGtub3duQ2hpbGRMYXllcnMucHVzaChjbCk7XHJcbiAgICBjb25zdCBkaXJlY3RDaGlsZExheWVycyA9IGdldERpcmVjdENoaWxkTGF5ZXJzQnlEZWxldGlvbihtYXAsIGNsKTtcclxuICAgIGlmIChkaXJlY3RDaGlsZExheWVycykge1xyXG4gICAgICBnZXRBbGxDaGlsZExheWVyc0J5RGVsZXRpb24obWFwLCBjbCwga25vd25DaGlsZExheWVycyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGtub3duQ2hpbGRMYXllcnM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0TGF5ZXJTeW5jRnJvbVJvb3RQYXJlbnRMYXllcnMoXHJcbiAgbWFwOiBNYXBCYXNlLFxyXG4gIGxheWVyczogTGF5ZXJbXVxyXG4pIHtcclxuICBjb25zdCByb290TGF5ZXJzQnlQcm9wZXJ0eSA9IHt9O1xyXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhMaW5rZWRQcm9wZXJ0aWVzKTtcclxuICBrZXlzLm1hcCgoaykgPT4ge1xyXG4gICAgcm9vdExheWVyc0J5UHJvcGVydHlbTGlua2VkUHJvcGVydGllc1trXV0gPSBbXTtcclxuICB9KTtcclxuICBsYXllcnNcclxuICAgIC5maWx0ZXIoKGwpID0+IGdldExpbmtlZExheWVyc09wdGlvbnMobCkpXHJcbiAgICAubWFwKChsKSA9PiB7XHJcbiAgICAgIGtleXMubWFwKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBrID0gTGlua2VkUHJvcGVydGllc1trZXldO1xyXG4gICAgICAgIGNvbnN0IHBsYnAgPSBnZXRSb290UGFyZW50QnlQcm9wZXJ0eShtYXAsIGwsIGsgYXMgTGlua2VkUHJvcGVydGllcyk7XHJcbiAgICAgICAgY29uc3QgbGF5ZXJzID0gcm9vdExheWVyc0J5UHJvcGVydHlba107XHJcbiAgICAgICAgY29uc3QgbGF5ZXJzSWQgPSBsYXllcnMubWFwKChsKSA9PiBsLmlkKTtcclxuICAgICAgICBpZiAocGxicCAmJiAhbGF5ZXJzSWQuaW5jbHVkZXMocGxicC5pZCkpIHtcclxuICAgICAgICAgIHJvb3RMYXllcnNCeVByb3BlcnR5W2tdLnB1c2gocGxicCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIE9iamVjdC5rZXlzKHJvb3RMYXllcnNCeVByb3BlcnR5KS5tYXAoKGspID0+IHtcclxuICAgIGNvbnN0IGxheWVycyA9IHJvb3RMYXllcnNCeVByb3BlcnR5W2tdO1xyXG4gICAgbGF5ZXJzLm1hcCgobDogTGF5ZXIpID0+IGwub2wubm90aWZ5KGssIHVuZGVmaW5lZCkpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTGF5ZXJQcm9wZXJ0eUNoYW5nZShcclxuICBtYXA6IE1hcEJhc2UsXHJcbiAgcHJvcGVydHlDaGFuZ2U6IE9iamVjdEV2ZW50LFxyXG4gIGluaXRpYXRvcklnb0xheWVyOiBMYXllclxyXG4pIHtcclxuICBpZiAoIXByb3BlcnR5Q2hhbmdlKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcclxuICBsZXQgaXNMYXllclByb3BlcnR5ID0gdHJ1ZTtcclxuICBsZXQgaXNEYXRhc291cmNlUHJvcGVydHkgPSB0cnVlO1xyXG4gIGNvbnN0IGtleSA9IHByb3BlcnR5Q2hhbmdlLmtleTtcclxuICBsZXQgbmV3VmFsdWU7XHJcbiAgaWYgKGtleSA9PT0gJ29nY0ZpbHRlcnMnKSB7XHJcbiAgICBpc0xheWVyUHJvcGVydHkgPSBmYWxzZTtcclxuICAgIGlzRGF0YXNvdXJjZVByb3BlcnR5ID0gdHJ1ZTtcclxuICAgIG5ld1ZhbHVlID0gKFxyXG4gICAgICBpbml0aWF0b3JJZ29MYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbiAgICApLm9nY0ZpbHRlcnM7XHJcbiAgfSBlbHNlIGlmIChrZXkgPT09ICd0aW1lRmlsdGVyJykge1xyXG4gICAgaXNMYXllclByb3BlcnR5ID0gZmFsc2U7XHJcbiAgICBpc0RhdGFzb3VyY2VQcm9wZXJ0eSA9IHRydWU7XHJcbiAgICBuZXdWYWx1ZSA9IChcclxuICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnNcclxuICAgICkudGltZUZpbHRlcjtcclxuICB9IGVsc2Uge1xyXG4gICAgaXNMYXllclByb3BlcnR5ID0gdHJ1ZTtcclxuICAgIGlzRGF0YXNvdXJjZVByb3BlcnR5ID0gZmFsc2U7XHJcbiAgICBuZXdWYWx1ZSA9IGluaXRpYXRvcklnb0xheWVyLm9sLmdldChrZXkpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgaW5pdGlhdG9yTGlua2VkTGF5ZXJzT3B0aW9ucyA9XHJcbiAgICBnZXRMaW5rZWRMYXllcnNPcHRpb25zKGluaXRpYXRvcklnb0xheWVyKTtcclxuICBpZiAoaW5pdGlhdG9yTGlua2VkTGF5ZXJzT3B0aW9ucykge1xyXG4gICAgbGV0IHJvb3RQYXJlbnRCeVByb3BlcnR5ID0gZ2V0Um9vdFBhcmVudEJ5UHJvcGVydHkoXHJcbiAgICAgIG1hcCxcclxuICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIsXHJcbiAgICAgIGtleSBhcyBMaW5rZWRQcm9wZXJ0aWVzXHJcbiAgICApO1xyXG4gICAgaWYgKCFyb290UGFyZW50QnlQcm9wZXJ0eSkge1xyXG4gICAgICByb290UGFyZW50QnlQcm9wZXJ0eSA9IGluaXRpYXRvcklnb0xheWVyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNsYnAgPSBbcm9vdFBhcmVudEJ5UHJvcGVydHldO1xyXG4gICAgZ2V0QWxsQ2hpbGRMYXllcnNCeVByb3BlcnR5KFxyXG4gICAgICBtYXAsXHJcbiAgICAgIHJvb3RQYXJlbnRCeVByb3BlcnR5LFxyXG4gICAgICBjbGJwLFxyXG4gICAgICBrZXkgYXMgTGlua2VkUHJvcGVydGllc1xyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgcmVzb2x1dGlvblByb3BlcnR5SGFzQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgaW5pdGlhdG9ySWdvTGF5ZXJTb3VyY2VUeXBlID1cclxuICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIub3B0aW9ucy5zb3VyY2Uub3B0aW9ucy50eXBlO1xyXG4gICAgY29uc3QgaW5pdGlhdG9ySWdvTGF5ZXJPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSBpbml0aWF0b3JJZ29MYXllclxyXG4gICAgICAuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcclxuICAgIGNsYnAubWFwKChsKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBpbml0aWF0b3JJZ29MYXllciAmJlxyXG4gICAgICAgIGwgJiZcclxuICAgICAgICBnZXRVaWQoaW5pdGlhdG9ySWdvTGF5ZXIub2wpICE9PSBnZXRVaWQobD8ub2wpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IGxMYXllclR5cGUgPSBsLm9wdGlvbnMuc291cmNlLm9wdGlvbnMudHlwZTtcclxuICAgICAgICBpZiAoaXNMYXllclByb3BlcnR5KSB7XHJcbiAgICAgICAgICBsLm9sLnNldChrZXksIG5ld1ZhbHVlLCB0cnVlKTtcclxuICAgICAgICAgIGlmIChrZXkgPT09ICd2aXNpYmxlJykge1xyXG4gICAgICAgICAgICBsLnZpc2libGUkLm5leHQobmV3VmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGtleSA9PT0gJ21pblJlc29sdXRpb24nIHx8IGtleSA9PT0gJ21heFJlc29sdXRpb24nKSB7XHJcbiAgICAgICAgICAgIHJlc29sdXRpb25Qcm9wZXJ0eUhhc0NoYW5nZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoaXNEYXRhc291cmNlUHJvcGVydHkpIHtcclxuICAgICAgICAgIGlmIChrZXkgPT09ICdvZ2NGaWx0ZXJzJykge1xyXG4gICAgICAgICAgICAobC5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRPZ2NGaWx0ZXJzKFxyXG4gICAgICAgICAgICAgIG5ld1ZhbHVlLFxyXG4gICAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChsTGF5ZXJUeXBlID09PSAnd2ZzJykge1xyXG4gICAgICAgICAgICAgIGwub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChsTGF5ZXJUeXBlID09PSAnd21zJykge1xyXG4gICAgICAgICAgICAgIGxldCBhcHBsaWVkT2djRmlsdGVyO1xyXG4gICAgICAgICAgICAgIGlmIChpbml0aWF0b3JJZ29MYXllclNvdXJjZVR5cGUgPT09ICd3ZnMnKSB7XHJcbiAgICAgICAgICAgICAgICBhcHBsaWVkT2djRmlsdGVyID0gb2djRmlsdGVyV3JpdGVyLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXHJcbiAgICAgICAgICAgICAgICAgIGluaXRpYXRvcklnb0xheWVyT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgICAoaW5pdGlhdG9ySWdvTGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSlcclxuICAgICAgICAgICAgICAgICAgICAuZmllbGROYW1lR2VvbWV0cnksXHJcbiAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgbWFwLnZpZXdDb250cm9sbGVyLmdldE9sUHJvamVjdGlvbigpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdGlhdG9ySWdvTGF5ZXJTb3VyY2VUeXBlID09PSAnd21zJykge1xyXG4gICAgICAgICAgICAgICAgYXBwbGllZE9nY0ZpbHRlciA9IChcclxuICAgICAgICAgICAgICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIuZGF0YVNvdXJjZSBhcyBXTVNEYXRhU291cmNlXHJcbiAgICAgICAgICAgICAgICApLm9sLmdldFBhcmFtcygpLkZJTFRFUjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgKGwuZGF0YVNvdXJjZSBhcyBXTVNEYXRhU291cmNlKS5vbC51cGRhdGVQYXJhbXMoe1xyXG4gICAgICAgICAgICAgICAgRklMVEVSOiBhcHBsaWVkT2djRmlsdGVyXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICAgIGwuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIFdNU0RhdGFTb3VyY2UgJiZcclxuICAgICAgICAgICAga2V5ID09PSAndGltZUZpbHRlcidcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAobC5kYXRhU291cmNlIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSkuc2V0VGltZUZpbHRlcihcclxuICAgICAgICAgICAgICBuZXdWYWx1ZSxcclxuICAgICAgICAgICAgICBmYWxzZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBhcHBsaWVkVGltZUZpbHRlciA9IChcclxuICAgICAgICAgICAgICBpbml0aWF0b3JJZ29MYXllci5vbC5nZXRTb3VyY2UoKSBhcyBvbFNvdXJjZUltYWdlV01TXHJcbiAgICAgICAgICAgICkuZ2V0UGFyYW1zKCkuVElNRTtcclxuICAgICAgICAgICAgbC5kYXRhU291cmNlLm9sLnVwZGF0ZVBhcmFtcyh7IFRJTUU6IGFwcGxpZWRUaW1lRmlsdGVyIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAocmVzb2x1dGlvblByb3BlcnR5SGFzQ2hhbmdlZCkge1xyXG4gICAgICBtYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQubmV4dChtYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkTGF5ZXJzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9saW5rZWRMYXllcnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU1qQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBS2pFLE9BQU8sRUFBUyxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3BFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFZO0lBQ2pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFZLEVBQUUsRUFBVTtJQUMxRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsS0FBWSxFQUNaLFFBQTBCO0lBRTFCLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELElBQUksY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDM0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQ2hDLENBQUM7UUFDRixtQkFBbUIs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SSxDQUFDO3dCQUNuQixDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLDRCQUE0QixFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdEV2ZW50IH0gZnJvbSAnb2wvT2JqZWN0JztcbmltcG9ydCBvbFNvdXJjZUltYWdlV01TIGZyb20gJ29sL3NvdXJjZS9JbWFnZVdNUyc7XG5pbXBvcnQgeyBnZXRVaWQgfSBmcm9tICdvbC91dGlsJztcblxuaW1wb3J0IHtcbiAgVGltZUZpbHRlcmFibGVEYXRhU291cmNlLFxuICBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXInO1xuaW1wb3J0IHtcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9uc1xufSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExheWVyLCBMaW5rZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycyc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi9zaGFyZWQvbWFwLmFic3RyYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtlZExheWVyc09wdGlvbnMobGF5ZXI6IExheWVyKSB7XG4gIHJldHVybiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElnb0xheWVyQnlMaW5rSWQobWFwOiBNYXBCYXNlLCBpZDogc3RyaW5nKSB7XG4gIHJldHVybiBtYXAubGF5ZXJzLmZpbmQoKGwpID0+IGwub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtJZCA9PT0gaWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGF5ZXJIYXNMaW5rV2l0aFByb3BlcnR5KFxuICBsYXllcjogTGF5ZXIsXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBib29sZWFuIHtcbiAgbGV0IGhhc0xpbmtXaXRoUHJvcGVydHkgPSBmYWxzZTtcbiAgY29uc3QgbGF5ZXJMTE9wdGlvbnMgPSBnZXRMaW5rZWRMYXllcnNPcHRpb25zKGxheWVyKTtcbiAgaWYgKGxheWVyTExPcHRpb25zPy5saW5rcykge1xuICAgIGNvbnN0IGxpbmsgPSBsYXllckxMT3B0aW9ucy5saW5rcy5maW5kKChsKSA9PlxuICAgICAgbC5wcm9wZXJ0aWVzLmluY2x1ZGVzKHByb3BlcnR5KVxuICAgICk7XG4gICAgaGFzTGlua1dpdGhQcm9wZXJ0eSA9IGxpbmsgPyB0cnVlIDogZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGhhc0xpbmtXaXRoUHJvcGVydHk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYXllckhhc0xpbmtEZWxldGlvbihsYXllcjogTGF5ZXIpOiBib29sZWFuIHtcbiAgbGV0IGhhc0xpbmtXaXRoU3luY2VkRGVsZXRlID0gZmFsc2U7XG4gIGNvbnN0IGxheWVyTExPcHRpb25zID0gZ2V0TGlua2VkTGF5ZXJzT3B0aW9ucyhsYXllcik7XG4gIGlmIChsYXllckxMT3B0aW9ucz8ubGlua3MpIHtcbiAgICBjb25zdCBsaW5rID0gbGF5ZXJMTE9wdGlvbnMubGlua3MuZmluZCgobCkgPT4gbC5zeW5jZWREZWxldGUpO1xuICAgIGhhc0xpbmtXaXRoU3luY2VkRGVsZXRlID0gbGluayA/IHRydWUgOiBmYWxzZTtcbiAgfVxuICByZXR1cm4gaGFzTGlua1dpdGhTeW5jZWREZWxldGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290UGFyZW50QnlQcm9wZXJ0eShcbiAgbWFwOiBNYXBCYXNlLFxuICBsYXllcjogTGF5ZXIsXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBMYXllciB7XG4gIGxldCBsYXllclRvVXNlID0gbGF5ZXI7XG4gIGxldCBwYXJlbnRMYXllciA9IGxheWVyVG9Vc2U7XG4gIGxldCBoYXNQYXJlbnRMYXllciA9IHRydWU7XG4gIHdoaWxlIChoYXNQYXJlbnRMYXllcikge1xuICAgIGxheWVyVG9Vc2UgPSBwYXJlbnRMYXllcjtcbiAgICBwYXJlbnRMYXllciA9IGdldERpcmVjdFBhcmVudExheWVyQnlQcm9wZXJ0eShtYXAsIGxheWVyVG9Vc2UsIHByb3BlcnR5KTtcbiAgICBoYXNQYXJlbnRMYXllciA9IHBhcmVudExheWVyID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG4gIGlmICghaGFzUGFyZW50TGF5ZXIpIHtcbiAgICBpZiAoIWxheWVySGFzTGlua1dpdGhQcm9wZXJ0eShsYXllclRvVXNlLCBwcm9wZXJ0eSkpIHtcbiAgICAgIGxheWVyVG9Vc2UgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBoYXNQYXJlbnRMYXllciA/IHBhcmVudExheWVyIDogbGF5ZXJUb1VzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERpcmVjdFBhcmVudExheWVyQnlQcm9wZXJ0eShcbiAgbWFwOiBNYXBCYXNlLFxuICBsYXllcjogTGF5ZXIsXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBMYXllciB7XG4gIGlmIChsYXllcj8ub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtJZCkge1xuICAgIGNvbnN0IGN1cnJlbnRMaW5rSWQgPSBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWQ7XG4gICAgbGV0IHBhcmVudHMgPSBtYXAubGF5ZXJzLmZpbHRlcigocGwpID0+IHtcbiAgICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHBsLm9wdGlvbnMubGlua2VkTGF5ZXJzO1xuICAgICAgaWYgKGxpbmtlZExheWVycyAmJiBsaW5rZWRMYXllcnMubGlua3MpIHtcbiAgICAgICAgY29uc3QgYSA9IGxpbmtlZExheWVycy5saW5rcy5maW5kKFxuICAgICAgICAgIChsKSA9PlxuICAgICAgICAgICAgbC5saW5rZWRJZHMuaW5jbHVkZXMoY3VycmVudExpbmtJZCkgJiZcbiAgICAgICAgICAgIGwucHJvcGVydGllcy5pbmNsdWRlcyhwcm9wZXJ0eSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHBhcmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc29sZS53YXJuKGBZb3VyIGxheWVyICR7XG4gICAgICAgIGxheWVyLnRpdGxlIHx8IGxheWVyLmlkXG4gICAgICB9IG11c3Qgb25seSBoYXZlIDEgcGFyZW50ICgke3BhcmVudHMubWFwKChwKSA9PiBwLnRpdGxlIHx8IHAuaWQpfSlcbiAgICAgICAgICAgICwgVGhlIGZpcnN0IHBhcmVudCAoJHtcbiAgICAgICAgICAgICAgcGFyZW50c1swXS50aXRsZSB8fCBwYXJlbnRzWzBdLmlkXG4gICAgICAgICAgICB9KSB3aWxsIGJlIHVzZSB0byBzeW5jIHByb3BlcnRpZXNgKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmVudHNbMF07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERpcmVjdENoaWxkTGF5ZXJzQnlQcm9wZXJ0eShcbiAgbWFwOiBNYXBCYXNlLFxuICBsYXllcjogTGF5ZXIsXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBMYXllcltdIHtcbiAgbGV0IGxpbmtlZElkcyA9IFtdO1xuICBpZiAobGF5ZXI/Lm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rcykge1xuICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzXG4gICAgICAuZmlsdGVyKChsKSA9PiBsLnByb3BlcnRpZXMuaW5jbHVkZXMocHJvcGVydHkpKVxuICAgICAgLm1hcCgobGluaykgPT4ge1xuICAgICAgICBsaW5rZWRJZHMgPSBsaW5rZWRJZHMuY29uY2F0KGxpbmsubGlua2VkSWRzKTtcbiAgICAgIH0pO1xuICB9XG4gIHJldHVybiBsaW5rZWRJZHMubWFwKChsaWQpID0+IGdldElnb0xheWVyQnlMaW5rSWQobWFwLCBsaWQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbENoaWxkTGF5ZXJzQnlQcm9wZXJ0eShcbiAgbWFwOiBNYXBCYXNlLFxuICBsYXllcjogTGF5ZXIsXG4gIGtub3duQ2hpbGRMYXllcnM6IExheWVyW10sXG4gIHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBMYXllcltdIHtcbiAgbGV0IGNoaWxkTGF5ZXJzID0gZ2V0RGlyZWN0Q2hpbGRMYXllcnNCeVByb3BlcnR5KG1hcCwgbGF5ZXIsIHByb3BlcnR5KTtcbiAgY2hpbGRMYXllcnMubWFwKChjbCkgPT4ge1xuICAgIGtub3duQ2hpbGRMYXllcnMucHVzaChjbCk7XG4gICAgY29uc3QgZGlyZWN0Q2hpbGRMYXllcnMgPSBnZXREaXJlY3RDaGlsZExheWVyc0J5UHJvcGVydHkobWFwLCBjbCwgcHJvcGVydHkpO1xuICAgIGlmIChkaXJlY3RDaGlsZExheWVycykge1xuICAgICAgZ2V0QWxsQ2hpbGRMYXllcnNCeVByb3BlcnR5KG1hcCwgY2wsIGtub3duQ2hpbGRMYXllcnMsIHByb3BlcnR5KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ga25vd25DaGlsZExheWVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RQYXJlbnRCeURlbGV0aW9uKG1hcDogTWFwQmFzZSwgbGF5ZXI6IExheWVyKTogTGF5ZXIge1xuICBsZXQgbGF5ZXJUb1VzZSA9IGxheWVyO1xuICBsZXQgcGFyZW50TGF5ZXIgPSBsYXllclRvVXNlO1xuICBsZXQgaGFzUGFyZW50TGF5ZXIgPSB0cnVlO1xuICB3aGlsZSAoaGFzUGFyZW50TGF5ZXIpIHtcbiAgICBsYXllclRvVXNlID0gcGFyZW50TGF5ZXI7XG4gICAgcGFyZW50TGF5ZXIgPSBnZXREaXJlY3RQYXJlbnRMYXllckJ5RGVsZXRpb24obWFwLCBsYXllclRvVXNlKTtcbiAgICBoYXNQYXJlbnRMYXllciA9IHBhcmVudExheWVyID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG4gIGlmICghaGFzUGFyZW50TGF5ZXIpIHtcbiAgICBpZiAoIWxheWVySGFzTGlua0RlbGV0aW9uKGxheWVyVG9Vc2UpKSB7XG4gICAgICBsYXllclRvVXNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaGFzUGFyZW50TGF5ZXIgPyBwYXJlbnRMYXllciA6IGxheWVyVG9Vc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJlY3RQYXJlbnRMYXllckJ5RGVsZXRpb24oXG4gIG1hcDogTWFwQmFzZSxcbiAgbGF5ZXI6IExheWVyXG4pOiBMYXllciB7XG4gIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkKSB7XG4gICAgY29uc3QgY3VycmVudExpbmtJZCA9IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZDtcbiAgICBsZXQgcGFyZW50cyA9IG1hcC5sYXllcnMuZmlsdGVyKChwbCkgPT4ge1xuICAgICAgY29uc3QgbGlua2VkTGF5ZXJzID0gcGwub3B0aW9ucy5saW5rZWRMYXllcnM7XG4gICAgICBpZiAobGlua2VkTGF5ZXJzICYmIGxpbmtlZExheWVycy5saW5rcykge1xuICAgICAgICBjb25zdCBhID0gbGlua2VkTGF5ZXJzLmxpbmtzLmZpbmQoXG4gICAgICAgICAgKGwpID0+IGwubGlua2VkSWRzLmluY2x1ZGVzKGN1cnJlbnRMaW5rSWQpICYmIGwuc3luY2VkRGVsZXRlXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChwYXJlbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihgWW91ciBsYXllciAke1xuICAgICAgICBsYXllci50aXRsZSB8fCBsYXllci5pZFxuICAgICAgfSBtdXN0IG9ubHkgaGF2ZSAxIHBhcmVudCAoJHtwYXJlbnRzLm1hcCgocCkgPT4gcC50aXRsZSB8fCBwLmlkKX0pXG4gICAgICAgICAgLCBUaGUgZmlyc3QgcGFyZW50ICgke1xuICAgICAgICAgICAgcGFyZW50c1swXS50aXRsZSB8fCBwYXJlbnRzWzBdLmlkXG4gICAgICAgICAgfSkgd2lsbCBiZSB1c2UgdG8gc3luYyBwcm9wZXJ0aWVzYCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJlbnRzWzBdO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXJlY3RDaGlsZExheWVyc0J5RGVsZXRpb24oXG4gIG1hcDogTWFwQmFzZSxcbiAgbGF5ZXI6IExheWVyXG4pOiBMYXllcltdIHtcbiAgbGV0IGxpbmtlZElkcyA9IFtdO1xuICBpZiAobGF5ZXI/Lm9wdGlvbnMubGlua2VkTGF5ZXJzPy5saW5rcykge1xuICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzXG4gICAgICAuZmlsdGVyKChsKSA9PiBsLnN5bmNlZERlbGV0ZSlcbiAgICAgIC5tYXAoKGxpbmspID0+IHtcbiAgICAgICAgbGlua2VkSWRzID0gbGlua2VkSWRzLmNvbmNhdChsaW5rLmxpbmtlZElkcyk7XG4gICAgICB9KTtcbiAgfVxuICByZXR1cm4gbGlua2VkSWRzLm1hcCgobGlkKSA9PiBnZXRJZ29MYXllckJ5TGlua0lkKG1hcCwgbGlkKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxDaGlsZExheWVyc0J5RGVsZXRpb24oXG4gIG1hcDogTWFwQmFzZSxcbiAgbGF5ZXI6IExheWVyLFxuICBrbm93bkNoaWxkTGF5ZXJzOiBMYXllcltdXG4pOiBMYXllcltdIHtcbiAgbGV0IGNoaWxkTGF5ZXJzID0gZ2V0RGlyZWN0Q2hpbGRMYXllcnNCeURlbGV0aW9uKG1hcCwgbGF5ZXIpO1xuICBjaGlsZExheWVycy5tYXAoKGNsKSA9PiB7XG4gICAga25vd25DaGlsZExheWVycy5wdXNoKGNsKTtcbiAgICBjb25zdCBkaXJlY3RDaGlsZExheWVycyA9IGdldERpcmVjdENoaWxkTGF5ZXJzQnlEZWxldGlvbihtYXAsIGNsKTtcbiAgICBpZiAoZGlyZWN0Q2hpbGRMYXllcnMpIHtcbiAgICAgIGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbihtYXAsIGNsLCBrbm93bkNoaWxkTGF5ZXJzKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ga25vd25DaGlsZExheWVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRMYXllclN5bmNGcm9tUm9vdFBhcmVudExheWVycyhcbiAgbWFwOiBNYXBCYXNlLFxuICBsYXllcnM6IExheWVyW11cbikge1xuICBjb25zdCByb290TGF5ZXJzQnlQcm9wZXJ0eSA9IHt9O1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoTGlua2VkUHJvcGVydGllcyk7XG4gIGtleXMubWFwKChrKSA9PiB7XG4gICAgcm9vdExheWVyc0J5UHJvcGVydHlbTGlua2VkUHJvcGVydGllc1trXV0gPSBbXTtcbiAgfSk7XG4gIGxheWVyc1xuICAgIC5maWx0ZXIoKGwpID0+IGdldExpbmtlZExheWVyc09wdGlvbnMobCkpXG4gICAgLm1hcCgobCkgPT4ge1xuICAgICAga2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBrID0gTGlua2VkUHJvcGVydGllc1trZXldO1xuICAgICAgICBjb25zdCBwbGJwID0gZ2V0Um9vdFBhcmVudEJ5UHJvcGVydHkobWFwLCBsLCBrIGFzIExpbmtlZFByb3BlcnRpZXMpO1xuICAgICAgICBjb25zdCBsYXllcnMgPSByb290TGF5ZXJzQnlQcm9wZXJ0eVtrXTtcbiAgICAgICAgY29uc3QgbGF5ZXJzSWQgPSBsYXllcnMubWFwKChsKSA9PiBsLmlkKTtcbiAgICAgICAgaWYgKHBsYnAgJiYgIWxheWVyc0lkLmluY2x1ZGVzKHBsYnAuaWQpKSB7XG4gICAgICAgICAgcm9vdExheWVyc0J5UHJvcGVydHlba10ucHVzaChwbGJwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIE9iamVjdC5rZXlzKHJvb3RMYXllcnNCeVByb3BlcnR5KS5tYXAoKGspID0+IHtcbiAgICBjb25zdCBsYXllcnMgPSByb290TGF5ZXJzQnlQcm9wZXJ0eVtrXTtcbiAgICBsYXllcnMubWFwKChsOiBMYXllcikgPT4gbC5vbC5ub3RpZnkoaywgdW5kZWZpbmVkKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTGF5ZXJQcm9wZXJ0eUNoYW5nZShcbiAgbWFwOiBNYXBCYXNlLFxuICBwcm9wZXJ0eUNoYW5nZTogT2JqZWN0RXZlbnQsXG4gIGluaXRpYXRvcklnb0xheWVyOiBMYXllclxuKSB7XG4gIGlmICghcHJvcGVydHlDaGFuZ2UpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3Qgb2djRmlsdGVyV3JpdGVyID0gbmV3IE9nY0ZpbHRlcldyaXRlcigpO1xuICBsZXQgaXNMYXllclByb3BlcnR5ID0gdHJ1ZTtcbiAgbGV0IGlzRGF0YXNvdXJjZVByb3BlcnR5ID0gdHJ1ZTtcbiAgY29uc3Qga2V5ID0gcHJvcGVydHlDaGFuZ2Uua2V5O1xuICBsZXQgbmV3VmFsdWU7XG4gIGlmIChrZXkgPT09ICdvZ2NGaWx0ZXJzJykge1xuICAgIGlzTGF5ZXJQcm9wZXJ0eSA9IGZhbHNlO1xuICAgIGlzRGF0YXNvdXJjZVByb3BlcnR5ID0gdHJ1ZTtcbiAgICBuZXdWYWx1ZSA9IChcbiAgICAgIGluaXRpYXRvcklnb0xheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICApLm9nY0ZpbHRlcnM7XG4gIH0gZWxzZSBpZiAoa2V5ID09PSAndGltZUZpbHRlcicpIHtcbiAgICBpc0xheWVyUHJvcGVydHkgPSBmYWxzZTtcbiAgICBpc0RhdGFzb3VyY2VQcm9wZXJ0eSA9IHRydWU7XG4gICAgbmV3VmFsdWUgPSAoXG4gICAgICBpbml0aWF0b3JJZ29MYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9uc1xuICAgICkudGltZUZpbHRlcjtcbiAgfSBlbHNlIHtcbiAgICBpc0xheWVyUHJvcGVydHkgPSB0cnVlO1xuICAgIGlzRGF0YXNvdXJjZVByb3BlcnR5ID0gZmFsc2U7XG4gICAgbmV3VmFsdWUgPSBpbml0aWF0b3JJZ29MYXllci5vbC5nZXQoa2V5KTtcbiAgfVxuXG4gIGNvbnN0IGluaXRpYXRvckxpbmtlZExheWVyc09wdGlvbnMgPVxuICAgIGdldExpbmtlZExheWVyc09wdGlvbnMoaW5pdGlhdG9ySWdvTGF5ZXIpO1xuICBpZiAoaW5pdGlhdG9yTGlua2VkTGF5ZXJzT3B0aW9ucykge1xuICAgIGxldCByb290UGFyZW50QnlQcm9wZXJ0eSA9IGdldFJvb3RQYXJlbnRCeVByb3BlcnR5KFxuICAgICAgbWFwLFxuICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIsXG4gICAgICBrZXkgYXMgTGlua2VkUHJvcGVydGllc1xuICAgICk7XG4gICAgaWYgKCFyb290UGFyZW50QnlQcm9wZXJ0eSkge1xuICAgICAgcm9vdFBhcmVudEJ5UHJvcGVydHkgPSBpbml0aWF0b3JJZ29MYXllcjtcbiAgICB9XG5cbiAgICBjb25zdCBjbGJwID0gW3Jvb3RQYXJlbnRCeVByb3BlcnR5XTtcbiAgICBnZXRBbGxDaGlsZExheWVyc0J5UHJvcGVydHkoXG4gICAgICBtYXAsXG4gICAgICByb290UGFyZW50QnlQcm9wZXJ0eSxcbiAgICAgIGNsYnAsXG4gICAgICBrZXkgYXMgTGlua2VkUHJvcGVydGllc1xuICAgICk7XG5cbiAgICBsZXQgcmVzb2x1dGlvblByb3BlcnR5SGFzQ2hhbmdlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGluaXRpYXRvcklnb0xheWVyU291cmNlVHlwZSA9XG4gICAgICBpbml0aWF0b3JJZ29MYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zLnR5cGU7XG4gICAgY29uc3QgaW5pdGlhdG9ySWdvTGF5ZXJPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSBpbml0aWF0b3JJZ29MYXllclxuICAgICAgLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnM7XG4gICAgY2xicC5tYXAoKGwpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgaW5pdGlhdG9ySWdvTGF5ZXIgJiZcbiAgICAgICAgbCAmJlxuICAgICAgICBnZXRVaWQoaW5pdGlhdG9ySWdvTGF5ZXIub2wpICE9PSBnZXRVaWQobD8ub2wpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbExheWVyVHlwZSA9IGwub3B0aW9ucy5zb3VyY2Uub3B0aW9ucy50eXBlO1xuICAgICAgICBpZiAoaXNMYXllclByb3BlcnR5KSB7XG4gICAgICAgICAgbC5vbC5zZXQoa2V5LCBuZXdWYWx1ZSwgdHJ1ZSk7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICBsLnZpc2libGUkLm5leHQobmV3VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoa2V5ID09PSAnbWluUmVzb2x1dGlvbicgfHwga2V5ID09PSAnbWF4UmVzb2x1dGlvbicpIHtcbiAgICAgICAgICAgIHJlc29sdXRpb25Qcm9wZXJ0eUhhc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChpc0RhdGFzb3VyY2VQcm9wZXJ0eSkge1xuICAgICAgICAgIGlmIChrZXkgPT09ICdvZ2NGaWx0ZXJzJykge1xuICAgICAgICAgICAgKGwuZGF0YVNvdXJjZSBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSkuc2V0T2djRmlsdGVycyhcbiAgICAgICAgICAgICAgbmV3VmFsdWUsXG4gICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGxMYXllclR5cGUgPT09ICd3ZnMnKSB7XG4gICAgICAgICAgICAgIGwub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxMYXllclR5cGUgPT09ICd3bXMnKSB7XG4gICAgICAgICAgICAgIGxldCBhcHBsaWVkT2djRmlsdGVyO1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhdG9ySWdvTGF5ZXJTb3VyY2VUeXBlID09PSAnd2ZzJykge1xuICAgICAgICAgICAgICAgIGFwcGxpZWRPZ2NGaWx0ZXIgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgIGluaXRpYXRvcklnb0xheWVyT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgKGluaXRpYXRvcklnb0xheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZE5hbWVHZW9tZXRyeSxcbiAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG1hcC52aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdGlhdG9ySWdvTGF5ZXJTb3VyY2VUeXBlID09PSAnd21zJykge1xuICAgICAgICAgICAgICAgIGFwcGxpZWRPZ2NGaWx0ZXIgPSAoXG4gICAgICAgICAgICAgICAgICBpbml0aWF0b3JJZ29MYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2VcbiAgICAgICAgICAgICAgICApLm9sLmdldFBhcmFtcygpLkZJTFRFUjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAobC5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2UpLm9sLnVwZGF0ZVBhcmFtcyh7XG4gICAgICAgICAgICAgICAgRklMVEVSOiBhcHBsaWVkT2djRmlsdGVyXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBsLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBXTVNEYXRhU291cmNlICYmXG4gICAgICAgICAgICBrZXkgPT09ICd0aW1lRmlsdGVyJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgKGwuZGF0YVNvdXJjZSBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldFRpbWVGaWx0ZXIoXG4gICAgICAgICAgICAgIG5ld1ZhbHVlLFxuICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGFwcGxpZWRUaW1lRmlsdGVyID0gKFxuICAgICAgICAgICAgICBpbml0aWF0b3JJZ29MYXllci5vbC5nZXRTb3VyY2UoKSBhcyBvbFNvdXJjZUltYWdlV01TXG4gICAgICAgICAgICApLmdldFBhcmFtcygpLlRJTUU7XG4gICAgICAgICAgICBsLmRhdGFTb3VyY2Uub2wudXBkYXRlUGFyYW1zKHsgVElNRTogYXBwbGllZFRpbWVGaWx0ZXIgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHJlc29sdXRpb25Qcm9wZXJ0eUhhc0NoYW5nZWQpIHtcbiAgICAgIG1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5uZXh0KG1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC52YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
119
119
  }], pointerPositionCoord: [{
120
120
  type: Output
121
121
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBvaW50ZXItcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUdsRjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF3QjtJQW9DakI7SUFDUjtJQXBDRixrQkFBa0IsQ0FBQztJQUUzQjs7T0FFRztJQUNLLG1CQUFtQixDQUFDO0lBRTVCOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUM7SUFFekI7O09BRUc7SUFDTSxvQkFBb0IsR0FBVyxJQUFJLENBQUM7SUFFN0M7O09BRUc7SUFDTyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUV0RTs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBYyxDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFDa0IsU0FBOEIsRUFDdEMsWUFBMEI7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDakMsQ0FBQztJQUVKOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUN2QyxhQUFhLEVBQ2IsQ0FBQyxLQUFrQyxFQUFFLEVBQUUsQ0FDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDcEMsYUFBYSxFQUNiLENBQUMsS0FBa0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyx3QkFBd0I7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxLQUFrQyxFQUFFLEtBQWE7UUFDdEUsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN4RCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkQsc0NBQXNDO1lBQ3RDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUN0QixLQUFLLENBQUMsVUFBVSxFQUNoQixJQUFJLENBQUMsYUFBYSxFQUNsQixXQUFXLENBQ1EsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7dUdBbkhVLHdCQUF3QjsyRkFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBcUNJLElBQUk7b0VBcEJFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZWRpYSc7XHJcblxyXG5pbXBvcnQgTWFwQnJvd3NlclBvaW50ZXJFdmVudCBmcm9tICdvbC9NYXBCcm93c2VyRXZlbnQnO1xyXG5pbXBvcnQgeyB1bkJ5S2V5IH0gZnJvbSAnb2wvT2JzZXJ2YWJsZSc7XHJcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xyXG5cclxuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcblxyXG4vKipcclxuICogVGhpcyBkaXJlY3RpdmUgcmV0dXJuIHRoZSBwb2ludGVyIGNvb3JkaW5hdGUgKG9uIGNsaWNrIG9yIHBvaW50ZXJtb3ZlKVxyXG4gKiBpbiBbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIGRlbGF5ZWQgYnkgaW4gaW5wdXQgKHBvaW50ZXJNb3ZlRGVsYXkpXHJcbiAqIHRvIGF2b2lkIHRvbyBtYW55IGVtaXR0ZWQgdmFsdWVzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWdvUG9pbnRlclBvc2l0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9pbnRlclBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgbGFzdFRpbWVvdXRSZXF1ZXN0O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5lciB0byB0aGUgcG9pbnRlciBtb3ZlIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwb2ludGVyTW92ZUxpc3RlbmVyO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5lciB0byB0aGUgbWFwIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtYXBDbGlja0xpc3RlbmVyO1xyXG5cclxuICAvKipcclxuICAgKiBEZWxheSBiZWZvcmUgZW1pdHRpbmcgYW4gZXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwb2ludGVyUG9zaXRpb25EZWxheTogbnVtYmVyID0gMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIG1vdmUsIGRlbGF5ZWQgYnkgcG9pbnRlck1vdmVEZWxheVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyUG9zaXRpb25Db29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSUdPIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgbWFwUHJvamVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudC5tYXAgYXMgSWdvTWFwKS5wcm9qZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhcnQgbGlzdGVuaW5nIHRvIHBvaW50ZXJtb3ZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKTtcclxuICAgIHRoaXMubGlzdGVuVG9NYXBDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCBsaXN0ZW5pbmcgdG8gcG9pbnRlcm1vdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCk7XHJcbiAgICB0aGlzLnVubGlzdGVuVG9NYXBDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbWFwIHBvaW50ZXJtb3ZlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCkge1xyXG4gICAgdGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyID0gdGhpcy5tYXAub2wub24oXHJcbiAgICAgICdwb2ludGVybW92ZScsXHJcbiAgICAgIChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSA9PlxyXG4gICAgICAgIHRoaXMub25Qb2ludGVyRXZlbnQoZXZlbnQsIHRoaXMucG9pbnRlclBvc2l0aW9uRGVsYXkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbWFwIGNsaWNrXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub01hcENsaWNrKCkge1xyXG4gICAgdGhpcy5tYXBDbGlja0xpc3RlbmVyID0gdGhpcy5tYXAub2wub24oXHJcbiAgICAgICdzaW5nbGVjbGljaycsXHJcbiAgICAgIChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSA9PiB0aGlzLm9uUG9pbnRlckV2ZW50KGV2ZW50LCAwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgbGlzdGVuaW5nIGZvciBtYXAgcG9pbnRlcm1vdmVcclxuICAgKi9cclxuICBwcml2YXRlIHVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpIHtcclxuICAgIHVuQnlLZXkodGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyKTtcclxuICAgIHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgbGlzdGVuaW5nIGZvciBtYXAgY2xpY2tzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bmxpc3RlblRvTWFwQ2xpY2soKSB7XHJcbiAgICB0aGlzLm1hcENsaWNrTGlzdGVuZXIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBlbWl0IGRlbGF5ZWQgY29vcmRpbmF0ZSAobG9uZ2l0dWRlLCBsYXRpdHVkZSBhcnJheSkgYmFzZWQgb24gcG9pbnRlck1vdmVEZWxheSBvciBvbiBjbGlja1xyXG4gICAqIEBwYXJhbSBldmVudCBPTCBtYXAgYnJvd3NlciBwb2ludGVyIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblBvaW50ZXJFdmVudChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+LCBkZWxheTogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQuZHJhZ2dpbmcgfHwgdGhpcy5tZWRpYVNlcnZpY2UuaXNUb3VjaFNjcmVlbigpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIC8vIGNhbmNlbCB0aW1lb3V0IHdoZW4gdGhlIG1vdXNlIG1vdmVzXHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbG9ubGF0ID0gdHJhbnNmb3JtKFxyXG4gICAgICBldmVudC5jb29yZGluYXRlLFxyXG4gICAgICB0aGlzLm1hcFByb2plY3Rpb24sXHJcbiAgICAgICdFUFNHOjQzMjYnXHJcbiAgICApIGFzIFtudW1iZXIsIG51bWJlcl07XHJcbiAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNvb3JkLmVtaXQobG9ubGF0KTtcclxuICAgIH0sIGRlbGF5KTtcclxuICB9XHJcbn1cclxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBvaW50ZXItcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUdsRjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF3QjtJQW9DakI7SUFDUjtJQXBDRixrQkFBa0IsQ0FBQztJQUUzQjs7T0FFRztJQUNLLG1CQUFtQixDQUFDO0lBRTVCOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUM7SUFFekI7O09BRUc7SUFDTSxvQkFBb0IsR0FBVyxJQUFJLENBQUM7SUFFN0M7O09BRUc7SUFDTyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUV0RTs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBYyxDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFDa0IsU0FBOEIsRUFDdEMsWUFBMEI7UUFEbEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDakMsQ0FBQztJQUVKOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUN2QyxhQUFhLEVBQ2IsQ0FBQyxLQUFrQyxFQUFFLEVBQUUsQ0FDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDcEMsYUFBYSxFQUNiLENBQUMsS0FBa0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyx3QkFBd0I7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxLQUFrQyxFQUFFLEtBQWE7UUFDdEUsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN4RCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkQsc0NBQXNDO1lBQ3RDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUN0QixLQUFLLENBQUMsVUFBVSxFQUNoQixJQUFJLENBQUMsYUFBYSxFQUNsQixXQUFXLENBQ1EsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7dUdBbkhVLHdCQUF3QjsyRkFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBcUNJLElBQUk7b0VBcEJFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xuXG5pbXBvcnQgTWFwQnJvd3NlclBvaW50ZXJFdmVudCBmcm9tICdvbC9NYXBCcm93c2VyRXZlbnQnO1xuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5cbmltcG9ydCB7IE1hcEJyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tYXAvbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSByZXR1cm4gdGhlIHBvaW50ZXIgY29vcmRpbmF0ZSAob24gY2xpY2sgb3IgcG9pbnRlcm1vdmUpXG4gKiBpbiBbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIGRlbGF5ZWQgYnkgaW4gaW5wdXQgKHBvaW50ZXJNb3ZlRGVsYXkpXG4gKiB0byBhdm9pZCB0b28gbWFueSBlbWl0dGVkIHZhbHVlcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb1BvaW50ZXJQb3NpdGlvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvaW50ZXJQb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XG5cbiAgLyoqXG4gICAqIExpc3RlbmVyIHRvIHRoZSBwb2ludGVyIG1vdmUgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgcG9pbnRlck1vdmVMaXN0ZW5lcjtcblxuICAvKipcbiAgICogTGlzdGVuZXIgdG8gdGhlIG1hcCBjbGljayBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBtYXBDbGlja0xpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBEZWxheSBiZWZvcmUgZW1pdHRpbmcgYW4gZXZlbnRcbiAgICovXG4gIEBJbnB1dCgpIHBvaW50ZXJQb3NpdGlvbkRlbGF5OiBudW1iZXIgPSAxMDAwO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgbW92ZSwgZGVsYXllZCBieSBwb2ludGVyTW92ZURlbGF5XG4gICAqL1xuICBAT3V0cHV0KCkgcG9pbnRlclBvc2l0aW9uQ29vcmQgPSBuZXcgRXZlbnRFbWl0dGVyPFtudW1iZXIsIG51bWJlcl0+KCk7XG5cbiAgLyoqXG4gICAqIElHTyBtYXBcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGdldCBtYXBQcm9qZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudC5tYXAgYXMgSWdvTWFwKS5wcm9qZWN0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogU3RhcnQgbGlzdGVuaW5nIHRvIHBvaW50ZXJtb3ZlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCk7XG4gICAgdGhpcy5saXN0ZW5Ub01hcENsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBsaXN0ZW5pbmcgdG8gcG9pbnRlcm1vdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xuICAgIHRoaXMudW5saXN0ZW5Ub01hcENsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gbWFwIHBvaW50ZXJtb3ZlXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvTWFwUG9pbnRlck1vdmUoKSB7XG4gICAgdGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyID0gdGhpcy5tYXAub2wub24oXG4gICAgICAncG9pbnRlcm1vdmUnLFxuICAgICAgKGV2ZW50OiBNYXBCcm93c2VyUG9pbnRlckV2ZW50PGFueT4pID0+XG4gICAgICAgIHRoaXMub25Qb2ludGVyRXZlbnQoZXZlbnQsIHRoaXMucG9pbnRlclBvc2l0aW9uRGVsYXkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBtYXAgY2xpY2tcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9NYXBDbGljaygpIHtcbiAgICB0aGlzLm1hcENsaWNrTGlzdGVuZXIgPSB0aGlzLm1hcC5vbC5vbihcbiAgICAgICdzaW5nbGVjbGljaycsXG4gICAgICAoZXZlbnQ6IE1hcEJyb3dzZXJQb2ludGVyRXZlbnQ8YW55PikgPT4gdGhpcy5vblBvaW50ZXJFdmVudChldmVudCwgMClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgbGlzdGVuaW5nIGZvciBtYXAgcG9pbnRlcm1vdmVcbiAgICovXG4gIHByaXZhdGUgdW5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCkge1xuICAgIHVuQnlLZXkodGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyKTtcbiAgICB0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBsaXN0ZW5pbmcgZm9yIG1hcCBjbGlja3NcbiAgICovXG4gIHByaXZhdGUgdW5saXN0ZW5Ub01hcENsaWNrKCkge1xuICAgIHRoaXMubWFwQ2xpY2tMaXN0ZW5lciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBlbWl0IGRlbGF5ZWQgY29vcmRpbmF0ZSAobG9uZ2l0dWRlLCBsYXRpdHVkZSBhcnJheSkgYmFzZWQgb24gcG9pbnRlck1vdmVEZWxheSBvciBvbiBjbGlja1xuICAgKiBAcGFyYW0gZXZlbnQgT0wgbWFwIGJyb3dzZXIgcG9pbnRlciBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBvblBvaW50ZXJFdmVudChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+LCBkZWxheTogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmRyYWdnaW5nIHx8IHRoaXMubWVkaWFTZXJ2aWNlLmlzVG91Y2hTY3JlZW4oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gY2FuY2VsIHRpbWVvdXQgd2hlbiB0aGUgbW91c2UgbW92ZXNcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9ubGF0ID0gdHJhbnNmb3JtKFxuICAgICAgZXZlbnQuY29vcmRpbmF0ZSxcbiAgICAgIHRoaXMubWFwUHJvamVjdGlvbixcbiAgICAgICdFUFNHOjQzMjYnXG4gICAgKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNvb3JkLmVtaXQobG9ubGF0KTtcbiAgICB9LCBkZWxheSk7XG4gIH1cbn1cbiJdfQ==
@@ -20,4 +20,4 @@ export class MapBase {
20
20
  viewProjection;
21
21
  projectionCode;
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAuYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE1BQU0sT0FBZ0IsT0FBTztJQUMzQixFQUFFLENBQU07SUFDUixjQUFjLENBQTJCO0lBQ3pDLE9BQU8sQ0FBMkI7SUFDbEMsbUJBQW1CLENBQTJCO0lBQzlDLE9BQU8sQ0FBeUI7SUFDaEMsZUFBZSxDQUFnRDtJQUMvRCxPQUFPLENBQVU7SUFDakIsbUJBQW1CLENBQVU7SUFDN0Isb0JBQW9CLENBQVU7SUFDOUIsY0FBYyxDQUFvQjtJQUNsQyxxQkFBcUIsQ0FBMkI7SUFDaEQsYUFBYSxDQUEyQjtJQUN4QyxVQUFVLENBQTJCO0lBQ3JDLGlCQUFpQixDQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBb0I7SUFFcEMsU0FBUztJQUNULE1BQU0sQ0FBVTtJQUNoQixVQUFVLENBQVM7SUFDbkIsY0FBYyxDQUFhO0lBQzNCLGNBQWMsQ0FBUztDQTBCeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0RXZlbnQgfSBmcm9tICdvbC9PYmplY3QnO1xyXG5pbXBvcnQgeyBMYXllciBhcyBPbExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xyXG5pbXBvcnQgeyBQcm9qZWN0aW9uIH0gZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCB7IFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XHJcblxyXG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9vdmVybGF5L3NoYXJlZC9vdmVybGF5JztcclxuaW1wb3J0IHtcclxuICBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXIsXHJcbiAgTWFwVmlld0NvbnRyb2xsZXJcclxufSBmcm9tICcuLi9zaGFyZWQvY29udHJvbGxlcnMnO1xyXG5pbXBvcnQge1xyXG4gIE1hcENvbnRyb2xzT3B0aW9ucyxcclxuICBNYXBFeHRlbnQsXHJcbiAgTWFwVmlld09wdGlvbnNcclxufSBmcm9tICcuLi9zaGFyZWQvbWFwLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWFwQmFzZSB7XHJcbiAgb2w6IE1hcDtcclxuICBmb3JjZWRPZmZsaW5lJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xyXG4gIGxheWVycyQ6IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPjtcclxuICBsYXllcnNBZGRlZEJ5Q2xpY2skOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXJbXT47XHJcbiAgc3RhdHVzJDogU3ViamVjdDxTdWJqZWN0U3RhdHVzPjtcclxuICBwcm9wZXJ0eUNoYW5nZSQ6IFN1YmplY3Q8eyBldmVudDogT2JqZWN0RXZlbnQ7IGxheWVyOiBMYXllciB9PjtcclxuICBvdmVybGF5OiBPdmVybGF5O1xyXG4gIHF1ZXJ5UmVzdWx0c092ZXJsYXk6IE92ZXJsYXk7XHJcbiAgc2VhcmNoUmVzdWx0c092ZXJsYXk6IE92ZXJsYXk7XHJcbiAgdmlld0NvbnRyb2xsZXI6IE1hcFZpZXdDb250cm9sbGVyO1xyXG4gIGdlb2xvY2F0aW9uQ29udHJvbGxlcjogTWFwR2VvbG9jYXRpb25Db250cm9sbGVyO1xyXG4gIHN3aXBlRW5hYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcclxuICBtYXBDZW50ZXIkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XHJcbiAgc2VsZWN0ZWRGZWF0dXJlcyQ6IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPjtcclxuICBidWZmZXJEYXRhU291cmNlOiBGZWF0dXJlRGF0YVNvdXJjZTtcclxuXHJcbiAgLy8gR2V0dGVyXHJcbiAgbGF5ZXJzOiBMYXllcltdO1xyXG4gIHByb2plY3Rpb246IHN0cmluZztcclxuICB2aWV3UHJvamVjdGlvbjogUHJvamVjdGlvbjtcclxuICBwcm9qZWN0aW9uQ29kZTogc3RyaW5nO1xyXG5cclxuICBhYnN0cmFjdCBpbml0KCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3Qgc2V0VGFyZ2V0KGlkOiBzdHJpbmcpOiB2b2lkO1xyXG4gIGFic3RyYWN0IHVwZGF0ZVZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpOiB2b2lkO1xyXG4gIGFic3RyYWN0IHNldFZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpOiB2b2lkO1xyXG4gIGFic3RyYWN0IHVwZGF0ZUNvbnRyb2xzKHZhbHVlOiBNYXBDb250cm9sc09wdGlvbnMpOiB2b2lkO1xyXG4gIGFic3RyYWN0IGdldENlbnRlcihwcm9qZWN0aW9uPzogc3RyaW5nIHwgUHJvamVjdGlvbik6IFtudW1iZXIsIG51bWJlcl07XHJcbiAgYWJzdHJhY3QgZ2V0RXh0ZW50KHByb2plY3Rpb24/OiBzdHJpbmcgfCBQcm9qZWN0aW9uKTogTWFwRXh0ZW50O1xyXG4gIGFic3RyYWN0IGdldFpvb20oKTogbnVtYmVyO1xyXG4gIGFic3RyYWN0IGNoYW5nZUJhc2VMYXllcihiYXNlTGF5ZXI6IExheWVyKTogdm9pZDtcclxuICBhYnN0cmFjdCBnZXRCYXNlTGF5ZXJzKCk6IExheWVyW107XHJcbiAgYWJzdHJhY3QgZ2V0TGF5ZXJCeUlkKGlkOiBzdHJpbmcpOiBMYXllciB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBnZXRMYXllckJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IExheWVyO1xyXG4gIGFic3RyYWN0IGdldExheWVyQnlPbFVJZChvbFVJZDogc3RyaW5nKTogTGF5ZXI7XHJcbiAgYWJzdHJhY3QgZ2V0TGF5ZXJCeU9sTGF5ZXIob2xMYXllcjogT2xMYXllcjxTb3VyY2U+KTogTGF5ZXI7XHJcbiAgYWJzdHJhY3QgYWRkTGF5ZXIobGF5ZXI6IExheWVyLCBwdXNoOiBib29sZWFuKTogdm9pZDtcclxuICBhYnN0cmFjdCBhZGRMYXllcnMobGF5ZXJzOiBMYXllcltdLCBwdXNoPzogYm9vbGVhbik6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgcmVtb3ZlTGF5ZXIobGF5ZXI6IExheWVyKTogdm9pZDtcclxuICBhYnN0cmFjdCByZW1vdmVMYXllcnMobGF5ZXJzOiBMYXllcltdKTogdm9pZDtcclxuICBhYnN0cmFjdCByZW1vdmVBbGxMYXllcnMoKTogdm9pZDtcclxuICBhYnN0cmFjdCByYWlzZUxheWVyKGxheWVyOiBMYXllcik6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgcmFpc2VMYXllcnMobGF5ZXJzOiBMYXllcltdKTogdm9pZDtcclxuICBhYnN0cmFjdCBsb3dlckxheWVyKGxheWVyOiBMYXllcik6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgbG93ZXJMYXllcnMobGF5ZXJzOiBMYXllcltdKTogdm9pZDtcclxuICBhYnN0cmFjdCBtb3ZlTGF5ZXIobGF5ZXI6IExheWVyLCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB2b2lkO1xyXG59XHJcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAuYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE1BQU0sT0FBZ0IsT0FBTztJQUMzQixFQUFFLENBQU07SUFDUixjQUFjLENBQTJCO0lBQ3pDLE9BQU8sQ0FBMkI7SUFDbEMsbUJBQW1CLENBQTJCO0lBQzlDLE9BQU8sQ0FBeUI7SUFDaEMsZUFBZSxDQUFnRDtJQUMvRCxPQUFPLENBQVU7SUFDakIsbUJBQW1CLENBQVU7SUFDN0Isb0JBQW9CLENBQVU7SUFDOUIsY0FBYyxDQUFvQjtJQUNsQyxxQkFBcUIsQ0FBMkI7SUFDaEQsYUFBYSxDQUEyQjtJQUN4QyxVQUFVLENBQTJCO0lBQ3JDLGlCQUFpQixDQUEyQjtJQUM1QyxnQkFBZ0IsQ0FBb0I7SUFFcEMsU0FBUztJQUNULE1BQU0sQ0FBVTtJQUNoQixVQUFVLENBQVM7SUFDbkIsY0FBYyxDQUFhO0lBQzNCLGNBQWMsQ0FBUztDQTBCeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBPYmplY3RFdmVudCB9IGZyb20gJ29sL09iamVjdCc7XG5pbXBvcnQgeyBMYXllciBhcyBPbExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcblxuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9vdmVybGF5L3NoYXJlZC9vdmVybGF5JztcbmltcG9ydCB7XG4gIE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlcixcbiAgTWFwVmlld0NvbnRyb2xsZXJcbn0gZnJvbSAnLi4vc2hhcmVkL2NvbnRyb2xsZXJzJztcbmltcG9ydCB7XG4gIE1hcENvbnRyb2xzT3B0aW9ucyxcbiAgTWFwRXh0ZW50LFxuICBNYXBWaWV3T3B0aW9uc1xufSBmcm9tICcuLi9zaGFyZWQvbWFwLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYXBCYXNlIHtcbiAgb2w6IE1hcDtcbiAgZm9yY2VkT2ZmbGluZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgbGF5ZXJzJDogQmVoYXZpb3JTdWJqZWN0PExheWVyW10+O1xuICBsYXllcnNBZGRlZEJ5Q2xpY2skOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXJbXT47XG4gIHN0YXR1cyQ6IFN1YmplY3Q8U3ViamVjdFN0YXR1cz47XG4gIHByb3BlcnR5Q2hhbmdlJDogU3ViamVjdDx7IGV2ZW50OiBPYmplY3RFdmVudDsgbGF5ZXI6IExheWVyIH0+O1xuICBvdmVybGF5OiBPdmVybGF5O1xuICBxdWVyeVJlc3VsdHNPdmVybGF5OiBPdmVybGF5O1xuICBzZWFyY2hSZXN1bHRzT3ZlcmxheTogT3ZlcmxheTtcbiAgdmlld0NvbnRyb2xsZXI6IE1hcFZpZXdDb250cm9sbGVyO1xuICBnZW9sb2NhdGlvbkNvbnRyb2xsZXI6IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlcjtcbiAgc3dpcGVFbmFibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBtYXBDZW50ZXIkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIHNlbGVjdGVkRmVhdHVyZXMkOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXJbXT47XG4gIGJ1ZmZlckRhdGFTb3VyY2U6IEZlYXR1cmVEYXRhU291cmNlO1xuXG4gIC8vIEdldHRlclxuICBsYXllcnM6IExheWVyW107XG4gIHByb2plY3Rpb246IHN0cmluZztcbiAgdmlld1Byb2plY3Rpb246IFByb2plY3Rpb247XG4gIHByb2plY3Rpb25Db2RlOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaW5pdCgpOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRUYXJnZXQoaWQ6IHN0cmluZyk6IHZvaWQ7XG4gIGFic3RyYWN0IHVwZGF0ZVZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRWaWV3KG9wdGlvbnM6IE1hcFZpZXdPcHRpb25zKTogdm9pZDtcbiAgYWJzdHJhY3QgdXBkYXRlQ29udHJvbHModmFsdWU6IE1hcENvbnRyb2xzT3B0aW9ucyk6IHZvaWQ7XG4gIGFic3RyYWN0IGdldENlbnRlcihwcm9qZWN0aW9uPzogc3RyaW5nIHwgUHJvamVjdGlvbik6IFtudW1iZXIsIG51bWJlcl07XG4gIGFic3RyYWN0IGdldEV4dGVudChwcm9qZWN0aW9uPzogc3RyaW5nIHwgUHJvamVjdGlvbik6IE1hcEV4dGVudDtcbiAgYWJzdHJhY3QgZ2V0Wm9vbSgpOiBudW1iZXI7XG4gIGFic3RyYWN0IGNoYW5nZUJhc2VMYXllcihiYXNlTGF5ZXI6IExheWVyKTogdm9pZDtcbiAgYWJzdHJhY3QgZ2V0QmFzZUxheWVycygpOiBMYXllcltdO1xuICBhYnN0cmFjdCBnZXRMYXllckJ5SWQoaWQ6IHN0cmluZyk6IExheWVyIHwgdW5kZWZpbmVkO1xuICBhYnN0cmFjdCBnZXRMYXllckJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IExheWVyO1xuICBhYnN0cmFjdCBnZXRMYXllckJ5T2xVSWQob2xVSWQ6IHN0cmluZyk6IExheWVyO1xuICBhYnN0cmFjdCBnZXRMYXllckJ5T2xMYXllcihvbExheWVyOiBPbExheWVyPFNvdXJjZT4pOiBMYXllcjtcbiAgYWJzdHJhY3QgYWRkTGF5ZXIobGF5ZXI6IExheWVyLCBwdXNoOiBib29sZWFuKTogdm9pZDtcbiAgYWJzdHJhY3QgYWRkTGF5ZXJzKGxheWVyczogTGF5ZXJbXSwgcHVzaD86IGJvb2xlYW4pOiB2b2lkO1xuICBhYnN0cmFjdCByZW1vdmVMYXllcihsYXllcjogTGF5ZXIpOiB2b2lkO1xuICBhYnN0cmFjdCByZW1vdmVMYXllcnMobGF5ZXJzOiBMYXllcltdKTogdm9pZDtcbiAgYWJzdHJhY3QgcmVtb3ZlQWxsTGF5ZXJzKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJhaXNlTGF5ZXIobGF5ZXI6IExheWVyKTogdm9pZDtcbiAgYWJzdHJhY3QgcmFpc2VMYXllcnMobGF5ZXJzOiBMYXllcltdKTogdm9pZDtcbiAgYWJzdHJhY3QgbG93ZXJMYXllcihsYXllcjogTGF5ZXIpOiB2b2lkO1xuICBhYnN0cmFjdCBsb3dlckxheWVycyhsYXllcnM6IExheWVyW10pOiB2b2lkO1xuICBhYnN0cmFjdCBtb3ZlTGF5ZXIobGF5ZXI6IExheWVyLCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB2b2lkO1xufVxuIl19
@@ -434,4 +434,4 @@ export class IgoMap {
434
434
  return this.layers.findIndex((_layer) => _layer === layer);
435
435
  }
436
436
  }
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxLQUFLLE1BQU0sUUFBUSxDQUFDO0FBRTNCLE9BQU8sTUFBdUIsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxvQkFBb0IsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBVyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JFLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixpQ0FBaUMsRUFDbEMsTUFBTSxzQkFBc0IsQ0FBQztBQVc5Qiw4RUFBOEU7QUFDOUUsb0NBQW9DO0FBQ3BDLE1BQU0sT0FBTyxNQUFNO0lBNENQO0lBQ0E7SUE1Q0gsRUFBRSxDQUFRO0lBQ1YsY0FB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T0FHRztJQUNLLFNBQVMsQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQixDQUFDLE1BQWU7UUFDeEMsNEJBQTRCO1FBQzVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsQ0FBQyxNQUFhLEVBQUUsTUFBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2hFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XHJcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgb2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IHsgT2JqZWN0RXZlbnQgfSBmcm9tICdvbC9PYmplY3QnO1xyXG5pbXBvcnQgb2xWaWV3LCB7IFZpZXdPcHRpb25zIH0gZnJvbSAnb2wvVmlldyc7XHJcbmltcG9ydCBvbENvbnRyb2xBdHRyaWJ1dGlvbiBmcm9tICdvbC9jb250cm9sL0F0dHJpYnV0aW9uJztcclxuaW1wb3J0IG9sQ29udHJvbFNjYWxlTGluZSBmcm9tICdvbC9jb250cm9sL1NjYWxlTGluZSc7XHJcbmltcG9ydCAqIGFzIG9saW50ZXJhY3Rpb24gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xyXG5pbXBvcnQgb2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XHJcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0IE9sUHJvamVjdGlvbiBmcm9tICdvbC9wcm9qL1Byb2plY3Rpb24nO1xyXG5pbXBvcnQgKiBhcyBvbHByb2o0IGZyb20gJ29sL3Byb2ovcHJvajQnO1xyXG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XHJcbmltcG9ydCB7IGdldFVpZCB9IGZyb20gJ29sL3V0aWwnO1xyXG5cclxuaW1wb3J0IHByb2o0IGZyb20gJ3Byb2o0JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBwYWlyd2lzZSwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IExheWVyLCBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS9zaGFyZWQvb3ZlcmxheSc7XHJcbmltcG9ydCB7IExheWVyV2F0Y2hlciB9IGZyb20gJy4uL3V0aWxzL2xheWVyLXdhdGNoZXInO1xyXG5pbXBvcnQgeyBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXJzL2dlb2xvY2F0aW9uJztcclxuaW1wb3J0IHsgTWFwVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXJzL3ZpZXcnO1xyXG5pbXBvcnQge1xyXG4gIGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbixcclxuICBnZXRSb290UGFyZW50QnlEZWxldGlvbixcclxuICBoYW5kbGVMYXllclByb3BlcnR5Q2hhbmdlLFxyXG4gIGluaXRMYXllclN5bmNGcm9tUm9vdFBhcmVudExheWVyc1xyXG59IGZyb20gJy4vbGlua2VkTGF5ZXJzLnV0aWxzJztcclxuaW1wb3J0IHR5cGUgeyBNYXBCYXNlIH0gZnJvbSAnLi9tYXAuYWJzdHJhY3QnO1xyXG5pbXBvcnQge1xyXG4gIE1hcEF0dHJpYnV0aW9uT3B0aW9ucyxcclxuICBNYXBDb250cm9sc09wdGlvbnMsXHJcbiAgTWFwRXh0ZW50LFxyXG4gIE1hcE9wdGlvbnMsXHJcbiAgTWFwU2NhbGVMaW5lT3B0aW9ucyxcclxuICBNYXBWaWV3T3B0aW9uc1xyXG59IGZyb20gJy4vbWFwLmludGVyZmFjZSc7XHJcblxyXG4vLyBUT0RPOiBUaGlzIGNsYXNzIGlzIG1lc3N5LiBDbGVhcmx5IGRlZmluZSBpdCdzIHNjb3BlIGFuZCB0aGUgbWFwIGJyb3dzZXIncy5cclxuLy8gTW92ZSBzb21lIHN0dWZmIGludG8gY29udHJvbGxlcnMuXHJcbmV4cG9ydCBjbGFzcyBJZ29NYXAgaW1wbGVtZW50cyBNYXBCYXNlIHtcclxuICBwdWJsaWMgb2w6IG9sTWFwO1xyXG4gIHB1YmxpYyBmb3JjZWRPZmZsaW5lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBsYXllcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPihbXSk7XHJcbiAgcHVibGljIGxheWVyc0FkZGVkQnlDbGljayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcHVibGljIHN0YXR1cyQ6IFN1YmplY3Q8U3ViamVjdFN0YXR1cz47XHJcbiAgcHVibGljIHByb3BlcnR5Q2hhbmdlJDogU3ViamVjdDx7IGV2ZW50OiBPYmplY3RFdmVudDsgbGF5ZXI6IExheWVyIH0+O1xyXG4gIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5O1xyXG4gIHB1YmxpYyBxdWVyeVJlc3VsdHNPdmVybGF5OiBPdmVybGF5O1xyXG4gIHB1YmxpYyBzZWFyY2hSZXN1bHRzT3ZlcmxheTogT3ZlcmxheTtcclxuICBwdWJsaWMgdmlld0NvbnRyb2xsZXI6IE1hcFZpZXdDb250cm9sbGVyO1xyXG4gIHB1YmxpYyBnZW9sb2NhdGlvbkNvbnRyb2xsZXI6IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlcjtcclxuICBwdWJsaWMgc3dpcGVFbmFibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBtYXBDZW50ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIHNlbGVjdGVkRmVhdHVyZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPihudWxsKTtcclxuXHJcbiAgcHVibGljIGJ1ZmZlckRhdGFTb3VyY2U6IEZlYXR1cmVEYXRhU291cmNlO1xyXG5cclxuICBwcml2YXRlIGxheWVyV2F0Y2hlcjogTGF5ZXJXYXRjaGVyO1xyXG4gIHByaXZhdGUgb3B0aW9uczogTWFwT3B0aW9ucztcclxuICBwcml2YXRlIG1hcFZpZXdPcHRpb25zOiBNYXBWaWV3T3B0aW9ucztcclxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPE1hcE9wdGlvbnM+ID0ge1xyXG4gICAgY29udHJvbHM6IHsgYXR0cmlidXRpb246IGZhbHNlIH1cclxuICB9O1xyXG5cclxuICBnZXQgbGF5ZXJzKCk6IExheWVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgcHJvamVjdGlvbkNvZGUgKi9cclxuICBnZXQgcHJvamVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvamVjdGlvbkNvZGU7XHJcbiAgfVxyXG5cclxuICBnZXQgdmlld1Byb2plY3Rpb24oKTogb2xwcm9qLlByb2plY3Rpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRyb2xsZXIuZ2V0T2xQcm9qZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgcHJvamVjdGlvbkNvZGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZpZXdQcm9qZWN0aW9uLmdldENvZGUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgb3B0aW9ucz86IE1hcE9wdGlvbnMsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlPzogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U/OiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcclxuICAgIHRoaXMubGF5ZXJXYXRjaGVyID0gbmV3IExheWVyV2F0Y2hlcigpO1xyXG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy5sYXllcldhdGNoZXIuc3RhdHVzJDtcclxuICAgIHRoaXMucHJvcGVydHlDaGFuZ2UkID0gdGhpcy5sYXllcldhdGNoZXIucHJvcGVydHlDaGFuZ2UkO1xyXG4gICAgb2xwcm9qNC5yZWdpc3Rlcihwcm9qNCk7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICBjb25zdCBjb250cm9scyA9IFtdO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb250cm9scykge1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzLmF0dHJpYnV0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgYXR0cmlidXRpb25PcHQgPSAoXHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuY29udHJvbHMuYXR0cmlidXRpb24gPT09IHRydWVcclxuICAgICAgICAgICAgPyB7fVxyXG4gICAgICAgICAgICA6IHRoaXMub3B0aW9ucy5jb250cm9scy5hdHRyaWJ1dGlvblxyXG4gICAgICAgICkgYXMgTWFwQXR0cmlidXRpb25PcHRpb25zO1xyXG4gICAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbEF0dHJpYnV0aW9uKGF0dHJpYnV0aW9uT3B0KSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5jb250cm9scy5zY2FsZUxpbmUpIHtcclxuICAgICAgICBjb25zdCBzY2FsZUxpbmVPcHQgPSAoXHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuY29udHJvbHMuc2NhbGVMaW5lID09PSB0cnVlXHJcbiAgICAgICAgICAgID8ge31cclxuICAgICAgICAgICAgOiB0aGlzLm9wdGlvbnMuY29udHJvbHMuc2NhbGVMaW5lXHJcbiAgICAgICAgKSBhcyBNYXBTY2FsZUxpbmVPcHRpb25zO1xyXG4gICAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbFNjYWxlTGluZShzY2FsZUxpbmVPcHQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IGludGVyYWN0aW9ucyA9IHt9O1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcmFjdGlvbnMgPT09IGZhbHNlKSB7XHJcbiAgICAgIGludGVyYWN0aW9ucyA9IHtcclxuICAgICAgICBhbHRTaGlmdERyYWdSb3RhdGU6IGZhbHNlLFxyXG4gICAgICAgIGRvdWJsZUNsaWNrWm9vbTogZmFsc2UsXHJcbiAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIG1vdXNlV2hlZWxab29tOiBmYWxzZSxcclxuICAgICAgICBzaGlmdERyYWdab29tOiBmYWxzZSxcclxuICAgICAgICBkcmFnUGFuOiBmYWxzZSxcclxuICAgICAgICBwaW5jaFJvdGF0ZTogZmFsc2UsXHJcbiAgICAgICAgcGluY2hab29tOiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2wgPSBuZXcgb2xNYXAoe1xyXG4gICAgICBpbnRlcmFjdGlvbnM6IG9saW50ZXJhY3Rpb24uZGVmYXVsdHMoaW50ZXJhY3Rpb25zKSxcclxuICAgICAgY29udHJvbHNcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2V0Vmlldyh0aGlzLm9wdGlvbnMudmlldyB8fCB7fSk7XHJcbiAgICB0aGlzLnZpZXdDb250cm9sbGVyID0gbmV3IE1hcFZpZXdDb250cm9sbGVyKHtcclxuICAgICAgc3RhdGVIaXN0b3J5OiB0cnVlXHJcbiAgICB9KTtcclxuICAgIHRoaXMudmlld0NvbnRyb2xsZXIuc2V0T2xNYXAodGhpcy5vbCk7XHJcbiAgICB0aGlzLm92ZXJsYXkgPSBuZXcgT3ZlcmxheSh0aGlzKTtcclxuICAgIHRoaXMucXVlcnlSZXN1bHRzT3ZlcmxheSA9IG5ldyBPdmVybGF5KHRoaXMpO1xyXG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzT3ZlcmxheSA9IG5ldyBPdmVybGF5KHRoaXMpO1xyXG4gICAgdGhpcy5vbC5vbmNlKCdyZW5kZXJjb21wbGV0ZScsICgpID0+IHtcclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbkNvbnRyb2xsZXIgPSBuZXcgTWFwR2VvbG9jYXRpb25Db250cm9sbGVyKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvamVjdGlvbjogdGhpcy52aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2VcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuc2V0T2xNYXAodGhpcy5vbCk7XHJcbiAgICAgIGlmICh0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlcikge1xyXG4gICAgICAgIHRoaXMuZ2VvbG9jYXRpb25Db250cm9sbGVyLnVwZGF0ZUdlb2xvY2F0aW9uT3B0aW9ucyhcclxuICAgICAgICAgIHRoaXMubWFwVmlld09wdGlvbnNcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubGF5ZXJzJC5waXBlKHBhaXJ3aXNlKCkpLnN1YnNjcmliZSgoW3ByZXZMYXllcnMsIGN1cnJlbnRMYXllcnNdKSA9PiB7XHJcbiAgICAgICAgbGV0IHByZXZMYXllcnNJZDtcclxuICAgICAgICBpZiAocHJldkxheWVycykge1xyXG4gICAgICAgICAgcHJldkxheWVyc0lkID0gcHJldkxheWVycy5tYXAoKGwpID0+IGwuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsYXllcnMgPSBjdXJyZW50TGF5ZXJzLmZpbHRlcihcclxuICAgICAgICAgIChsKSA9PiAhcHJldkxheWVyc0lkLmluY2x1ZGVzKGwuaWQpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnMpIHtcclxuICAgICAgICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycykge1xyXG4gICAgICAgICAgICBsYXllci5vbC5vbmNlKCdwb3N0cmVuZGVyJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGluaXRMYXllclN5bmNGcm9tUm9vdFBhcmVudExheWVycyh0aGlzLCBsYXllcnMpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLm1vbml0b3JSb3RhdGlvbigpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnByb3BlcnR5Q2hhbmdlJFxyXG4gICAgICAucGlwZShza2lwV2hpbGUoKHBjKSA9PiAhcGMpKVxyXG4gICAgICAuc3Vic2NyaWJlKChwKSA9PiBoYW5kbGVMYXllclByb3BlcnR5Q2hhbmdlKHRoaXMsIHAuZXZlbnQsIHAubGF5ZXIpKTtcclxuICB9XHJcblxyXG4gIHNldFRhcmdldChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9sLnNldFRhcmdldChpZCk7XHJcbiAgICBpZiAoaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmxheWVyV2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4ge30sIG51bGwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYXllcldhdGNoZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRWaWV3ID0gdGhpcy5vbC5nZXRWaWV3KCk7XHJcbiAgICBjb25zdCB2aWV3T3B0aW9uczogTWFwVmlld09wdGlvbnMgPSB7XHJcbiAgICAgIC4uLmN1cnJlbnRWaWV3LmdldFByb3BlcnRpZXMoKSxcclxuICAgICAgLi4ub3B0aW9uc1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3B0aW9ucy56b29tICYmIG9wdGlvbnMucmVzb2x1dGlvbiA9PSBudWxsKSB7XHJcbiAgICAgIHZpZXdPcHRpb25zLnJlc29sdXRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRWaWV3KHZpZXdPcHRpb25zKTtcclxuICAgIGlmIChvcHRpb25zLm1heFpvb21PbkV4dGVudCkge1xyXG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLm1heFpvb21PbkV4dGVudCA9IG9wdGlvbnMubWF4Wm9vbU9uRXh0ZW50O1xyXG4gICAgfVxyXG4gICAgdGhpcy5tYXBWaWV3T3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIG1hcCB2aWV3XHJcbiAgICogQHBhcmFtIG9wdGlvbnMgTWFwIHZpZXcgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHNldFZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcclxuICAgIGlmICh0aGlzLnZpZXdDb250cm9sbGVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52aWV3Q29udHJvbGxlci5jbGVhclN0YXRlSGlzdG9yeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpZXdPcHRpb25zOiBWaWV3T3B0aW9ucyA9IHsgY29uc3RyYWluUmVzb2x1dGlvbjogdHJ1ZSwgLi4ub3B0aW9ucyB9O1xyXG4gICAgaWYgKG9wdGlvbnMuY2VudGVyKSB7XHJcbiAgICAgIHZpZXdPcHRpb25zLmNlbnRlciA9IG9scHJvai5mcm9tTG9uTGF0KFxyXG4gICAgICAgIG9wdGlvbnMuY2VudGVyLFxyXG4gICAgICAgIG9wdGlvbnMucHJvamVjdGlvblxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2wuc2V0VmlldyhuZXcgb2xWaWV3KHZpZXdPcHRpb25zKSk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMubWF4TGF5ZXJab29tRXh0ZW50KSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRyb2xsZXIubWF4TGF5ZXJab29tRXh0ZW50ID0gb3B0aW9ucy5tYXhMYXllclpvb21FeHRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb250cm9scyh2YWx1ZTogTWFwQ29udHJvbHNPcHRpb25zKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29udHJvbHMgPSBbXTtcclxuICAgIGlmICh2YWx1ZS5hdHRyaWJ1dGlvbikge1xyXG4gICAgICBjb25zdCBhdHRyaWJ1dGlvbk9wdCA9IChcclxuICAgICAgICB2YWx1ZS5hdHRyaWJ1dGlvbiA9PT0gdHJ1ZSA/IHt9IDogdmFsdWUuYXR0cmlidXRpb25cclxuICAgICAgKSBhcyBNYXBBdHRyaWJ1dGlvbk9wdGlvbnM7XHJcbiAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbEF0dHJpYnV0aW9uKGF0dHJpYnV0aW9uT3B0KSk7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUuc2NhbGVMaW5lKSB7XHJcbiAgICAgIGNvbnN0IHNjYWxlTGluZU9wdCA9IChcclxuICAgICAgICB2YWx1ZS5zY2FsZUxpbmUgPT09IHRydWUgPyB7fSA6IHZhbHVlLnNjYWxlTGluZVxyXG4gICAgICApIGFzIE1hcFNjYWxlTGluZU9wdGlvbnM7XHJcbiAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbFNjYWxlTGluZShzY2FsZUxpbmVPcHQpKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXJyZW50Q29udHJvbHMgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLm9sLmdldENvbnRyb2xzKCkuZ2V0QXJyYXkoKSk7XHJcbiAgICBjdXJyZW50Q29udHJvbHMuZm9yRWFjaCgoY29udHJvbCkgPT4ge1xyXG4gICAgICB0aGlzLm9sLnJlbW92ZUNvbnRyb2woY29udHJvbCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcclxuICAgICAgdGhpcy5vbC5hZGRDb250cm9sKGNvbnRyb2wpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqIFRPRE86IE1vdmUgdG8gVmlld0NvbnRyb2xsZXIgYW5kIHVwZGF0ZSBldmVyeSBwbGFjZSBpdCdzIHVzZWRcclxuICAgKi9cclxuICBnZXRDZW50ZXIocHJvamVjdGlvbj86IHN0cmluZyB8IE9sUHJvamVjdGlvbik6IFtudW1iZXIsIG51bWJlcl0ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKHByb2plY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKiBUT0RPOiBNb3ZlIHRvIFZpZXdDb250cm9sbGVyIGFuZCB1cGRhdGUgZXZlcnkgcGxhY2UgaXQncyB1c2VkXHJcbiAgICovXHJcbiAgZ2V0RXh0ZW50KHByb2plY3Rpb24/OiBzdHJpbmcgfCBPbFByb2plY3Rpb24pOiBNYXBFeHRlbnQge1xyXG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KHByb2plY3Rpb24pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqIFRPRE86IE1vdmUgdG8gVmlld0NvbnRyb2xsZXIgYW5kIHVwZGF0ZSBldmVyeSBwbGFjZSBpdCdzIHVzZWRcclxuICAgKi9cclxuICBnZXRab29tKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udHJvbGxlci5nZXRab29tKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VCYXNlTGF5ZXIoYmFzZUxheWVyOiBMYXllcikge1xyXG4gICAgaWYgKCFiYXNlTGF5ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgYmwgb2YgdGhpcy5nZXRCYXNlTGF5ZXJzKCkpIHtcclxuICAgICAgYmwudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGJhc2VMYXllci52aXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnZpZXdDb250cm9sbGVyLm9sVmlldy5zZXRNaW5ab29tKFxyXG4gICAgICBiYXNlTGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLm1pblpvb20gfHwgKHRoaXMub3B0aW9ucy52aWV3IHx8IHt9KS5taW5ab29tXHJcbiAgICApO1xyXG4gICAgdGhpcy52aWV3Q29udHJvbGxlci5vbFZpZXcuc2V0TWF4Wm9vbShcclxuICAgICAgYmFzZUxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5tYXhab29tIHx8ICh0aGlzLm9wdGlvbnMudmlldyB8fCB7fSkubWF4Wm9vbVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEJhc2VMYXllcnMoKTogTGF5ZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMuZmlsdGVyKChsYXllcjogTGF5ZXIpID0+IGxheWVyLmJhc2VMYXllciA9PT0gdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5SWQoaWQ6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKChsYXllcjogTGF5ZXIpID0+IGxheWVyLmlkICYmIGxheWVyLmlkID09PSBpZCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxyXG4gICAgICAobGF5ZXI6IExheWVyKSA9PiBsYXllci5hbGlhcyAmJiBsYXllci5hbGlhcyA9PT0gYWxpYXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5T2xVSWQob2xVSWQ6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxyXG4gICAgICAobGF5ZXI6IExheWVyKSA9PiBnZXRVaWQobGF5ZXIub2wpICYmIGdldFVpZChsYXllci5vbCkgPT09IG9sVUlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGF5ZXJCeU9sTGF5ZXIob2xMYXllcjogb2xMYXllcjxvbFNvdXJjZT4pOiBMYXllciB7XHJcbiAgICBjb25zdCBvbFVJZCA9IGdldFVpZChvbExheWVyKTtcclxuICAgIHJldHVybiB0aGlzLmdldExheWVyQnlPbFVJZChvbFVJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSBzaW5nbGUgbGF5ZXJcclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXIgdG8gYWRkXHJcbiAgICogQHBhcmFtIHB1c2ggREVQUkVDQVRFRFxyXG4gICAqL1xyXG4gIGFkZExheWVyKGxheWVyOiBMYXllciwgcHVzaCA9IHRydWUpIHtcclxuICAgIHRoaXMuYWRkTGF5ZXJzKFtsYXllcl0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIG1hbnkgbGF5ZXJzXHJcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnMgdG8gYWRkXHJcbiAgICogQHBhcmFtIHB1c2ggREVQUkVDQVRFRFxyXG4gICAqL1xyXG4gIGFkZExheWVycyhsYXllcnM6IExheWVyW10sIHB1c2ggPSB0cnVlKSB7XHJcbiAgICBsZXQgb2Zmc2V0WkluZGV4ID0gMDtcclxuICAgIGxldCBvZmZzZXRCYXNlTGF5ZXJaSW5kZXggPSAwO1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnMgPSBsYXllcnNcclxuICAgICAgLm1hcCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgICAgaWYgKCFsYXllcikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvZmZzZXQgPSBsYXllci56SW5kZXhcclxuICAgICAgICAgID8gMFxyXG4gICAgICAgICAgOiBsYXllci5iYXNlTGF5ZXJcclxuICAgICAgICAgICAgPyBvZmZzZXRCYXNlTGF5ZXJaSW5kZXgrK1xyXG4gICAgICAgICAgICA6IG9mZnNldFpJbmRleCsrO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvQWRkTGF5ZXIobGF5ZXIsIG9mZnNldCk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5maWx0ZXIoKGxheWVyOiBMYXllciB8IHVuZGVmaW5lZCkgPT4gbGF5ZXIgIT09IHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLnNldExheWVycyhbXS5jb25jYXQodGhpcy5sYXllcnMsIGFkZGVkTGF5ZXJzKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBzaW5nbGUgbGF5ZXJcclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXIgdG8gcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlTGF5ZXIobGF5ZXI6IExheWVyKSB7XHJcbiAgICB0aGlzLnJlbW92ZUxheWVycyhbbGF5ZXJdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBtYW55IGxheWVyc1xyXG4gICAqIEBwYXJhbSBsYXllcnMgTGF5ZXJzIHRvIHJlbW92ZVxyXG4gICAqL1xyXG4gIHJlbW92ZUxheWVycyhsYXllcnM6IExheWVyW10pIHtcclxuICAgIGNvbnN0IG5ld0xheWVycyA9IHRoaXMubGF5ZXJzJC52YWx1ZS5zbGljZSgwKTtcclxuICAgIGNvbnN0IGxheWVyc1RvUmVtb3ZlID0gW107XHJcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXI6IExheWVyKSA9PiB7XHJcbiAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIFZlY3RvckxheWVyKSB7XHJcbiAgICAgICAgbGF5ZXIucmVtb3ZlTGF5ZXJGcm9tSURCKCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW5kZXggPSBuZXdMYXllcnMuaW5kZXhPZihsYXllcik7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgbGF5ZXJzVG9SZW1vdmUucHVzaChsYXllcik7XHJcbiAgICAgICAgbmV3TGF5ZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5rZWRMYXllcnNEZWxldGlvbihsYXllciwgbGF5ZXJzVG9SZW1vdmUpO1xyXG4gICAgICAgIGxheWVyc1RvUmVtb3ZlLm1hcCgobGlua2VkTGF5ZXIpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGxpbmtlZEluZGV4ID0gbmV3TGF5ZXJzLmluZGV4T2YobGlua2VkTGF5ZXIpO1xyXG4gICAgICAgICAgaWYgKGxpbmtlZEluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgbmV3TGF5ZXJzLnNwbGljZShsaW5rZWRJbmRleCwgMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGxheWVyc1RvUmVtb3ZlLmZvckVhY2goKGxheWVyOiBMYXllcikgPT4gdGhpcy5kb1JlbW92ZUxheWVyKGxheWVyKSk7XHJcbiAgICB0aGlzLnNldExheWVycyhuZXdMYXllcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVpbGQgYSBsaXN0IG9mIGxpbmtlZCBsYXllcnMgdG8gZGVsZXRlXHJcbiAgICogQHBhcmFtIHNyY0xheWVyIExheWVyIHRoYXQgaGFzIHRyaWdnZXJlZCB0aGUgZGVsZXRpb25cclxuICAgKiBAcGFyYW0gbGF5ZXJzVG9SZW1vdmUgbGlzdCB0byBhcHBlbmQgdGhlIGxheWVyIHRvIGRlbGV0ZSBpbnRvXHJcbiAgICovXHJcbiAgaGFuZGxlTGlua2VkTGF5ZXJzRGVsZXRpb24oc3JjTGF5ZXI6IExheWVyLCBsYXllcnNUb1JlbW92ZTogTGF5ZXJbXSkge1xyXG4gICAgbGV0IHJvb3RQYXJlbnRCeURlbGV0aW9uID0gZ2V0Um9vdFBhcmVudEJ5RGVsZXRpb24odGhpcywgc3JjTGF5ZXIpO1xyXG4gICAgaWYgKCFyb290UGFyZW50QnlEZWxldGlvbikge1xyXG4gICAgICByb290UGFyZW50QnlEZWxldGlvbiA9IHNyY0xheWVyO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY2xiZCA9IGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbih0aGlzLCByb290UGFyZW50QnlEZWxldGlvbiwgW1xyXG4gICAgICByb290UGFyZW50QnlEZWxldGlvblxyXG4gICAgXSk7XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGNsYmQpIHtcclxuICAgICAgbGF5ZXJzVG9SZW1vdmUucHVzaChsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIGxheWVyc1xyXG4gICAqL1xyXG4gIHJlbW92ZUFsbExheWVycygpIHtcclxuICAgIHRoaXMubGF5ZXJzLmZvckVhY2goKGxheWVyOiBMYXllcikgPT4gdGhpcy5kb1JlbW92ZUxheWVyKGxheWVyKSk7XHJcbiAgICB0aGlzLmxheWVycyQubmV4dChbXSk7XHJcbiAgfVxyXG5cclxuICByYWlzZUxheWVyKGxheWVyOiBMYXllcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldExheWVySW5kZXgobGF5ZXIpO1xyXG4gICAgaWYgKGluZGV4ID4gMSkge1xyXG4gICAgICB0aGlzLm1vdmVMYXllcihsYXllciwgaW5kZXgsIGluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYWlzZUxheWVycyhsYXllcnM6IExheWVyW10pIHtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzKSB7XHJcbiAgICAgIHRoaXMucmFpc2VMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb3dlckxheWVyKGxheWVyOiBMYXllcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldExheWVySW5kZXgobGF5ZXIpO1xyXG4gICAgaWYgKGluZGV4IDwgdGhpcy5sYXllcnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICB0aGlzLm1vdmVMYXllcihsYXllciwgaW5kZXgsIGluZGV4ICsgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb3dlckxheWVycyhsYXllcnM6IExheWVyW10pIHtcclxuICAgIGNvbnN0IHJldmVyc2VMYXllcnMgPSBsYXllcnMucmV2ZXJzZSgpO1xyXG4gICAgZm9yIChjb25zdCBsYXllciBvZiByZXZlcnNlTGF5ZXJzKSB7XHJcbiAgICAgIHRoaXMubG93ZXJMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3ZlTGF5ZXIobGF5ZXI6IExheWVyLCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGxheWVyVG8gPSB0aGlzLmxheWVyc1t0b107XHJcbiAgICBjb25zdCB6SW5kZXhUbyA9IGxheWVyVG8uekluZGV4O1xyXG4gICAgY29uc3QgekluZGV4RnJvbSA9IGxheWVyLnpJbmRleDtcclxuXHJcbiAgICBpZiAobGF5ZXJUby5iYXNlTGF5ZXIgfHwgbGF5ZXIuYmFzZUxheWVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsYXllci56SW5kZXggPSB6SW5kZXhUbztcclxuICAgIGxheWVyVG8uekluZGV4ID0gekluZGV4RnJvbTtcclxuXHJcbiAgICB0aGlzLmxheWVyc1t0b10gPSBsYXllcjtcclxuICAgIHRoaXMubGF5ZXJzW2Zyb21dID0gbGF5ZXJUbztcclxuICAgIHRoaXMubGF5ZXJzJC5uZXh0KHRoaXMubGF5ZXJzLnNsaWNlKDApKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIGxheWVyIHRvIHRoZSBPTCBtYXAgYW5kIHN0YXJ0IHdhdGNoaW5nLiBJZiB0aGUgbGF5ZXIgaXMgYWxyZWFkeVxyXG4gICAqIGFkZGVkIHRvIHRoaXMgbWFwLCBtYWtlIGl0IHZpc2libGUgYnV0IGRvbid0IGFkZCBpdCBvbmUgYWdhaW4uXHJcbiAgICogQHBhcmFtIGxheWVyIExheWVyXHJcbiAgICogQHJldHVybnMgVGhlIGxheWVyIGFkZGVkLCBpZiBhbnlcclxuICAgKi9cclxuICBwcml2YXRlIGRvQWRkTGF5ZXIobGF5ZXI6IExheWVyLCBvZmZzZXRaSW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGxheWVyLmJhc2VMYXllciAmJiBsYXllci52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlQmFzZUxheWVyKGxheWVyKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBleGlzdGluZ0xheWVyID0gdGhpcy5nZXRMYXllckJ5SWQobGF5ZXIuaWQpO1xyXG4gICAgaWYgKGV4aXN0aW5nTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBleGlzdGluZ0xheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFsYXllci5iYXNlTGF5ZXIgJiYgbGF5ZXIuekluZGV4KSB7XHJcbiAgICAgIGxheWVyLnpJbmRleCArPSAxMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXIuekluZGV4ID09PSB1bmRlZmluZWQgfHwgbGF5ZXIuekluZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IG1heFpJbmRleCA9IE1hdGgubWF4KFxyXG4gICAgICAgIGxheWVyLmJhc2VMYXllciA/IDAgOiAxMCxcclxuICAgICAgICAuLi50aGlzLmxheWVyc1xyXG4gICAgICAgICAgLmZpbHRlcihcclxuICAgICAgICAgICAgKGwpID0+IGwuYmFzZUxheWVyID09PSBsYXllci5iYXNlTGF5ZXIgJiYgbC56SW5kZXggPCAyMDAgLy8gekluZGV4ID4gMjAwID0gc3lzdGVtIGxheWVyXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAubWFwKChsKSA9PiBsLnpJbmRleClcclxuICAgICAgKTtcclxuICAgICAgbGF5ZXIuekluZGV4ID0gbWF4WkluZGV4ICsgMSArIG9mZnNldFpJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXIuYmFzZUxheWVyICYmIGxheWVyLnpJbmRleCA+IDkpIHtcclxuICAgICAgbGF5ZXIuekluZGV4ID0gMTA7IC8vIGJhc2VsYXllciBtdXN0IGhhdmUgekluZGV4IDwgMTBcclxuICAgIH1cclxuXHJcbiAgICBsYXllci5zZXRNYXAodGhpcyk7XHJcbiAgICB0aGlzLmxheWVyV2F0Y2hlci53YXRjaExheWVyKGxheWVyKTtcclxuICAgIHRoaXMub2wuYWRkTGF5ZXIobGF5ZXIub2wpO1xyXG5cclxuICAgIHJldHVybiBsYXllcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhIGxheWVyIGZyb20gdGhlIE9MIG1hcCBhbmQgc3RvcCB3YXRjaGluZ1xyXG4gICAqIEBwYXJhbSBsYXllciBMYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgZG9SZW1vdmVMYXllcihsYXllcjogTGF5ZXIpIHtcclxuICAgIHRoaXMubGF5ZXJXYXRjaGVyLnVud2F0Y2hMYXllcihsYXllcik7XHJcbiAgICB0aGlzLm9sLnJlbW92ZUxheWVyKGxheWVyLm9sKTtcclxuICAgIGxheWVyLnNldE1hcCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBsYXllcnMgb2JzZXJ2YWJsZVxyXG4gICAqIEBwYXJhbSBsYXllcnMgTGF5ZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRMYXllcnMobGF5ZXJzOiBMYXllcltdKSB7XHJcbiAgICB0aGlzLmxheWVycyQubmV4dCh0aGlzLnNvcnRMYXllcnNCeVpJbmRleChsYXllcnMpLnNsaWNlKDApKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgbGF5ZXJzIGJ5IGRlc2NlbmRpbmcgekluZGV4XHJcbiAgICogQHBhcmFtIGxheWVycyBBcnJheSBvZiBsYXllcnNcclxuICAgKiBAcmV0dXJucyBUaGUgb3JpZ2luYWwgYXJyYXksIHNvcnRlZCBieSB6SW5kZXhcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRMYXllcnNCeVpJbmRleChsYXllcnM6IExheWVyW10pIHtcclxuICAgIC8vIFNvcnQgYnkgZGVzY2VuZGluZyB6SW5kZXhcclxuICAgIHJldHVybiBsYXllcnMuc29ydChcclxuICAgICAgKGxheWVyMTogTGF5ZXIsIGxheWVyMjogTGF5ZXIpID0+IGxheWVyMi56SW5kZXggLSBsYXllcjEuekluZGV4XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGxheWVyIGluZGV4IGluIHRoZSBtYXAncyBpbmVuciBhcnJheSBvZiBsYXllcnNcclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXJcclxuICAgKiBAcmV0dXJucyBUaGUgbGF5ZXIgaW5kZXhcclxuICAgKi9cclxuICBwcml2YXRlIGdldExheWVySW5kZXgobGF5ZXI6IExheWVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMuZmluZEluZGV4KChfbGF5ZXI6IExheWVyKSA9PiBfbGF5ZXIgPT09IGxheWVyKTtcclxuICB9XHJcbn1cclxuIl19
437
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxLQUFLLE1BQU0sUUFBUSxDQUFDO0FBRTNCLE9BQU8sTUFBdUIsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxvQkFBb0IsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBVyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JFLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixpQ0FBaUMsRUFDbEMsTUFBTSxzQkFBc0IsQ0FBQztBQVc5Qiw4RUFBOEU7QUFDOUUsb0NBQW9DO0FBQ3BDLE1BQU0sT0FBTyxNQUFNO0lBNENQO0lBQ0E7SUE1Q0gsRUFBRSxDQUFRO0lBQ1YsY0FB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T0FHRztJQUNLLFNBQVMsQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQixDQUFDLE1BQWU7UUFDeEMsNEJBQTRCO1FBQzVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsQ0FBQyxNQUFhLEVBQUUsTUFBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2hFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyBPYmplY3RFdmVudCB9IGZyb20gJ29sL09iamVjdCc7XG5pbXBvcnQgb2xWaWV3LCB7IFZpZXdPcHRpb25zIH0gZnJvbSAnb2wvVmlldyc7XG5pbXBvcnQgb2xDb250cm9sQXR0cmlidXRpb24gZnJvbSAnb2wvY29udHJvbC9BdHRyaWJ1dGlvbic7XG5pbXBvcnQgb2xDb250cm9sU2NhbGVMaW5lIGZyb20gJ29sL2NvbnRyb2wvU2NhbGVMaW5lJztcbmltcG9ydCAqIGFzIG9saW50ZXJhY3Rpb24gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xuaW1wb3J0IG9sTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInO1xuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IE9sUHJvamVjdGlvbiBmcm9tICdvbC9wcm9qL1Byb2plY3Rpb24nO1xuaW1wb3J0ICogYXMgb2xwcm9qNCBmcm9tICdvbC9wcm9qL3Byb2o0JztcbmltcG9ydCBvbFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJztcbmltcG9ydCB7IGdldFVpZCB9IGZyb20gJ29sL3V0aWwnO1xuXG5pbXBvcnQgcHJvajQgZnJvbSAncHJvajQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBwYWlyd2lzZSwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcbmltcG9ydCB7IExheWVyLCBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uL292ZXJsYXkvc2hhcmVkL292ZXJsYXknO1xuaW1wb3J0IHsgTGF5ZXJXYXRjaGVyIH0gZnJvbSAnLi4vdXRpbHMvbGF5ZXItd2F0Y2hlcic7XG5pbXBvcnQgeyBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXJzL2dlb2xvY2F0aW9uJztcbmltcG9ydCB7IE1hcFZpZXdDb250cm9sbGVyIH0gZnJvbSAnLi9jb250cm9sbGVycy92aWV3JztcbmltcG9ydCB7XG4gIGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbixcbiAgZ2V0Um9vdFBhcmVudEJ5RGVsZXRpb24sXG4gIGhhbmRsZUxheWVyUHJvcGVydHlDaGFuZ2UsXG4gIGluaXRMYXllclN5bmNGcm9tUm9vdFBhcmVudExheWVyc1xufSBmcm9tICcuL2xpbmtlZExheWVycy51dGlscyc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQge1xuICBNYXBBdHRyaWJ1dGlvbk9wdGlvbnMsXG4gIE1hcENvbnRyb2xzT3B0aW9ucyxcbiAgTWFwRXh0ZW50LFxuICBNYXBPcHRpb25zLFxuICBNYXBTY2FsZUxpbmVPcHRpb25zLFxuICBNYXBWaWV3T3B0aW9uc1xufSBmcm9tICcuL21hcC5pbnRlcmZhY2UnO1xuXG4vLyBUT0RPOiBUaGlzIGNsYXNzIGlzIG1lc3N5LiBDbGVhcmx5IGRlZmluZSBpdCdzIHNjb3BlIGFuZCB0aGUgbWFwIGJyb3dzZXIncy5cbi8vIE1vdmUgc29tZSBzdHVmZiBpbnRvIGNvbnRyb2xsZXJzLlxuZXhwb3J0IGNsYXNzIElnb01hcCBpbXBsZW1lbnRzIE1hcEJhc2Uge1xuICBwdWJsaWMgb2w6IG9sTWFwO1xuICBwdWJsaWMgZm9yY2VkT2ZmbGluZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGxheWVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyW10+KFtdKTtcbiAgcHVibGljIGxheWVyc0FkZGVkQnlDbGljayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyW10+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyBzdGF0dXMkOiBTdWJqZWN0PFN1YmplY3RTdGF0dXM+O1xuICBwdWJsaWMgcHJvcGVydHlDaGFuZ2UkOiBTdWJqZWN0PHsgZXZlbnQ6IE9iamVjdEV2ZW50OyBsYXllcjogTGF5ZXIgfT47XG4gIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5O1xuICBwdWJsaWMgcXVlcnlSZXN1bHRzT3ZlcmxheTogT3ZlcmxheTtcbiAgcHVibGljIHNlYXJjaFJlc3VsdHNPdmVybGF5OiBPdmVybGF5O1xuICBwdWJsaWMgdmlld0NvbnRyb2xsZXI6IE1hcFZpZXdDb250cm9sbGVyO1xuICBwdWJsaWMgZ2VvbG9jYXRpb25Db250cm9sbGVyOiBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXI7XG4gIHB1YmxpYyBzd2lwZUVuYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBtYXBDZW50ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBzZWxlY3RlZEZlYXR1cmVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXJbXT4obnVsbCk7XG5cbiAgcHVibGljIGJ1ZmZlckRhdGFTb3VyY2U6IEZlYXR1cmVEYXRhU291cmNlO1xuXG4gIHByaXZhdGUgbGF5ZXJXYXRjaGVyOiBMYXllcldhdGNoZXI7XG4gIHByaXZhdGUgb3B0aW9uczogTWFwT3B0aW9ucztcbiAgcHJpdmF0ZSBtYXBWaWV3T3B0aW9uczogTWFwVmlld09wdGlvbnM7XG4gIHByaXZhdGUgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8TWFwT3B0aW9ucz4gPSB7XG4gICAgY29udHJvbHM6IHsgYXR0cmlidXRpb246IGZhbHNlIH1cbiAgfTtcblxuICBnZXQgbGF5ZXJzKCk6IExheWVyW10ge1xuICAgIHJldHVybiB0aGlzLmxheWVycyQudmFsdWU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIHByb2plY3Rpb25Db2RlICovXG4gIGdldCBwcm9qZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdGlvbkNvZGU7XG4gIH1cblxuICBnZXQgdmlld1Byb2plY3Rpb24oKTogb2xwcm9qLlByb2plY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250cm9sbGVyLmdldE9sUHJvamVjdGlvbigpO1xuICB9XG5cbiAgZ2V0IHByb2plY3Rpb25Db2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmlld1Byb2plY3Rpb24uZ2V0Q29kZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9ucz86IE1hcE9wdGlvbnMsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZT86IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZT86IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgdGhpcy5sYXllcldhdGNoZXIgPSBuZXcgTGF5ZXJXYXRjaGVyKCk7XG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy5sYXllcldhdGNoZXIuc3RhdHVzJDtcbiAgICB0aGlzLnByb3BlcnR5Q2hhbmdlJCA9IHRoaXMubGF5ZXJXYXRjaGVyLnByb3BlcnR5Q2hhbmdlJDtcbiAgICBvbHByb2o0LnJlZ2lzdGVyKHByb2o0KTtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgY29uc3QgY29udHJvbHMgPSBbXTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzLmF0dHJpYnV0aW9uKSB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0aW9uT3B0ID0gKFxuICAgICAgICAgIHRoaXMub3B0aW9ucy5jb250cm9scy5hdHRyaWJ1dGlvbiA9PT0gdHJ1ZVxuICAgICAgICAgICAgPyB7fVxuICAgICAgICAgICAgOiB0aGlzLm9wdGlvbnMuY29udHJvbHMuYXR0cmlidXRpb25cbiAgICAgICAgKSBhcyBNYXBBdHRyaWJ1dGlvbk9wdGlvbnM7XG4gICAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbEF0dHJpYnV0aW9uKGF0dHJpYnV0aW9uT3B0KSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzLnNjYWxlTGluZSkge1xuICAgICAgICBjb25zdCBzY2FsZUxpbmVPcHQgPSAoXG4gICAgICAgICAgdGhpcy5vcHRpb25zLmNvbnRyb2xzLnNjYWxlTGluZSA9PT0gdHJ1ZVxuICAgICAgICAgICAgPyB7fVxuICAgICAgICAgICAgOiB0aGlzLm9wdGlvbnMuY29udHJvbHMuc2NhbGVMaW5lXG4gICAgICAgICkgYXMgTWFwU2NhbGVMaW5lT3B0aW9ucztcbiAgICAgICAgY29udHJvbHMucHVzaChuZXcgb2xDb250cm9sU2NhbGVMaW5lKHNjYWxlTGluZU9wdCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgaW50ZXJhY3Rpb25zID0ge307XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcmFjdGlvbnMgPT09IGZhbHNlKSB7XG4gICAgICBpbnRlcmFjdGlvbnMgPSB7XG4gICAgICAgIGFsdFNoaWZ0RHJhZ1JvdGF0ZTogZmFsc2UsXG4gICAgICAgIGRvdWJsZUNsaWNrWm9vbTogZmFsc2UsXG4gICAgICAgIGtleWJvYXJkOiBmYWxzZSxcbiAgICAgICAgbW91c2VXaGVlbFpvb206IGZhbHNlLFxuICAgICAgICBzaGlmdERyYWdab29tOiBmYWxzZSxcbiAgICAgICAgZHJhZ1BhbjogZmFsc2UsXG4gICAgICAgIHBpbmNoUm90YXRlOiBmYWxzZSxcbiAgICAgICAgcGluY2hab29tOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9sID0gbmV3IG9sTWFwKHtcbiAgICAgIGludGVyYWN0aW9uczogb2xpbnRlcmFjdGlvbi5kZWZhdWx0cyhpbnRlcmFjdGlvbnMpLFxuICAgICAgY29udHJvbHNcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0Vmlldyh0aGlzLm9wdGlvbnMudmlldyB8fCB7fSk7XG4gICAgdGhpcy52aWV3Q29udHJvbGxlciA9IG5ldyBNYXBWaWV3Q29udHJvbGxlcih7XG4gICAgICBzdGF0ZUhpc3Rvcnk6IHRydWVcbiAgICB9KTtcbiAgICB0aGlzLnZpZXdDb250cm9sbGVyLnNldE9sTWFwKHRoaXMub2wpO1xuICAgIHRoaXMub3ZlcmxheSA9IG5ldyBPdmVybGF5KHRoaXMpO1xuICAgIHRoaXMucXVlcnlSZXN1bHRzT3ZlcmxheSA9IG5ldyBPdmVybGF5KHRoaXMpO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c092ZXJsYXkgPSBuZXcgT3ZlcmxheSh0aGlzKTtcbiAgICB0aGlzLm9sLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdGhpcy5nZW9sb2NhdGlvbkNvbnRyb2xsZXIgPSBuZXcgTWFwR2VvbG9jYXRpb25Db250cm9sbGVyKFxuICAgICAgICB0aGlzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvamVjdGlvbjogdGhpcy52aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKVxuICAgICAgICB9LFxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICk7XG4gICAgICB0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlci5zZXRPbE1hcCh0aGlzLm9sKTtcbiAgICAgIGlmICh0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlcikge1xuICAgICAgICB0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlci51cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnMoXG4gICAgICAgICAgdGhpcy5tYXBWaWV3T3B0aW9uc1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5sYXllcnMkLnBpcGUocGFpcndpc2UoKSkuc3Vic2NyaWJlKChbcHJldkxheWVycywgY3VycmVudExheWVyc10pID0+IHtcbiAgICAgICAgbGV0IHByZXZMYXllcnNJZDtcbiAgICAgICAgaWYgKHByZXZMYXllcnMpIHtcbiAgICAgICAgICBwcmV2TGF5ZXJzSWQgPSBwcmV2TGF5ZXJzLm1hcCgobCkgPT4gbC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGF5ZXJzID0gY3VycmVudExheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGwpID0+ICFwcmV2TGF5ZXJzSWQuaW5jbHVkZXMobC5pZClcbiAgICAgICAgKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVycykge1xuICAgICAgICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycykge1xuICAgICAgICAgICAgbGF5ZXIub2wub25jZSgncG9zdHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgICAgICAgaW5pdExheWVyU3luY0Zyb21Sb290UGFyZW50TGF5ZXJzKHRoaXMsIGxheWVycyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy52aWV3Q29udHJvbGxlci5tb25pdG9yUm90YXRpb24oKTtcbiAgICB9KTtcbiAgICB0aGlzLnByb3BlcnR5Q2hhbmdlJFxuICAgICAgLnBpcGUoc2tpcFdoaWxlKChwYykgPT4gIXBjKSlcbiAgICAgIC5zdWJzY3JpYmUoKHApID0+IGhhbmRsZUxheWVyUHJvcGVydHlDaGFuZ2UodGhpcywgcC5ldmVudCwgcC5sYXllcikpO1xuICB9XG5cbiAgc2V0VGFyZ2V0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9sLnNldFRhcmdldChpZCk7XG4gICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGF5ZXJXYXRjaGVyLnN1YnNjcmliZSgoKSA9PiB7fSwgbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGF5ZXJXYXRjaGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVmlldyhvcHRpb25zOiBNYXBWaWV3T3B0aW9ucykge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3ID0gdGhpcy5vbC5nZXRWaWV3KCk7XG4gICAgY29uc3Qgdmlld09wdGlvbnM6IE1hcFZpZXdPcHRpb25zID0ge1xuICAgICAgLi4uY3VycmVudFZpZXcuZ2V0UHJvcGVydGllcygpLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy56b29tICYmIG9wdGlvbnMucmVzb2x1dGlvbiA9PSBudWxsKSB7XG4gICAgICB2aWV3T3B0aW9ucy5yZXNvbHV0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Vmlldyh2aWV3T3B0aW9ucyk7XG4gICAgaWYgKG9wdGlvbnMubWF4Wm9vbU9uRXh0ZW50KSB7XG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLm1heFpvb21PbkV4dGVudCA9IG9wdGlvbnMubWF4Wm9vbU9uRXh0ZW50O1xuICAgIH1cbiAgICB0aGlzLm1hcFZpZXdPcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG1hcCB2aWV3XG4gICAqIEBwYXJhbSBvcHRpb25zIE1hcCB2aWV3IG9wdGlvbnNcbiAgICovXG4gIHNldFZpZXcob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcbiAgICBpZiAodGhpcy52aWV3Q29udHJvbGxlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLmNsZWFyU3RhdGVIaXN0b3J5KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld09wdGlvbnM6IFZpZXdPcHRpb25zID0geyBjb25zdHJhaW5SZXNvbHV0aW9uOiB0cnVlLCAuLi5vcHRpb25zIH07XG4gICAgaWYgKG9wdGlvbnMuY2VudGVyKSB7XG4gICAgICB2aWV3T3B0aW9ucy5jZW50ZXIgPSBvbHByb2ouZnJvbUxvbkxhdChcbiAgICAgICAgb3B0aW9ucy5jZW50ZXIsXG4gICAgICAgIG9wdGlvbnMucHJvamVjdGlvblxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm9sLnNldFZpZXcobmV3IG9sVmlldyh2aWV3T3B0aW9ucykpO1xuXG4gICAgaWYgKG9wdGlvbnMubWF4TGF5ZXJab29tRXh0ZW50KSB7XG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLm1heExheWVyWm9vbUV4dGVudCA9IG9wdGlvbnMubWF4TGF5ZXJab29tRXh0ZW50O1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNvbnRyb2xzKHZhbHVlOiBNYXBDb250cm9sc09wdGlvbnMpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xzID0gW107XG4gICAgaWYgKHZhbHVlLmF0dHJpYnV0aW9uKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGlvbk9wdCA9IChcbiAgICAgICAgdmFsdWUuYXR0cmlidXRpb24gPT09IHRydWUgPyB7fSA6IHZhbHVlLmF0dHJpYnV0aW9uXG4gICAgICApIGFzIE1hcEF0dHJpYnV0aW9uT3B0aW9ucztcbiAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbEF0dHJpYnV0aW9uKGF0dHJpYnV0aW9uT3B0KSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5zY2FsZUxpbmUpIHtcbiAgICAgIGNvbnN0IHNjYWxlTGluZU9wdCA9IChcbiAgICAgICAgdmFsdWUuc2NhbGVMaW5lID09PSB0cnVlID8ge30gOiB2YWx1ZS5zY2FsZUxpbmVcbiAgICAgICkgYXMgTWFwU2NhbGVMaW5lT3B0aW9ucztcbiAgICAgIGNvbnRyb2xzLnB1c2gobmV3IG9sQ29udHJvbFNjYWxlTGluZShzY2FsZUxpbmVPcHQpKTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Q29udHJvbHMgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLm9sLmdldENvbnRyb2xzKCkuZ2V0QXJyYXkoKSk7XG4gICAgY3VycmVudENvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgIHRoaXMub2wucmVtb3ZlQ29udHJvbChjb250cm9sKTtcbiAgICB9KTtcbiAgICBjb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XG4gICAgICB0aGlzLm9sLmFkZENvbnRyb2woY29udHJvbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVE9ETzogTW92ZSB0byBWaWV3Q29udHJvbGxlciBhbmQgdXBkYXRlIGV2ZXJ5IHBsYWNlIGl0J3MgdXNlZFxuICAgKi9cbiAgZ2V0Q2VudGVyKHByb2plY3Rpb24/OiBzdHJpbmcgfCBPbFByb2plY3Rpb24pOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIocHJvamVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVE9ETzogTW92ZSB0byBWaWV3Q29udHJvbGxlciBhbmQgdXBkYXRlIGV2ZXJ5IHBsYWNlIGl0J3MgdXNlZFxuICAgKi9cbiAgZ2V0RXh0ZW50KHByb2plY3Rpb24/OiBzdHJpbmcgfCBPbFByb2plY3Rpb24pOiBNYXBFeHRlbnQge1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250cm9sbGVyLmdldEV4dGVudChwcm9qZWN0aW9uKTtcbiAgfVxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVE9ETzogTW92ZSB0byBWaWV3Q29udHJvbGxlciBhbmQgdXBkYXRlIGV2ZXJ5IHBsYWNlIGl0J3MgdXNlZFxuICAgKi9cbiAgZ2V0Wm9vbSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250cm9sbGVyLmdldFpvb20oKTtcbiAgfVxuXG4gIGNoYW5nZUJhc2VMYXllcihiYXNlTGF5ZXI6IExheWVyKSB7XG4gICAgaWYgKCFiYXNlTGF5ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGJsIG9mIHRoaXMuZ2V0QmFzZUxheWVycygpKSB7XG4gICAgICBibC52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgYmFzZUxheWVyLnZpc2libGUgPSB0cnVlO1xuXG4gICAgdGhpcy52aWV3Q29udHJvbGxlci5vbFZpZXcuc2V0TWluWm9vbShcbiAgICAgIGJhc2VMYXllci5kYXRhU291cmNlLm9wdGlvbnMubWluWm9vbSB8fCAodGhpcy5vcHRpb25zLnZpZXcgfHwge30pLm1pblpvb21cbiAgICApO1xuICAgIHRoaXMudmlld0NvbnRyb2xsZXIub2xWaWV3LnNldE1heFpvb20oXG4gICAgICBiYXNlTGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLm1heFpvb20gfHwgKHRoaXMub3B0aW9ucy52aWV3IHx8IHt9KS5tYXhab29tXG4gICAgKTtcbiAgfVxuXG4gIGdldEJhc2VMYXllcnMoKTogTGF5ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzLmZpbHRlcigobGF5ZXI6IExheWVyKSA9PiBsYXllci5iYXNlTGF5ZXIgPT09IHRydWUpO1xuICB9XG5cbiAgZ2V0TGF5ZXJCeUlkKGlkOiBzdHJpbmcpOiBMYXllciB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzLmZpbmQoKGxheWVyOiBMYXllcikgPT4gbGF5ZXIuaWQgJiYgbGF5ZXIuaWQgPT09IGlkKTtcbiAgfVxuXG4gIGdldExheWVyQnlBbGlhcyhhbGlhczogc3RyaW5nKTogTGF5ZXIge1xuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxuICAgICAgKGxheWVyOiBMYXllcikgPT4gbGF5ZXIuYWxpYXMgJiYgbGF5ZXIuYWxpYXMgPT09IGFsaWFzXG4gICAgKTtcbiAgfVxuXG4gIGdldExheWVyQnlPbFVJZChvbFVJZDogc3RyaW5nKTogTGF5ZXIge1xuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxuICAgICAgKGxheWVyOiBMYXllcikgPT4gZ2V0VWlkKGxheWVyLm9sKSAmJiBnZXRVaWQobGF5ZXIub2wpID09PSBvbFVJZFxuICAgICk7XG4gIH1cblxuICBnZXRMYXllckJ5T2xMYXllcihvbExheWVyOiBvbExheWVyPG9sU291cmNlPik6IExheWVyIHtcbiAgICBjb25zdCBvbFVJZCA9IGdldFVpZChvbExheWVyKTtcbiAgICByZXR1cm4gdGhpcy5nZXRMYXllckJ5T2xVSWQob2xVSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNpbmdsZSBsYXllclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXIgdG8gYWRkXG4gICAqIEBwYXJhbSBwdXNoIERFUFJFQ0FURURcbiAgICovXG4gIGFkZExheWVyKGxheWVyOiBMYXllciwgcHVzaCA9IHRydWUpIHtcbiAgICB0aGlzLmFkZExheWVycyhbbGF5ZXJdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbWFueSBsYXllcnNcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnMgdG8gYWRkXG4gICAqIEBwYXJhbSBwdXNoIERFUFJFQ0FURURcbiAgICovXG4gIGFkZExheWVycyhsYXllcnM6IExheWVyW10sIHB1c2ggPSB0cnVlKSB7XG4gICAgbGV0IG9mZnNldFpJbmRleCA9IDA7XG4gICAgbGV0IG9mZnNldEJhc2VMYXllclpJbmRleCA9IDA7XG4gICAgY29uc3QgYWRkZWRMYXllcnMgPSBsYXllcnNcbiAgICAgIC5tYXAoKGxheWVyOiBMYXllcikgPT4ge1xuICAgICAgICBpZiAoIWxheWVyKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGxheWVyLnpJbmRleFxuICAgICAgICAgID8gMFxuICAgICAgICAgIDogbGF5ZXIuYmFzZUxheWVyXG4gICAgICAgICAgICA/IG9mZnNldEJhc2VMYXllclpJbmRleCsrXG4gICAgICAgICAgICA6IG9mZnNldFpJbmRleCsrO1xuICAgICAgICByZXR1cm4gdGhpcy5kb0FkZExheWVyKGxheWVyLCBvZmZzZXQpO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGxheWVyOiBMYXllciB8IHVuZGVmaW5lZCkgPT4gbGF5ZXIgIT09IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5zZXRMYXllcnMoW10uY29uY2F0KHRoaXMubGF5ZXJzLCBhZGRlZExheWVycykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHNpbmdsZSBsYXllclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXIgdG8gcmVtb3ZlXG4gICAqL1xuICByZW1vdmVMYXllcihsYXllcjogTGF5ZXIpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVycyhbbGF5ZXJdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbWFueSBsYXllcnNcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnMgdG8gcmVtb3ZlXG4gICAqL1xuICByZW1vdmVMYXllcnMobGF5ZXJzOiBMYXllcltdKSB7XG4gICAgY29uc3QgbmV3TGF5ZXJzID0gdGhpcy5sYXllcnMkLnZhbHVlLnNsaWNlKDApO1xuICAgIGNvbnN0IGxheWVyc1RvUmVtb3ZlID0gW107XG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyOiBMYXllcikgPT4ge1xuICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgVmVjdG9yTGF5ZXIpIHtcbiAgICAgICAgbGF5ZXIucmVtb3ZlTGF5ZXJGcm9tSURCKCk7XG4gICAgICB9XG4gICAgICBjb25zdCBpbmRleCA9IG5ld0xheWVycy5pbmRleE9mKGxheWVyKTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgIGxheWVyc1RvUmVtb3ZlLnB1c2gobGF5ZXIpO1xuICAgICAgICBuZXdMYXllcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5rZWRMYXllcnNEZWxldGlvbihsYXllciwgbGF5ZXJzVG9SZW1vdmUpO1xuICAgICAgICBsYXllcnNUb1JlbW92ZS5tYXAoKGxpbmtlZExheWVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgbGlua2VkSW5kZXggPSBuZXdMYXllcnMuaW5kZXhPZihsaW5rZWRMYXllcik7XG4gICAgICAgICAgaWYgKGxpbmtlZEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIG5ld0xheWVycy5zcGxpY2UobGlua2VkSW5kZXgsIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsYXllcnNUb1JlbW92ZS5mb3JFYWNoKChsYXllcjogTGF5ZXIpID0+IHRoaXMuZG9SZW1vdmVMYXllcihsYXllcikpO1xuICAgIHRoaXMuc2V0TGF5ZXJzKG5ld0xheWVycyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBsaXN0IG9mIGxpbmtlZCBsYXllcnMgdG8gZGVsZXRlXG4gICAqIEBwYXJhbSBzcmNMYXllciBMYXllciB0aGF0IGhhcyB0cmlnZ2VyZWQgdGhlIGRlbGV0aW9uXG4gICAqIEBwYXJhbSBsYXllcnNUb1JlbW92ZSBsaXN0IHRvIGFwcGVuZCB0aGUgbGF5ZXIgdG8gZGVsZXRlIGludG9cbiAgICovXG4gIGhhbmRsZUxpbmtlZExheWVyc0RlbGV0aW9uKHNyY0xheWVyOiBMYXllciwgbGF5ZXJzVG9SZW1vdmU6IExheWVyW10pIHtcbiAgICBsZXQgcm9vdFBhcmVudEJ5RGVsZXRpb24gPSBnZXRSb290UGFyZW50QnlEZWxldGlvbih0aGlzLCBzcmNMYXllcik7XG4gICAgaWYgKCFyb290UGFyZW50QnlEZWxldGlvbikge1xuICAgICAgcm9vdFBhcmVudEJ5RGVsZXRpb24gPSBzcmNMYXllcjtcbiAgICB9XG4gICAgY29uc3QgY2xiZCA9IGdldEFsbENoaWxkTGF5ZXJzQnlEZWxldGlvbih0aGlzLCByb290UGFyZW50QnlEZWxldGlvbiwgW1xuICAgICAgcm9vdFBhcmVudEJ5RGVsZXRpb25cbiAgICBdKTtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGNsYmQpIHtcbiAgICAgIGxheWVyc1RvUmVtb3ZlLnB1c2gobGF5ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWxsIGxheWVyc1xuICAgKi9cbiAgcmVtb3ZlQWxsTGF5ZXJzKCkge1xuICAgIHRoaXMubGF5ZXJzLmZvckVhY2goKGxheWVyOiBMYXllcikgPT4gdGhpcy5kb1JlbW92ZUxheWVyKGxheWVyKSk7XG4gICAgdGhpcy5sYXllcnMkLm5leHQoW10pO1xuICB9XG5cbiAgcmFpc2VMYXllcihsYXllcjogTGF5ZXIpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0TGF5ZXJJbmRleChsYXllcik7XG4gICAgaWYgKGluZGV4ID4gMSkge1xuICAgICAgdGhpcy5tb3ZlTGF5ZXIobGF5ZXIsIGluZGV4LCBpbmRleCAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIHJhaXNlTGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzKSB7XG4gICAgICB0aGlzLnJhaXNlTGF5ZXIobGF5ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGxvd2VyTGF5ZXIobGF5ZXI6IExheWVyKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldExheWVySW5kZXgobGF5ZXIpO1xuICAgIGlmIChpbmRleCA8IHRoaXMubGF5ZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHRoaXMubW92ZUxheWVyKGxheWVyLCBpbmRleCwgaW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBsb3dlckxheWVycyhsYXllcnM6IExheWVyW10pIHtcbiAgICBjb25zdCByZXZlcnNlTGF5ZXJzID0gbGF5ZXJzLnJldmVyc2UoKTtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHJldmVyc2VMYXllcnMpIHtcbiAgICAgIHRoaXMubG93ZXJMYXllcihsYXllcik7XG4gICAgfVxuICB9XG5cbiAgbW92ZUxheWVyKGxheWVyOiBMYXllciwgZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKSB7XG4gICAgY29uc3QgbGF5ZXJUbyA9IHRoaXMubGF5ZXJzW3RvXTtcbiAgICBjb25zdCB6SW5kZXhUbyA9IGxheWVyVG8uekluZGV4O1xuICAgIGNvbnN0IHpJbmRleEZyb20gPSBsYXllci56SW5kZXg7XG5cbiAgICBpZiAobGF5ZXJUby5iYXNlTGF5ZXIgfHwgbGF5ZXIuYmFzZUxheWVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGF5ZXIuekluZGV4ID0gekluZGV4VG87XG4gICAgbGF5ZXJUby56SW5kZXggPSB6SW5kZXhGcm9tO1xuXG4gICAgdGhpcy5sYXllcnNbdG9dID0gbGF5ZXI7XG4gICAgdGhpcy5sYXllcnNbZnJvbV0gPSBsYXllclRvO1xuICAgIHRoaXMubGF5ZXJzJC5uZXh0KHRoaXMubGF5ZXJzLnNsaWNlKDApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBsYXllciB0byB0aGUgT0wgbWFwIGFuZCBzdGFydCB3YXRjaGluZy4gSWYgdGhlIGxheWVyIGlzIGFscmVhZHlcbiAgICogYWRkZWQgdG8gdGhpcyBtYXAsIG1ha2UgaXQgdmlzaWJsZSBidXQgZG9uJ3QgYWRkIGl0IG9uZSBhZ2Fpbi5cbiAgICogQHBhcmFtIGxheWVyIExheWVyXG4gICAqIEByZXR1cm5zIFRoZSBsYXllciBhZGRlZCwgaWYgYW55XG4gICAqL1xuICBwcml2YXRlIGRvQWRkTGF5ZXIobGF5ZXI6IExheWVyLCBvZmZzZXRaSW5kZXg6IG51bWJlcikge1xuICAgIGlmIChsYXllci5iYXNlTGF5ZXIgJiYgbGF5ZXIudmlzaWJsZSkge1xuICAgICAgdGhpcy5jaGFuZ2VCYXNlTGF5ZXIobGF5ZXIpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nTGF5ZXIgPSB0aGlzLmdldExheWVyQnlJZChsYXllci5pZCk7XG4gICAgaWYgKGV4aXN0aW5nTGF5ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZXhpc3RpbmdMYXllci52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWxheWVyLmJhc2VMYXllciAmJiBsYXllci56SW5kZXgpIHtcbiAgICAgIGxheWVyLnpJbmRleCArPSAxMDtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXIuekluZGV4ID09PSB1bmRlZmluZWQgfHwgbGF5ZXIuekluZGV4ID09PSAwKSB7XG4gICAgICBjb25zdCBtYXhaSW5kZXggPSBNYXRoLm1heChcbiAgICAgICAgbGF5ZXIuYmFzZUxheWVyID8gMCA6IDEwLFxuICAgICAgICAuLi50aGlzLmxheWVyc1xuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAobCkgPT4gbC5iYXNlTGF5ZXIgPT09IGxheWVyLmJhc2VMYXllciAmJiBsLnpJbmRleCA8IDIwMCAvLyB6SW5kZXggPiAyMDAgPSBzeXN0ZW0gbGF5ZXJcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgobCkgPT4gbC56SW5kZXgpXG4gICAgICApO1xuICAgICAgbGF5ZXIuekluZGV4ID0gbWF4WkluZGV4ICsgMSArIG9mZnNldFpJbmRleDtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXIuYmFzZUxheWVyICYmIGxheWVyLnpJbmRleCA+IDkpIHtcbiAgICAgIGxheWVyLnpJbmRleCA9IDEwOyAvLyBiYXNlbGF5ZXIgbXVzdCBoYXZlIHpJbmRleCA8IDEwXG4gICAgfVxuXG4gICAgbGF5ZXIuc2V0TWFwKHRoaXMpO1xuICAgIHRoaXMubGF5ZXJXYXRjaGVyLndhdGNoTGF5ZXIobGF5ZXIpO1xuICAgIHRoaXMub2wuYWRkTGF5ZXIobGF5ZXIub2wpO1xuXG4gICAgcmV0dXJuIGxheWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGxheWVyIGZyb20gdGhlIE9MIG1hcCBhbmQgc3RvcCB3YXRjaGluZ1xuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXJcbiAgICovXG4gIHByaXZhdGUgZG9SZW1vdmVMYXllcihsYXllcjogTGF5ZXIpIHtcbiAgICB0aGlzLmxheWVyV2F0Y2hlci51bndhdGNoTGF5ZXIobGF5ZXIpO1xuICAgIHRoaXMub2wucmVtb3ZlTGF5ZXIobGF5ZXIub2wpO1xuICAgIGxheWVyLnNldE1hcCh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgbGF5ZXJzIG9ic2VydmFibGVcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnNcbiAgICovXG4gIHByaXZhdGUgc2V0TGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xuICAgIHRoaXMubGF5ZXJzJC5uZXh0KHRoaXMuc29ydExheWVyc0J5WkluZGV4KGxheWVycykuc2xpY2UoMCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnQgbGF5ZXJzIGJ5IGRlc2NlbmRpbmcgekluZGV4XG4gICAqIEBwYXJhbSBsYXllcnMgQXJyYXkgb2YgbGF5ZXJzXG4gICAqIEByZXR1cm5zIFRoZSBvcmlnaW5hbCBhcnJheSwgc29ydGVkIGJ5IHpJbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0TGF5ZXJzQnlaSW5kZXgobGF5ZXJzOiBMYXllcltdKSB7XG4gICAgLy8gU29ydCBieSBkZXNjZW5kaW5nIHpJbmRleFxuICAgIHJldHVybiBsYXllcnMuc29ydChcbiAgICAgIChsYXllcjE6IExheWVyLCBsYXllcjI6IExheWVyKSA9PiBsYXllcjIuekluZGV4IC0gbGF5ZXIxLnpJbmRleFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxheWVyIGluZGV4IGluIHRoZSBtYXAncyBpbmVuciBhcnJheSBvZiBsYXllcnNcbiAgICogQHBhcmFtIGxheWVyIExheWVyXG4gICAqIEByZXR1cm5zIFRoZSBsYXllciBpbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMYXllckluZGV4KGxheWVyOiBMYXllcikge1xuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kSW5kZXgoKF9sYXllcjogTGF5ZXIpID0+IF9sYXllciA9PT0gbGF5ZXIpO1xuICB9XG59XG4iXX0=
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
107
107
  standalone: true
108
108
  }]
109
109
  }], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.NetworkService }, { type: i3.MessageService }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwT2ZmbGluZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL21hcE9mZmxpbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBVzNFLE1BQU0sT0FBTyxtQkFBbUI7SUFXcEI7SUFDQTtJQVhGLFNBQVMsQ0FBc0I7SUFFdkMsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRU8saUJBQWlCLENBQUM7SUFFMUIsWUFDRSxTQUE4QixFQUN0QixjQUE4QixFQUM5QixjQUE4QjtRQUQ5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBc0IsRUFBRSxFQUFFO1lBQzNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLG1EQUFtRDtZQUNuRCxJQUFJLGFBQWEsSUFBSSxhQUFhLEtBQUssTUFBTSxJQUFJ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QztvQkFDQSxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBVSxDQUFDLE1BQU0sQ0FDbEMsNEJBQTRCLENBQUMsV0FBVyxDQUN6QyxDQUFDO2dCQUNKLENBQUM7cUJBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN6QyxPQUFPO29CQUNULENBQUM7b0JBQ0EsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQVUsQ0FBQyxNQUFNLENBQ2xDLDRCQUE0QixDQUFDLEdBQUcsQ0FDakMsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sd0RBQXdEO2dCQUN4RCxJQUFJLENBQUMsa0NBQWtDLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEUsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBL0dVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUsIE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9uZXR3b3JrJztcclxuXHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi9tYXAnO1xyXG5cclxuaW50ZXJmYWNlIE9mZmxpbmFibGVTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xyXG4gIHBhdGhPZmZsaW5lPzogc3RyaW5nO1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29NYXBPZmZsaW5lXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwT2ZmbGluZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50O1xyXG5cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmV2aW91c01lc3NhZ2VJZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGNvbnN0IGluaXRpYWxPbmxpbmUgPSB3aW5kb3cubmF2aWdhdG9yLm9uTGluZTtcclxuICAgIHRoaXMubWFwLmZvcmNlZE9mZmxpbmUkLnN1YnNjcmliZSgoZm9yY2VkT2ZmbGluZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICBjb25zdCBvbmxpbmUgPSB3aW5kb3cubmF2aWdhdG9yLm9uTGluZTtcclxuICAgICAgLy8gcHJldmVudCBmaXJzdCBvbmxpbmUgbWVzc2FnZSBpZiBubyBzdGF0ZSBjaGFuZ2UuXHJcbiAgICAgIGlmIChpbml0aWFsT25saW5lICYmIGluaXRpYWxPbmxpbmUgPT09IG9ubGluZSAmJiAhZm9yY2VkT2ZmbGluZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghZm9yY2VkT2ZmbGluZSAmJiBvbmxpbmUpIHtcclxuICAgICAgICBjb25zdCBtZXNzYWdlT2JqID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKFxyXG4gICAgICAgICAgJ2lnby5nZW8ubmV0d29yay5vbmxpbmUubWVzc2FnZScsXHJcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9ubGluZS50aXRsZSdcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XHJcbiAgICAgIH0gZWxzZSBpZiAoZm9yY2VkT2ZmbGluZSkge1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VPYmogPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXHJcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9mZmxpbmUubWVzc2FnZScsXHJcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9mZmxpbmUudGl0bGUnXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKSxcclxuICAgICAgdGhpcy5tYXAuZm9yY2VkT2ZmbGluZSQsXHJcbiAgICAgIHRoaXMubWFwLmxheWVycyRcclxuICAgIF0pLnN1YnNjcmliZSgoYnVuY2g6IFtDb25uZWN0aW9uU3RhdGUsIGJvb2xlYW4sIExheWVyW11dKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9ubGluZSA9IGJ1bmNoWzBdLmNvbm5lY3Rpb247XHJcbiAgICAgIGNvbnN0IGZvcmNlZE9mZmxpbmUgPSBidW5jaFsxXTtcclxuICAgICAgY29uc3QgbGF5ZXJzID0gYnVuY2hbMl07XHJcbiAgICAgIHRoaXMuaGFuZGxlTGF5ZXJzT25saW5lU3RhdGUob25saW5lLCBmb3JjZWRPZmZsaW5lLCBsYXllcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZU5vbk9mZmxpbmFibGVMYXllclJlc29sdXRpb24oXHJcbiAgICBvbmxpbmU6IGJvb2xlYW4sXHJcbiAgICBmb3JjZWRPZmZsaW5lOiBib29sZWFuLFxyXG4gICAgbGF5ZXI6IExheWVyXHJcbiAgKSB7XHJcbiAgICBpZiAoIW9ubGluZSB8fCBmb3JjZWRPZmZsaW5lKSB7XHJcbiAgICAgIGxheWVyLm1heFJlc29sdXRpb24gPSAwO1xyXG4gICAgfSBlbHNlIGlmIChvbmxpbmUgfHwgIWZvcmNlZE9mZmxpbmUpIHtcclxuICAgICAgbGF5ZXIubWF4UmVzb2x1dGlvbiA9IGxheWVyLm9wdGlvbnMubWF4UmVzb2x1dGlvbiB8fCBJbmZpbml0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTGF5ZXJzT25saW5lU3RhdGUoXHJcbiAgICBvbmxpbmU6IGJvb2xlYW4sXHJcbiAgICBmb3JjZWRPZmZsaW5lOiBib29sZWFuLFxyXG4gICAgbGF5ZXJzOiBMYXllcltdXHJcbiAgKSB7XHJcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIpID0+IHtcclxuICAgICAgbGV0IG9mZmxpbmFibGVCeVVybFNvdXJjZU9wdGlvbnM7XHJcbiAgICAgIGlmIChsYXllci5pc0lnb0ludGVybmFsTGF5ZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy8gZGV0ZWN0IGlmIGxheWVyL3NvdXJjZSBhcmUgb2ZmbGluYWJsZSBieSB1cmwvcGF0aE9mZmxpbmUgcHJvcGVydGllc1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucyBhcyBPZmZsaW5hYmxlU291cmNlT3B0aW9ucyk/LnBhdGhPZmZsaW5lXHJcbiAgICAgICkge1xyXG4gICAgICAgIG9mZmxpbmFibGVCeVVybFNvdXJjZU9wdGlvbnMgPSBsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG9mZmxpbmFibGVCeVVybFNvdXJjZU9wdGlvbnMpIHtcclxuICAgICAgICBjb25zdCB0eXBlID0gb2ZmbGluYWJsZUJ5VXJsU291cmNlT3B0aW9ucy50eXBlO1xyXG4gICAgICAgIGlmICh0eXBlID09PSAnbXZ0Jykge1xyXG4gICAgICAgICAgbGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIW9ubGluZSB8fCBmb3JjZWRPZmZsaW5lKSB7XHJcbiAgICAgICAgICBpZiAoWyd2ZWN0b3InLCAnY2x1c3RlciddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIChsYXllci5vbC5nZXRTb3VyY2UoKSBhcyBhbnkpLnNldFVybChcclxuICAgICAgICAgICAgb2ZmbGluYWJsZUJ5VXJsU291cmNlT3B0aW9ucy5wYXRoT2ZmbGluZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKCFvbmxpbmUgfHwgIWZvcmNlZE9mZmxpbmUpIHtcclxuICAgICAgICAgIGlmIChbJ3ZlY3RvcicsICdjbHVzdGVyJ10uaW5jbHVkZXModHlwZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgKGxheWVyLm9sLmdldFNvdXJjZSgpIGFzIGFueSkuc2V0VXJsKFxyXG4gICAgICAgICAgICBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnVybFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVOb25PZmZsaW5hYmxlTGF5ZXJSZXNvbHV0aW9uKG9ubGluZSwgZm9yY2VkT2ZmbGluZSwgbGF5ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBGT1IgQUxMIE5PTiBPRkZMSU5BQkxFIFNPVVJDRSAoaS5lLiBFWENFUFQgUFJFVklPVVMpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlTm9uT2ZmbGluYWJsZUxheWVyUmVzb2x1dGlvbihvbmxpbmUsIGZvcmNlZE9mZmxpbmUsIGxheWVyKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwT2ZmbGluZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL21hcE9mZmxpbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBVzNFLE1BQU0sT0FBTyxtQkFBbUI7SUFXcEI7SUFDQTtJQVhGLFNBQVMsQ0FBc0I7SUFFdkMsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRU8saUJBQWlCLENBQUM7SUFFMUIsWUFDRSxTQUE4QixFQUN0QixjQUE4QixFQUM5QixjQUE4QjtRQUQ5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBc0IsRUFBRSxFQUFFO1lBQzNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLG1EQUFtRDtZQUNuRCxJQUFJLGFBQWEsSUFBSSxhQUFhLEtBQUssTUFBTSxJQUFJ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QztvQkFDQSxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBVSxDQUFDLE1BQU0sQ0FDbEMsNEJBQTRCLENBQUMsV0FBVyxDQUN6QyxDQUFDO2dCQUNKLENBQUM7cUJBQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN6QyxPQUFPO29CQUNULENBQUM7b0JBQ0EsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQVUsQ0FBQyxNQUFNLENBQ2xDLDRCQUE0QixDQUFDLEdBQUcsQ0FDakMsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sd0RBQXdEO2dCQUN4RCxJQUFJLENBQUMsa0NBQWtDLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEUsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBL0dVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUsIE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9uZXR3b3JrJztcblxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4vbWFwJztcblxuaW50ZXJmYWNlIE9mZmxpbmFibGVTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xuICBwYXRoT2ZmbGluZT86IHN0cmluZztcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb01hcE9mZmxpbmVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBPZmZsaW5lRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50O1xuXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2aW91c01lc3NhZ2VJZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5pdGlhbE9ubGluZSA9IHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO1xuICAgIHRoaXMubWFwLmZvcmNlZE9mZmxpbmUkLnN1YnNjcmliZSgoZm9yY2VkT2ZmbGluZTogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgb25saW5lID0gd2luZG93Lm5hdmlnYXRvci5vbkxpbmU7XG4gICAgICAvLyBwcmV2ZW50IGZpcnN0IG9ubGluZSBtZXNzYWdlIGlmIG5vIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChpbml0aWFsT25saW5lICYmIGluaXRpYWxPbmxpbmUgPT09IG9ubGluZSAmJiAhZm9yY2VkT2ZmbGluZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGlmICghZm9yY2VkT2ZmbGluZSAmJiBvbmxpbmUpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9ubGluZS5tZXNzYWdlJyxcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9ubGluZS50aXRsZSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wcmV2aW91c01lc3NhZ2VJZCA9IG1lc3NhZ2VPYmoudG9hc3RJZDtcbiAgICAgIH0gZWxzZSBpZiAoZm9yY2VkT2ZmbGluZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlT2JqID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKFxuICAgICAgICAgICdpZ28uZ2VvLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9mZmxpbmUudGl0bGUnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubmV0d29ya1NlcnZpY2UuY3VycmVudFN0YXRlKCksXG4gICAgICB0aGlzLm1hcC5mb3JjZWRPZmZsaW5lJCxcbiAgICAgIHRoaXMubWFwLmxheWVycyRcbiAgICBdKS5zdWJzY3JpYmUoKGJ1bmNoOiBbQ29ubmVjdGlvblN0YXRlLCBib29sZWFuLCBMYXllcltdXSkgPT4ge1xuICAgICAgY29uc3Qgb25saW5lID0gYnVuY2hbMF0uY29ubmVjdGlvbjtcbiAgICAgIGNvbnN0IGZvcmNlZE9mZmxpbmUgPSBidW5jaFsxXTtcbiAgICAgIGNvbnN0IGxheWVycyA9IGJ1bmNoWzJdO1xuICAgICAgdGhpcy5oYW5kbGVMYXllcnNPbmxpbmVTdGF0ZShvbmxpbmUsIGZvcmNlZE9mZmxpbmUsIGxheWVycyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vbk9mZmxpbmFibGVMYXllclJlc29sdXRpb24oXG4gICAgb25saW5lOiBib29sZWFuLFxuICAgIGZvcmNlZE9mZmxpbmU6IGJvb2xlYW4sXG4gICAgbGF5ZXI6IExheWVyXG4gICkge1xuICAgIGlmICghb25saW5lIHx8IGZvcmNlZE9mZmxpbmUpIHtcbiAgICAgIGxheWVyLm1heFJlc29sdXRpb24gPSAwO1xuICAgIH0gZWxzZSBpZiAob25saW5lIHx8ICFmb3JjZWRPZmZsaW5lKSB7XG4gICAgICBsYXllci5tYXhSZXNvbHV0aW9uID0gbGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8IEluZmluaXR5O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGF5ZXJzT25saW5lU3RhdGUoXG4gICAgb25saW5lOiBib29sZWFuLFxuICAgIGZvcmNlZE9mZmxpbmU6IGJvb2xlYW4sXG4gICAgbGF5ZXJzOiBMYXllcltdXG4gICkge1xuICAgIGxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgbGV0IG9mZmxpbmFibGVCeVVybFNvdXJjZU9wdGlvbnM7XG4gICAgICBpZiAobGF5ZXIuaXNJZ29JbnRlcm5hbExheWVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIGRldGVjdCBpZiBsYXllci9zb3VyY2UgYXJlIG9mZmxpbmFibGUgYnkgdXJsL3BhdGhPZmZsaW5lIHByb3BlcnRpZXNcbiAgICAgIGlmIChcbiAgICAgICAgKGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucyBhcyBPZmZsaW5hYmxlU291cmNlT3B0aW9ucyk/LnBhdGhPZmZsaW5lXG4gICAgICApIHtcbiAgICAgICAgb2ZmbGluYWJsZUJ5VXJsU291cmNlT3B0aW9ucyA9IGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucztcbiAgICAgIH1cbiAgICAgIGlmIChvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnR5cGU7XG4gICAgICAgIGlmICh0eXBlID09PSAnbXZ0Jykge1xuICAgICAgICAgIGxheWVyLm9sLmdldFNvdXJjZSgpLnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9ubGluZSB8fCBmb3JjZWRPZmZsaW5lKSB7XG4gICAgICAgICAgaWYgKFsndmVjdG9yJywgJ2NsdXN0ZXInXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAobGF5ZXIub2wuZ2V0U291cmNlKCkgYXMgYW55KS5zZXRVcmwoXG4gICAgICAgICAgICBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnBhdGhPZmZsaW5lXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghb25saW5lIHx8ICFmb3JjZWRPZmZsaW5lKSB7XG4gICAgICAgICAgaWYgKFsndmVjdG9yJywgJ2NsdXN0ZXInXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAobGF5ZXIub2wuZ2V0U291cmNlKCkgYXMgYW55KS5zZXRVcmwoXG4gICAgICAgICAgICBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnVybFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVOb25PZmZsaW5hYmxlTGF5ZXJSZXNvbHV0aW9uKG9ubGluZSwgZm9yY2VkT2ZmbGluZSwgbGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGT1IgQUxMIE5PTiBPRkZMSU5BQkxFIFNPVVJDRSAoaS5lLiBFWENFUFQgUFJFVklPVVMpO1xuICAgICAgICB0aGlzLmhhbmRsZU5vbk9mZmxpbmFibGVMYXllclJlc29sdXRpb24ob25saW5lLCBmb3JjZWRPZmZsaW5lLCBsYXllcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
64
64
  providedIn: 'root'
65
65
  }]
66
66
  }], ctorParameters: () => [{ type: i1.ConfigService }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9wcm9qZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7QUFJMUI7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakMsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVILHlCQUF5QjtRQUN6QixLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEdBQUcsR0FBRyxtQkFBbUIsT0FBTyxpQ0FBaUMsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBZSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FDUixPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuRSxJQUFJLElBQUksQ0FBQztZQUNULElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsK0JBQStCLElBQUksc0ZBQXNGLENBQUM7WUFDdEksTUFBTSxJQUFJLEdBQWUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxVQUFzQjtRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzt1R0E3Q1UsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCAqIGFzIG9scHJvajQgZnJvbSAnb2wvcHJvai9wcm9qNCc7XHJcblxyXG5pbXBvcnQgcHJvajQgZnJvbSAncHJvajQnO1xyXG5cclxuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4vcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBXaGVuIGluamVjdGVkLCB0aGlzIHNlcnZpY2UgYXV0b21hdGljYWxseSByZWdpc3RlcnMgYW5kXHJcbiAqIHByb2plY3Rpb24gZGVmaW5lZCBpbiB0aGUgYXBwbGljYXRpb24gY29uZmlnLiBBIGN1c3RvbSBwcm9qZWN0aW9uXHJcbiAqIG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQgdG8gYmUgdXNhYmxlIGJ5IE9MLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvamVjdGlvblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCBwcm9qZWN0aW9uczogUHJvamVjdGlvbltdID1cclxuICAgICAgdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdwcm9qZWN0aW9ucycpIHx8IFtdO1xyXG4gICAgcHJvamVjdGlvbnMuZm9yRWFjaCgocHJvamVjdGlvbikgPT4ge1xyXG4gICAgICBwcm9qZWN0aW9uLmFsaWFzID0gcHJvamVjdGlvbi5hbGlhcyA/IHByb2plY3Rpb24uYWxpYXMgOiBwcm9qZWN0aW9uLmNvZGU7XHJcbiAgICAgIHRoaXMucmVnaXN0ZXJQcm9qZWN0aW9uKHByb2plY3Rpb24pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gcmVnaXN0ZXIgYWxsIHV0bSB6b25lc1xyXG4gICAgZm9yIChsZXQgdXRtWm9uZSA9IDE7IHV0bVpvbmUgPCA2MTsgdXRtWm9uZSsrKSB7XHJcbiAgICAgIGNvbnN0IGNvZGUgPSB1dG1ab25lIDwgMTAgPyBgRVBTRzozMjYwJHt1dG1ab25lfWAgOiBgRVBTRzozMjYke3V0bVpvbmV9YDtcclxuICAgICAgY29uc3QgZGVmID0gYCtwcm9qPXV0bSArem9uZT0ke3V0bVpvbmV9ICtkYXR1bT1XR1M4NCArdW5pdHM9bSArbm9fZGVmc2A7XHJcbiAgICAgIGNvbnN0IHByb2o6IFByb2plY3Rpb24gPSB7IGNvZGUsIGRlZiwgZXh0ZW50OiB1bmRlZmluZWQgfTtcclxuICAgICAgdGhpcy5yZWdpc3RlclByb2plY3Rpb24ocHJvaik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmVnaXN0ZXIgYWxsIG10bSB6b25lc1xyXG4gICAgZm9yIChsZXQgbXRtWm9uZSA9IDE7IG10bVpvbmUgPCAxMTsgbXRtWm9uZSsrKSB7XHJcbiAgICAgIGNvbnN0IGNvZGUgPVxyXG4gICAgICAgIG10bVpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke210bVpvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyBtdG1ab25lfWA7XHJcbiAgICAgIGxldCBsb24wO1xyXG4gICAgICBpZiAoTnVtYmVyKG10bVpvbmUpIDw9IDIpIHtcclxuICAgICAgICBsb24wID0gLTUwIC0gTnVtYmVyKG10bVpvbmUpICogMztcclxuICAgICAgfSBlbHNlIGlmIChOdW1iZXIobXRtWm9uZSkgPj0gMTIpIHtcclxuICAgICAgICBsb24wID0gLTgxIC0gKE51bWJlcihtdG1ab25lKSAtIDEyKSAqIDM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbG9uMCA9IC00OS41IC0gTnVtYmVyKG10bVpvbmUpICogMztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkZWYgPSBgK3Byb2o9dG1lcmMgK2xhdF8wPTAgK2xvbl8wPSR7bG9uMH0gK2s9MC45OTk5ICt4XzA9MzA0ODAwICt5XzA9MCArZWxscHM9R1JTODAgK3Rvd2dzODQ9MCwwLDAsMCwwLDAsMCArdW5pdHM9bSArbm9fZGVmc1wiYDtcclxuICAgICAgY29uc3QgcHJvajogUHJvamVjdGlvbiA9IHsgY29kZSwgZGVmLCBleHRlbnQ6IHVuZGVmaW5lZCB9O1xyXG4gICAgICB0aGlzLnJlZ2lzdGVyUHJvamVjdGlvbihwcm9qKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBhIHByb2o0IHByb2plY3Rpb24gYW5kIHJlZ2lzdGVyIGl0IGluIE9MXHJcbiAgICogQHBhcmFtIHByb2plY3Rpb24gUHJvamVjdGlvblxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyUHJvamVjdGlvbihwcm9qZWN0aW9uOiBQcm9qZWN0aW9uKSB7XHJcbiAgICBwcm9qNC5kZWZzKHByb2plY3Rpb24uY29kZSwgcHJvamVjdGlvbi5kZWYpO1xyXG4gICAgb2xwcm9qNC5yZWdpc3Rlcihwcm9qNCk7XHJcbiAgICBpZiAocHJvamVjdGlvbi5leHRlbnQpIHtcclxuICAgICAgb2xwcm9qLmdldChwcm9qZWN0aW9uLmNvZGUpLnNldEV4dGVudChwcm9qZWN0aW9uLmV4dGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9wcm9qZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7QUFJMUI7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakMsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVILHlCQUF5QjtRQUN6QixLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEdBQUcsR0FBRyxtQkFBbUIsT0FBTyxpQ0FBaUMsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBZSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FDUixPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuRSxJQUFJLElBQUksQ0FBQztZQUNULElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsK0JBQStCLElBQUksc0ZBQXNGLENBQUM7WUFDdEksTUFBTSxJQUFJLEdBQWUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxVQUFzQjtRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzt1R0E3Q1UsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcblxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0ICogYXMgb2xwcm9qNCBmcm9tICdvbC9wcm9qL3Byb2o0JztcblxuaW1wb3J0IHByb2o0IGZyb20gJ3Byb2o0JztcblxuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4vcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBXaGVuIGluamVjdGVkLCB0aGlzIHNlcnZpY2UgYXV0b21hdGljYWxseSByZWdpc3RlcnMgYW5kXG4gKiBwcm9qZWN0aW9uIGRlZmluZWQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZy4gQSBjdXN0b20gcHJvamVjdGlvblxuICogbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCB0byBiZSB1c2FibGUgYnkgT0wuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3Rpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBjb25zdCBwcm9qZWN0aW9uczogUHJvamVjdGlvbltdID1cbiAgICAgIHRoaXMuY29uZmlnLmdldENvbmZpZygncHJvamVjdGlvbnMnKSB8fCBbXTtcbiAgICBwcm9qZWN0aW9ucy5mb3JFYWNoKChwcm9qZWN0aW9uKSA9PiB7XG4gICAgICBwcm9qZWN0aW9uLmFsaWFzID0gcHJvamVjdGlvbi5hbGlhcyA/IHByb2plY3Rpb24uYWxpYXMgOiBwcm9qZWN0aW9uLmNvZGU7XG4gICAgICB0aGlzLnJlZ2lzdGVyUHJvamVjdGlvbihwcm9qZWN0aW9uKTtcbiAgICB9KTtcblxuICAgIC8vIHJlZ2lzdGVyIGFsbCB1dG0gem9uZXNcbiAgICBmb3IgKGxldCB1dG1ab25lID0gMTsgdXRtWm9uZSA8IDYxOyB1dG1ab25lKyspIHtcbiAgICAgIGNvbnN0IGNvZGUgPSB1dG1ab25lIDwgMTAgPyBgRVBTRzozMjYwJHt1dG1ab25lfWAgOiBgRVBTRzozMjYke3V0bVpvbmV9YDtcbiAgICAgIGNvbnN0IGRlZiA9IGArcHJvaj11dG0gK3pvbmU9JHt1dG1ab25lfSArZGF0dW09V0dTODQgK3VuaXRzPW0gK25vX2RlZnNgO1xuICAgICAgY29uc3QgcHJvajogUHJvamVjdGlvbiA9IHsgY29kZSwgZGVmLCBleHRlbnQ6IHVuZGVmaW5lZCB9O1xuICAgICAgdGhpcy5yZWdpc3RlclByb2plY3Rpb24ocHJvaik7XG4gICAgfVxuXG4gICAgLy8gcmVnaXN0ZXIgYWxsIG10bSB6b25lc1xuICAgIGZvciAobGV0IG10bVpvbmUgPSAxOyBtdG1ab25lIDwgMTE7IG10bVpvbmUrKykge1xuICAgICAgY29uc3QgY29kZSA9XG4gICAgICAgIG10bVpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke210bVpvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyBtdG1ab25lfWA7XG4gICAgICBsZXQgbG9uMDtcbiAgICAgIGlmIChOdW1iZXIobXRtWm9uZSkgPD0gMikge1xuICAgICAgICBsb24wID0gLTUwIC0gTnVtYmVyKG10bVpvbmUpICogMztcbiAgICAgIH0gZWxzZSBpZiAoTnVtYmVyKG10bVpvbmUpID49IDEyKSB7XG4gICAgICAgIGxvbjAgPSAtODEgLSAoTnVtYmVyKG10bVpvbmUpIC0gMTIpICogMztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvbjAgPSAtNDkuNSAtIE51bWJlcihtdG1ab25lKSAqIDM7XG4gICAgICB9XG4gICAgICBjb25zdCBkZWYgPSBgK3Byb2o9dG1lcmMgK2xhdF8wPTAgK2xvbl8wPSR7bG9uMH0gK2s9MC45OTk5ICt4XzA9MzA0ODAwICt5XzA9MCArZWxscHM9R1JTODAgK3Rvd2dzODQ9MCwwLDAsMCwwLDAsMCArdW5pdHM9bSArbm9fZGVmc1wiYDtcbiAgICAgIGNvbnN0IHByb2o6IFByb2plY3Rpb24gPSB7IGNvZGUsIGRlZiwgZXh0ZW50OiB1bmRlZmluZWQgfTtcbiAgICAgIHRoaXMucmVnaXN0ZXJQcm9qZWN0aW9uKHByb2opO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9qNCBwcm9qZWN0aW9uIGFuZCByZWdpc3RlciBpdCBpbiBPTFxuICAgKiBAcGFyYW0gcHJvamVjdGlvbiBQcm9qZWN0aW9uXG4gICAqL1xuICByZWdpc3RlclByb2plY3Rpb24ocHJvamVjdGlvbjogUHJvamVjdGlvbikge1xuICAgIHByb2o0LmRlZnMocHJvamVjdGlvbi5jb2RlLCBwcm9qZWN0aW9uLmRlZik7XG4gICAgb2xwcm9qNC5yZWdpc3Rlcihwcm9qNCk7XG4gICAgaWYgKHByb2plY3Rpb24uZXh0ZW50KSB7XG4gICAgICBvbHByb2ouZ2V0KHByb2plY3Rpb24uY29kZSkuc2V0RXh0ZW50KHByb2plY3Rpb24uZXh0ZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==