@igo2/geo 1.13.2 → 1.13.4

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 (448) 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/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +2 -2
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +2 -2
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  11. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  12. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  15. package/esm2020/lib/catalog/index.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  19. package/esm2020/lib/catalog/shared/catalog.service.mjs +1 -1
  20. package/esm2020/lib/catalog/shared/index.mjs +1 -1
  21. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  22. package/esm2020/lib/datasource/index.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/capabilities.service.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasource.service.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/index.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +2 -1
  56. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  61. package/esm2020/lib/datasource/shared/index.mjs +1 -1
  62. package/esm2020/lib/datasource/shared/options/index.mjs +1 -1
  63. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  64. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  65. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  66. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  67. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +1 -1
  68. package/esm2020/lib/datasource/utils/index.mjs +1 -1
  69. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  70. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
  71. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  73. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  74. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  75. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  76. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  77. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  78. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  79. package/esm2020/lib/directions/directions-sources/index.mjs +1 -1
  80. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  81. package/esm2020/lib/directions/directions.component.mjs +2 -2
  82. package/esm2020/lib/directions/directions.module.mjs +1 -1
  83. package/esm2020/lib/directions/index.mjs +1 -1
  84. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  85. package/esm2020/lib/directions/shared/directions.enum.mjs +1 -1
  86. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  87. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  88. package/esm2020/lib/directions/shared/directions.utils.mjs +1 -1
  89. package/esm2020/lib/directions/shared/index.mjs +1 -1
  90. package/esm2020/lib/directions/shared/store.mjs +1 -1
  91. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  92. package/esm2020/lib/download/download-button/index.mjs +1 -1
  93. package/esm2020/lib/download/download.module.mjs +1 -1
  94. package/esm2020/lib/download/index.mjs +1 -1
  95. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  96. package/esm2020/lib/download/shared/download.service.mjs +1 -1
  97. package/esm2020/lib/download/shared/index.mjs +1 -1
  98. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +55 -0
  99. package/esm2020/lib/draw/draw/draw-popup.component.mjs +2 -2
  100. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  101. package/esm2020/lib/draw/draw/draw.component.mjs +417 -173
  102. package/esm2020/lib/draw/draw/draw.module.mjs +4 -3
  103. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  104. package/esm2020/lib/draw/index.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  106. package/esm2020/lib/draw/shared/draw-style.service.mjs +1 -1
  107. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -1
  108. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  109. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  110. package/esm2020/lib/draw/shared/index.mjs +1 -1
  111. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +13 -11
  112. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  113. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  114. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  115. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  116. package/esm2020/lib/feature/feature.module.mjs +1 -1
  117. package/esm2020/lib/feature/index.mjs +1 -1
  118. package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
  119. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  120. package/esm2020/lib/feature/shared/feature.utils.mjs +1 -1
  121. package/esm2020/lib/feature/shared/index.mjs +1 -1
  122. package/esm2020/lib/feature/shared/store.mjs +1 -1
  123. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  124. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  125. package/esm2020/lib/feature/shared/strategies/index.mjs +1 -1
  126. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  127. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  128. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  129. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  130. package/esm2020/lib/filter/filter.module.mjs +1 -1
  131. package/esm2020/lib/filter/index.mjs +1 -1
  132. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  133. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  134. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  135. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  136. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  137. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  138. package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
  139. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  140. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  141. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  142. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  143. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  144. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  145. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
  146. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  147. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  148. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  149. package/esm2020/lib/filter/shared/index.mjs +1 -1
  150. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  151. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  152. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  153. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  154. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  155. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  156. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  157. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  158. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  159. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  160. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +2 -2
  163. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  164. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
  165. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  166. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  167. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  168. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  169. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  170. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  171. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  172. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  173. package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
  174. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  175. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  176. package/esm2020/lib/geo.module.mjs +1 -1
  177. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  178. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  179. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  180. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  181. package/esm2020/lib/geometry/index.mjs +1 -1
  182. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  183. package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  185. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  186. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  187. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  188. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  189. package/esm2020/lib/geometry/shared/index.mjs +1 -1
  190. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  191. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  192. package/esm2020/lib/import-export/import-export/import-export.component.mjs +2 -2
  193. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  194. package/esm2020/lib/import-export/import-export.module.mjs +1 -1
  195. package/esm2020/lib/import-export/index.mjs +1 -1
  196. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +1 -1
  197. package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
  198. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  199. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  201. package/esm2020/lib/import-export/shared/export.utils.mjs +1 -1
  202. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  203. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  204. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  205. package/esm2020/lib/import-export/shared/import.utils.mjs +1 -1
  206. package/esm2020/lib/import-export/shared/index.mjs +1 -1
  207. package/esm2020/lib/import-export/style-list/index.mjs +1 -1
  208. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  209. package/esm2020/lib/import-export/style-list/style-list.module.mjs +1 -1
  210. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +1 -1
  211. package/esm2020/lib/import-export/style-list/style-list.service.mjs +1 -1
  212. package/esm2020/lib/layer/index.mjs +1 -1
  213. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  214. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  215. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  216. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
  217. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  218. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  219. package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
  220. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  221. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  222. package/esm2020/lib/layer/layer-list/index.mjs +1 -1
  223. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  224. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
  225. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
  227. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  228. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
  229. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  230. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  231. package/esm2020/lib/layer/layer.module.mjs +1 -1
  232. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  233. package/esm2020/lib/layer/shared/index.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layer.service.mjs +1 -1
  236. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  237. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  238. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  239. package/esm2020/lib/layer/shared/layers/image-layer.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
  241. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/layer.mjs +1 -1
  243. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  245. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  246. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +1 -1
  247. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  248. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  249. package/esm2020/lib/layer/shared/style.service.mjs +1 -1
  250. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  251. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  252. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +2 -2
  253. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  254. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  255. package/esm2020/lib/layer/utils/image-watcher.mjs +1 -1
  256. package/esm2020/lib/layer/utils/index.mjs +1 -1
  257. package/esm2020/lib/layer/utils/layer.utils.mjs +1 -1
  258. package/esm2020/lib/layer/utils/outputLegend.mjs +1 -1
  259. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  260. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  261. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  262. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  263. package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
  264. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  265. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  266. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  267. package/esm2020/lib/map/index.mjs +1 -1
  268. package/esm2020/lib/map/info-section/index.mjs +1 -1
  269. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  270. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  271. package/esm2020/lib/map/map-browser/map-browser.component.mjs +2 -2
  272. package/esm2020/lib/map/map-center/index.mjs +1 -1
  273. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  274. package/esm2020/lib/map/map.module.mjs +1 -1
  275. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  276. package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
  277. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  278. package/esm2020/lib/map/offline-button/offline-button.component.mjs +2 -2
  279. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  280. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  281. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  282. package/esm2020/lib/map/shared/controllers/geolocation.mjs +1 -1
  283. package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
  284. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  285. package/esm2020/lib/map/shared/hover-feature.directive.mjs +1 -1
  286. package/esm2020/lib/map/shared/index.mjs +1 -1
  287. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  288. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.enums.mjs +1 -1
  290. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  291. package/esm2020/lib/map/shared/map.mjs +1 -1
  292. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  293. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  294. package/esm2020/lib/map/shared/mapOffline.directive.mjs +1 -1
  295. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  296. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  297. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  298. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  299. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  300. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  301. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  302. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
  303. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  304. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  305. package/esm2020/lib/measure/index.mjs +1 -1
  306. package/esm2020/lib/measure/measure.module.mjs +1 -1
  307. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  308. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  309. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  310. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  311. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  312. package/esm2020/lib/measure/shared/index.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  314. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  315. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  316. package/esm2020/lib/metadata/index.mjs +1 -1
  317. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  318. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  319. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/index.mjs +1 -1
  321. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  322. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  323. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  325. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  326. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +1 -1
  327. package/esm2020/lib/offline/geoDB/index.mjs +1 -1
  328. package/esm2020/lib/offline/index.mjs +1 -1
  329. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  330. package/esm2020/lib/offline/shared/index.mjs +1 -1
  331. package/esm2020/lib/overlay/index.mjs +1 -1
  332. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  333. package/esm2020/lib/overlay/shared/index.mjs +1 -1
  334. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +1 -1
  335. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  336. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  337. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  338. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  339. package/esm2020/lib/overlay/shared/overlay.utils.mjs +1 -1
  340. package/esm2020/lib/print/index.mjs +1 -1
  341. package/esm2020/lib/print/print/print.component.mjs +2 -2
  342. package/esm2020/lib/print/print-form/index.mjs +1 -1
  343. package/esm2020/lib/print/print-form/print-form.component.mjs +2 -2
  344. package/esm2020/lib/print/print.module.mjs +1 -1
  345. package/esm2020/lib/print/shared/index.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  347. package/esm2020/lib/print/shared/print.service.mjs +1 -1
  348. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  349. package/esm2020/lib/query/index.mjs +1 -1
  350. package/esm2020/lib/query/query.module.mjs +1 -1
  351. package/esm2020/lib/query/shared/index.mjs +1 -1
  352. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  353. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  354. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  355. package/esm2020/lib/query/shared/query.enums.mjs +1 -1
  356. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  357. package/esm2020/lib/query/shared/query.service.mjs +1 -1
  358. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  359. package/esm2020/lib/search/index.mjs +1 -1
  360. package/esm2020/lib/search/search-bar/search-bar.component.mjs +2 -2
  361. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  362. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  363. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +2 -2
  364. package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
  365. package/esm2020/lib/search/search-results/search-results.component.mjs +2 -2
  366. package/esm2020/lib/search/search-results/search-results.module.mjs +1 -1
  367. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  368. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  369. package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
  370. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  371. package/esm2020/lib/search/search.module.mjs +1 -1
  372. package/esm2020/lib/search/shared/index.mjs +1 -1
  373. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
  374. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  375. package/esm2020/lib/search/shared/search-source.service.mjs +1 -1
  376. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  377. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  379. package/esm2020/lib/search/shared/search.utils.mjs +1 -1
  380. package/esm2020/lib/search/shared/sources/cadastre.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  382. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  383. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  385. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  386. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  388. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  389. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  390. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/index.mjs +1 -1
  392. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  393. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  394. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  395. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/source.mjs +1 -1
  397. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  398. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  399. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  400. package/esm2020/lib/toast/index.mjs +1 -1
  401. package/esm2020/lib/toast/toast.component.mjs +2 -2
  402. package/esm2020/lib/toast/toast.module.mjs +1 -1
  403. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  404. package/esm2020/lib/utils/commonVectorStyle.mjs +1 -1
  405. package/esm2020/lib/utils/googleLinks.mjs +1 -1
  406. package/esm2020/lib/utils/id-generator.mjs +1 -1
  407. package/esm2020/lib/utils/index.mjs +1 -1
  408. package/esm2020/lib/utils/osmLinks.mjs +1 -1
  409. package/esm2020/lib/wkt/index.mjs +1 -1
  410. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  411. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  412. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  413. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  414. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  415. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  416. package/esm2020/lib/workspace/index.mjs +1 -1
  417. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  418. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +1 -1
  419. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  420. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +1 -1
  421. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  422. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  423. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
  424. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +1 -1
  425. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  426. package/esm2020/lib/workspace/widgets/index.mjs +1 -1
  427. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  428. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  429. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  430. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  431. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  432. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  433. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  434. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  435. package/esm2020/public_api.mjs +1 -1
  436. package/fesm2015/igo2-geo.mjs +596 -289
  437. package/fesm2015/igo2-geo.mjs.map +1 -1
  438. package/fesm2020/igo2-geo.mjs +582 -289
  439. package/fesm2020/igo2-geo.mjs.map +1 -1
  440. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -0
  441. package/lib/draw/draw/draw.component.d.ts +38 -10
  442. package/lib/draw/draw/draw.module.d.ts +22 -21
  443. package/lib/draw/shared/draw.interface.d.ts +6 -0
  444. package/lib/feature/feature-details/feature-details.component.d.ts +2 -3
  445. package/lib/import-export/shared/import.interface.d.ts +1 -0
  446. package/ngcc.config.js +3 -3
  447. package/package.json +4 -4
  448. package/style/geo.theming.scss +12 -12
@@ -6,4 +6,4 @@ export var FeatureMotion;
6
6
  FeatureMotion[FeatureMotion["Zoom"] = 2] = "Zoom";
7
7
  FeatureMotion[FeatureMotion["Default"] = 3] = "Default";
8
8
  })(FeatureMotion || (FeatureMotion = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcclxuXHJcbmV4cG9ydCBlbnVtIEZlYXR1cmVNb3Rpb24ge1xyXG4gIE5vbmUsXHJcbiAgTW92ZSxcclxuICBab29tLFxyXG4gIERlZmF1bHRcclxufVxyXG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcblxuZXhwb3J0IGVudW0gRmVhdHVyZU1vdGlvbiB7XG4gIE5vbmUsXG4gIE1vdmUsXG4gIFpvb20sXG4gIERlZmF1bHRcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eUtleSxcclxuICBFbnRpdHlTdG9yZU9wdGlvbnMsXHJcbiAgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnNcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllcic7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlPFAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XHJcbiAgZ2VvbWV0cnk/OiBGZWF0dXJlR2VvbWV0cnk7XHJcbiAgcHJvcGVydGllczogUDtcclxuICBleHRlbnQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuICBtZXRhPzogRmVhdHVyZU1ldGE7XHJcbiAgb2w/OiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4gfCBPbFJlbmRlckZlYXR1cmU7XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZU1ldGEge1xyXG4gIGlkOiBFbnRpdHlLZXk7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWFwVGl0bGU/OiBzdHJpbmc7XHJcbiAgc291cmNlVGl0bGU/OiBzdHJpbmc7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgYWxpYXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIHJldmlzaW9uPzogbnVtYmVyO1xyXG4gIGV4Y2x1ZGVBdHRyaWJ1dGU/OiBBcnJheTxzdHJpbmc+O1xyXG4gIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lPzogQXJyYXk8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2VvbWV0cnkge1xyXG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xyXG4gIGNvb3JkaW5hdGVzOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlT3B0aW9ucyBleHRlbmRzIEVudGl0eVN0b3JlT3B0aW9ucyB7XHJcbiAgbWFwOiBJZ29NYXA7XHJcbiAgbGF5ZXI/OiBWZWN0b3JMYXllcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcclxuICAvLyBXaGVuIHRoZSBzdG9yZSBtb3ZlcyBmZWF0dXJlcyBpbnRvIHZpZXcsIHRoZSB2aWV3IGV4dGVudCwgd2hpY2ggaXMgYWxzbyB0aGUgZmVhdHVyZXMgZXh0ZW50LFxyXG4gIC8vIGlzIHNjYWxlZCBieSB0aG9zZSBmYWN0b3JzLCBlZmZlY3RpdmVseSByZXN1bHRpbmcgaW4gYSBkZWNlbnRlcmVkIHZpZXcgb3IgYSBtb3JlIHpvb21lZCBpbi9vdXQgdmlldy5cclxuICAvLyBUaGVzZSBmYWN0b3JzIGFyZSBhcHBsaWVkIHRvIHRoZSB0b3AsIHJpZ2h0LCBib3R0b20gYW5kIGxlZnQgZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlci5cclxuICAvLyBBIGZhY3RvciBvZiAxIG1lYW5zIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBjZW50ZXIsIGluIHRoYXQgZGlyZWN0aW9uLCBpcyBkb3VibGVkLlxyXG4gIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xyXG4gIC8vIEZlYXR1cmVzIGV4dGVudCB0byB2aWV3IGV4dGVudCByYXRpbyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgc3RvcmUgc2hvdWxkIHRyaWdnZXJcclxuICAvLyBhIG1hcCB6b29tIHdoZW4gZmVhdHVyZXMgYXJlIGFkZGVkIHRvIGl0LlxyXG4gIGFyZWFSYXRpbz86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3lPcHRpb25zXHJcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge1xyXG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XHJcbiAgbW90aW9uPzogRmVhdHVyZU1vdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5T3B0aW9uc1xyXG5leHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XHJcbiAgbWFwOiBJZ29NYXA7XHJcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcclxuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xyXG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XHJcbiAgbWFueT86IGJvb2xlYW47XHJcbiAgaGl0VG9sZXJhbmNlPzogbnVtYmVyO1xyXG4gIGRyYWdCb3g/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xyXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgZmVhdHVyZTogRmVhdHVyZSB8IHVuZGVmaW5lZDtcclxuICBkYXRhOiBGZWF0dXJlO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XG5cbmltcG9ydCB7XG4gIEVudGl0eUtleSxcbiAgRW50aXR5U3RvcmVPcHRpb25zLFxuICBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9uc1xufSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmU8UCA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICBnZW9tZXRyeT86IEZlYXR1cmVHZW9tZXRyeTtcbiAgcHJvcGVydGllczogUDtcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIG1ldGE/OiBGZWF0dXJlTWV0YTtcbiAgb2w/OiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4gfCBPbFJlbmRlckZlYXR1cmU7XG4gIHNvdXJjZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVNZXRhIHtcbiAgaWQ6IEVudGl0eUtleTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1hcFRpdGxlPzogc3RyaW5nO1xuICBzb3VyY2VUaXRsZT86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGljb24/OiBzdHJpbmc7XG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgYWxpYXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICByZXZpc2lvbj86IG51bWJlcjtcbiAgZXhjbHVkZUF0dHJpYnV0ZT86IEFycmF5PHN0cmluZz47XG4gIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2VvbWV0cnkge1xuICB0eXBlOiBHZW9Kc29uR2VvbWV0cnlUeXBlcztcbiAgY29vcmRpbmF0ZXM6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVPcHRpb25zIGV4dGVuZHMgRW50aXR5U3RvcmVPcHRpb25zIHtcbiAgbWFwOiBJZ29NYXA7XG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICAvLyBXaGVuIHRoZSBzdG9yZSBtb3ZlcyBmZWF0dXJlcyBpbnRvIHZpZXcsIHRoZSB2aWV3IGV4dGVudCwgd2hpY2ggaXMgYWxzbyB0aGUgZmVhdHVyZXMgZXh0ZW50LFxuICAvLyBpcyBzY2FsZWQgYnkgdGhvc2UgZmFjdG9ycywgZWZmZWN0aXZlbHkgcmVzdWx0aW5nIGluIGEgZGVjZW50ZXJlZCB2aWV3IG9yIGEgbW9yZSB6b29tZWQgaW4vb3V0IHZpZXcuXG4gIC8vIFRoZXNlIGZhY3RvcnMgYXJlIGFwcGxpZWQgdG8gdGhlIHRvcCwgcmlnaHQsIGJvdHRvbSBhbmQgbGVmdCBkaXJlY3Rpb25zLCBpbiB0aGF0IG9yZGVyLlxuICAvLyBBIGZhY3RvciBvZiAxIG1lYW5zIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBjZW50ZXIsIGluIHRoYXQgZGlyZWN0aW9uLCBpcyBkb3VibGVkLlxuICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgLy8gRmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IHJhdGlvIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdG9yZSBzaG91bGQgdHJpZ2dlclxuICAvLyBhIG1hcCB6b29tIHdoZW4gZmVhdHVyZXMgYXJlIGFkZGVkIHRvIGl0LlxuICBhcmVhUmF0aW8/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XG4gIG1vdGlvbj86IEZlYXR1cmVNb3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneU9wdGlvbnNcbmV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgbWFwOiBJZ29NYXA7XG4gIGdldEZlYXR1cmVJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXk7XG4gIG1vdGlvbj86IEZlYXR1cmVNb3Rpb247XG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XG4gIG1hbnk/OiBib29sZWFuO1xuICBoaXRUb2xlcmFuY2U/OiBudW1iZXI7XG4gIGRyYWdCb3g/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBmZWF0dXJlOiBGZWF0dXJlIHwgdW5kZWZpbmVkO1xuICBkYXRhOiBGZWF0dXJlO1xufVxuIl19
@@ -344,4 +344,4 @@ export function computeOlFeaturesDiff(source, target) {
344
344
  remove: olFeaturesToRemove
345
345
  };
346
346
  }
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFHcEMsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUVMLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDbEIsTUFBTSxjQUFjLENBQUM7QUFHdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJekQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsT0FBZ0IsRUFDaEIsYUFBcUIsRUFDckIsS0FBOEI7SUFFOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtR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QU0sSUFDTCxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUN4RTtZQUNBLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFnQyxFQUFFLEVBQUU7UUFDekUsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xyXG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCAqIGFzIG9sc3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IEdlb21ldHJ5TGF5b3V0IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCBPbFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcclxuaW1wb3J0IE9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XHJcbmltcG9ydCBPbExpbmVTdHJpbmcgZnJvbSAnb2wvZ2VvbS9MaW5lU3RyaW5nJztcclxuaW1wb3J0IE9sUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XHJcbmltcG9ydCBPbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgT2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XHJcbmltcG9ydCBPbFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRW50aXR5S2V5LFxyXG4gIGdldEVudGl0eUlkLFxyXG4gIGdldEVudGl0eVRpdGxlLFxyXG4gIGdldEVudGl0eVJldmlzaW9uLFxyXG4gIGdldEVudGl0eUljb24sXHJcbiAgZ2V0RW50aXR5UHJvcGVydHlcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhbiBPcGVubGF5ZXJzIGZlYXR1cmUgb2JqZWN0IG91dCBvZiBhIGZlYXR1cmUgZGVmaW5pdGlvbi5cclxuICogVGhlIG91dHB1dCBvYmplY3QgaGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBmZWF0dXJlIGlkLlxyXG4gKiBAcGFyYW0gZmVhdHVyZSBGZWF0dXJlIGRlZmluaXRpb25cclxuICogQHBhcmFtIHByb2plY3Rpb25PdXQgRmVhdHVyZSBvYmplY3QgcHJvamVjdGlvblxyXG4gKiBAcmV0dXJucyBPcGVuTGF5ZXJzIGZlYXR1cmUgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZVRvT2woXHJcbiAgZmVhdHVyZTogRmVhdHVyZSxcclxuICBwcm9qZWN0aW9uT3V0OiBzdHJpbmcsXHJcbiAgZ2V0SWQ/OiAoRmVhdHVyZSkgPT4gRW50aXR5S2V5XHJcbik6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiB7XHJcbiAgZ2V0SWQgPSBnZXRJZCA/IGdldElkIDogZ2V0RW50aXR5SWQ7XHJcblxyXG4gIGNvbnN0IG9sRm9ybWF0ID0gbmV3IE9sRm9ybWF0R2VvSlNPTigpO1xyXG4gIGNvbnN0IG9sRmVhdHVyZSA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlKGZlYXR1cmUsIHtcclxuICAgIGRhdGFQcm9qZWN0aW9uOiBmZWF0dXJlLnByb2plY3Rpb24sXHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbk91dFxyXG4gIH0pO1xyXG5cclxuICBvbEZlYXR1cmUuc2V0SWQoZ2V0SWQoZmVhdHVyZSkpO1xyXG5cclxuICBjb25zdCB0aXRsZSA9IGdldEVudGl0eVRpdGxlKGZlYXR1cmUpO1xyXG4gIGlmICh0aXRsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbEZlYXR1cmUuc2V0KCdfdGl0bGUnLCB0aXRsZSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpZiAoZmVhdHVyZS5leHRlbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX2V4dGVudCcsIGZlYXR1cmUuZXh0ZW50LCB0cnVlKTtcclxuICB9XHJcblxyXG4gIGlmIChmZWF0dXJlLnByb2plY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX3Byb2plY3Rpb24nLCBmZWF0dXJlLnByb2plY3Rpb24sIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbWFwVGl0bGUgPSBnZXRFbnRpdHlQcm9wZXJ0eShmZWF0dXJlLCAnbWV0YS5tYXBUaXRsZScpO1xyXG4gIGlmIChtYXBUaXRsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbEZlYXR1cmUuc2V0KCdfbWFwVGl0bGUnLCBtYXBUaXRsZSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvbEZlYXR1cmUuc2V0KCdfZW50aXR5UmV2aXNpb24nLCBnZXRFbnRpdHlSZXZpc2lvbihmZWF0dXJlKSwgdHJ1ZSk7XHJcblxyXG4gIGNvbnN0IGljb24gPSBnZXRFbnRpdHlJY29uKGZlYXR1cmUpO1xyXG4gIGlmIChpY29uICE9PSB1bmRlZmluZWQpIHtcclxuICAgIG9sRmVhdHVyZS5zZXQoJ19pY29uJywgaWNvbiwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpZiAoZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5zdHlsZSkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX3N0eWxlJywgZmVhdHVyZS5tZXRhLnN0eWxlLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIGlmIChmZWF0dXJlLnNvdXJjZUlkKSB7XHJcbiAgICBvbEZlYXR1cmUuc2V0KCdfc291cmNlSWQnLCBmZWF0dXJlLnNvdXJjZUlkLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvbEZlYXR1cmU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJGZWF0dXJlRnJvbU9sKFxyXG4gIG9sUmVuZGVyRmVhdHVyZTogT2xSZW5kZXJGZWF0dXJlLFxyXG4gIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gIG9sTGF5ZXI/OiBPbExheWVyPE9sU291cmNlPixcclxuICBwcm9qZWN0aW9uT3V0ID0gJ0VQU0c6NDMyNidcclxuKTogRmVhdHVyZSB7XHJcbiAgbGV0IGdlb207XHJcbiAgbGV0IHRpdGxlO1xyXG4gIGxldCBleGNsdWRlO1xyXG4gIGxldCBleGNsdWRlT2ZmbGluZTtcclxuXHJcbiAgaWYgKG9sTGF5ZXIpIHtcclxuICAgIHRpdGxlID0gb2xMYXllci5nZXQoJ3RpdGxlJyk7XHJcbiAgICBpZiAob2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKSkge1xyXG4gICAgICBleGNsdWRlID0gb2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKS5leGNsdWRlQXR0cmlidXRlO1xyXG4gICAgICBleGNsdWRlT2ZmbGluZSA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJykuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHRpdGxlID0gb2xSZW5kZXJGZWF0dXJlLmdldCgnX3RpdGxlJyk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBvbEZvcm1hdCA9IG5ldyBPbEZvcm1hdEdlb0pTT04oKTtcclxuICBjb25zdCBwcm9wZXJ0aWVzID0gb2xSZW5kZXJGZWF0dXJlLmdldFByb3BlcnRpZXMoKTtcclxuICBjb25zdCBnZW9tZXRyeVR5cGUgPSBvbFJlbmRlckZlYXR1cmUuZ2V0VHlwZSgpO1xyXG5cclxuICBpZiAoZ2VvbWV0cnlUeXBlID09PSAnUG9seWdvbicpIHtcclxuICAgIGNvbnN0IGVuZHMgPSBvbFJlbmRlckZlYXR1cmUuZ2V0RW5kcygpIGFzIG51bWJlcltdO1xyXG4gICAgZ2VvbSA9IG5ldyBPbFBvbHlnb24oXHJcbiAgICAgIG9sUmVuZGVyRmVhdHVyZS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcclxuICAgICAgJ1hZJyBhcyBHZW9tZXRyeUxheW91dCxcclxuICAgICAgZW5kc1xyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKGdlb21ldHJ5VHlwZSA9PT0gJ1BvaW50Jykge1xyXG4gICAgZ2VvbSA9IG5ldyBPbFBvaW50KG9sUmVuZGVyRmVhdHVyZS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSwgJ1hZJyBhcyBHZW9tZXRyeUxheW91dCk7XHJcbiAgfSBlbHNlIGlmIChnZW9tZXRyeVR5cGUgPT09ICdMaW5lU3RyaW5nJykge1xyXG4gICAgZ2VvbSA9IG5ldyBPbExpbmVTdHJpbmcoXHJcbiAgICAgIG9sUmVuZGVyRmVhdHVyZS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcclxuICAgICAgJ1hZJyBhcyBHZW9tZXRyeUxheW91dCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBnZW9tZXRyeSA9IG9sRm9ybWF0LndyaXRlR2VvbWV0cnlPYmplY3QoZ2VvbSwge1xyXG4gICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXHJcbiAgfSkgYXMgRmVhdHVyZUdlb21ldHJ5O1xyXG5cclxuICBjb25zdCBpZCA9IG9sUmVuZGVyRmVhdHVyZS5nZXRJZCgpID8gb2xSZW5kZXJGZWF0dXJlLmdldElkKCkgOiB1dWlkKCk7XHJcbiAgY29uc3QgbWFwVGl0bGUgPSBvbFJlbmRlckZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKTtcclxuICBjb25zdCBleHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KG9sUmVuZGVyRmVhdHVyZS5nZXRFeHRlbnQoKSwgcHJvamVjdGlvbkluLCBwcm9qZWN0aW9uT3V0KSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZTogRkVBVFVSRSxcclxuICAgIHByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICBleHRlbnQsXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB0aXRsZTogdGl0bGUgPyB0aXRsZSA6IG1hcFRpdGxlID8gbWFwVGl0bGUgOiBpZCxcclxuICAgICAgbWFwVGl0bGUsXHJcbiAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGU6IGV4Y2x1ZGUsXHJcbiAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lOiBleGNsdWRlT2ZmbGluZVxyXG4gICAgfSxcclxuICAgIHByb3BlcnRpZXMsXHJcbiAgICBnZW9tZXRyeSxcclxuICAgIG9sOiBvbFJlbmRlckZlYXR1cmVcclxuICB9O1xyXG59XHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBmZWF0dXJlIG9iamVjdCBvdXQgb2YgYW4gT0wgZmVhdHVyZVxyXG4gKiBUaGUgb3V0cHV0IG9iamVjdCBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIGZlYXR1cmUgaWQuXHJcbiAqIEBwYXJhbSBvbEZlYXR1cmUgT0wgRmVhdHVyZVxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbkluIE9MIGZlYXR1cmUgcHJvamVjdGlvblxyXG4gKiBAcGFyYW0gb2xMYXllciBPTCBMYXllclxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbk91dCBGZWF0dXJlIHByb2plY3Rpb25cclxuICogQHJldHVybnMgRmVhdHVyZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVGcm9tT2woXHJcbiAgb2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sXHJcbiAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgb2xMYXllcj86IE9sTGF5ZXI8T2xTb3VyY2U+LFxyXG4gIHByb2plY3Rpb25PdXQgPSAnRVBTRzo0MzI2J1xyXG4pOiBGZWF0dXJlIHtcclxuICBsZXQgdGl0bGU7XHJcbiAgbGV0IGV4Y2x1ZGU7XHJcbiAgbGV0IGV4Y2x1ZGVPZmZsaW5lO1xyXG4gIGxldCBpZENvbHVtbjsgLy8gZm9yIGFyY2dpc3Jlc3QgYW5kIHRpbGVhcmNnaXNyZXN0IHNvdXJjZVxyXG4gIGNvbnN0IG9sRm9ybWF0ID0gbmV3IE9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBjb25zdCBrZXlzID0gb2xGZWF0dXJlLmdldEtleXMoKS5maWx0ZXIoKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gIWtleS5zdGFydHNXaXRoKCdfJykgJiYga2V5ICE9PSAnZ2VvbWV0cnknO1xyXG4gIH0pO1xyXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBrZXlzLnJlZHVjZSgoYWNjOiBvYmplY3QsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICBhY2Nba2V5XSA9IG9sRmVhdHVyZS5nZXQoa2V5KTtcclxuICAgIHJldHVybiBhY2M7XHJcbiAgfSwge30pO1xyXG5cclxuICBjb25zdCBnZW9tZXRyeSA9IG9sRm9ybWF0LndyaXRlR2VvbWV0cnlPYmplY3Qob2xGZWF0dXJlLmdldEdlb21ldHJ5KCksIHtcclxuICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25JblxyXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgaWYgKG9sTGF5ZXIpIHtcclxuICAgIHRpdGxlID0gb2xMYXllci5nZXQoJ3RpdGxlJyk7XHJcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gb2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKTtcclxuICAgIGlmIChzb3VyY2VPcHRpb25zKSB7XHJcbiAgICAgIGV4Y2x1ZGUgPSBzb3VyY2VPcHRpb25zLmV4Y2x1ZGVBdHRyaWJ1dGU7XHJcbiAgICAgIGV4Y2x1ZGVPZmZsaW5lID0gc291cmNlT3B0aW9ucy5leGNsdWRlQXR0cmlidXRlT2ZmbGluZTtcclxuICAgICAgaWRDb2x1bW4gPVxyXG4gICAgICAgIHNvdXJjZU9wdGlvbnMuaWRDb2x1bW4gfHxcclxuICAgICAgICAoKHNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ2FyY2dpc3Jlc3QnIHx8IHNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ3RpbGVhcmNnaXNyZXN0JykgPyAnT0JKRUNUSUQnIDogdW5kZWZpbmVkICk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHRpdGxlID0gb2xGZWF0dXJlLmdldCgnX3RpdGxlJyk7XHJcbiAgfVxyXG4gIGNvbnN0IG1hcFRpdGxlID0gb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJyk7XHJcbiAgY29uc3QgaWQgPSBvbEZlYXR1cmUuZ2V0SWQoKSA/IG9sRmVhdHVyZS5nZXRJZCgpIDogb2xGZWF0dXJlLmdldChpZENvbHVtbikgPyBvbEZlYXR1cmUuZ2V0KGlkQ29sdW1uKSA6IHV1aWQoKTtcclxuICBjb25zdCBuZXdGZWF0dXJlID0gb2xGZWF0dXJlLmdldCgnX25ld0ZlYXR1cmUnKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBwcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgZXh0ZW50OiBvbEZlYXR1cmUuZ2V0KCdfZXh0ZW50JyksXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB0aXRsZTogdGl0bGUgPyB0aXRsZSA6IG1hcFRpdGxlID8gbWFwVGl0bGUgOiBpZCxcclxuICAgICAgbWFwVGl0bGUsXHJcbiAgICAgIHJldmlzaW9uOiBvbEZlYXR1cmUuZ2V0UmV2aXNpb24oKSxcclxuICAgICAgc3R5bGU6IG9sRmVhdHVyZS5nZXQoJ19zdHlsZScpLFxyXG4gICAgICBleGNsdWRlQXR0cmlidXRlOiBleGNsdWRlLFxyXG4gICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZTogZXhjbHVkZU9mZmxpbmVcclxuICAgIH0sXHJcbiAgICBwcm9wZXJ0aWVzLFxyXG4gICAgZ2VvbWV0cnksXHJcbiAgICBvbDogb2xGZWF0dXJlXHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgYW4gT0wgZmVhdHVyZSBleHRlbnQgaW4gaXQncyBtYXAgcHJvamVjdGlvblxyXG4gKiBAcGFyYW0gbWFwIE1hcFxyXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIGZlYXR1cmVcclxuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVFeHRlbnQoXHJcbiAgbWFwOiBJZ29NYXAsXHJcbiAgb2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5cclxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xyXG4gIGxldCBvbEV4dGVudCA9IG9sZXh0ZW50LmNyZWF0ZUVtcHR5KCk7XHJcblxyXG4gIGNvbnN0IG9sRmVhdHVyZUV4dGVudCA9IG9sRmVhdHVyZS5nZXQoJ19leHRlbnQnKTtcclxuICBjb25zdCBvbEZlYXR1cmVQcm9qZWN0aW9uID0gb2xGZWF0dXJlLmdldCgnX3Byb2plY3Rpb24nKTtcclxuICBpZiAob2xGZWF0dXJlRXh0ZW50ICE9PSB1bmRlZmluZWQgJiYgb2xGZWF0dXJlUHJvamVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbEV4dGVudCA9IG9scHJvai50cmFuc2Zvcm1FeHRlbnQoXHJcbiAgICAgIG9sRmVhdHVyZUV4dGVudCxcclxuICAgICAgb2xGZWF0dXJlUHJvamVjdGlvbixcclxuICAgICAgbWFwLnByb2plY3Rpb25cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcclxuICAgIGlmIChvbEdlb21ldHJ5ICE9PSBudWxsKSB7XHJcbiAgICAgIG9sRXh0ZW50ID0gb2xHZW9tZXRyeS5nZXRFeHRlbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBvbEV4dGVudCBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgYSBtdWx0aXBsZSBPTCBmZWF0dXJlcyBleHRlbnQgaW4gdGhlaXIgbWFwIHByb2plY3Rpb25cclxuICogQHBhcmFtIG1hcCBNYXBcclxuICogQHBhcmFtIG9sRmVhdHVyZXMgT0wgZmVhdHVyZXNcclxuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KFxyXG4gIG1hcDogSWdvTWFwLFxyXG4gIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdXHJcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcclxuICBjb25zdCBleHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xyXG5cclxuICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICBjb25zdCBmZWF0dXJlRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZUV4dGVudChtYXAsIG9sRmVhdHVyZSk7XHJcbiAgICBvbGV4dGVudC5leHRlbmQoZXh0ZW50LCBmZWF0dXJlRXh0ZW50KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGV4dGVudCBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNjYWxlIGFuIGV4dGVudC5cclxuICogQHBhcmFtIGV4dGVudCBFeHRlbnRcclxuICogQHBhcmFtIFNjYWxpbmcgZmFjdG9ycyBmb3IgdG9wLCByaWdodCwgYm90dG9tIGFuZCBsZWZ0IGRpcmVjdGlvbnMsIGluIHRoYXQgb3JkZXJcclxuICogQHJldHVybnMgU2NhbGVkIGV4dGVudFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNjYWxlRXh0ZW50KFxyXG4gIGV4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXHJcbiAgc2NhbGU6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXHJcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcclxuICBjb25zdCBbd2lkdGgsIGhlaWdodF0gPSBvbGV4dGVudC5nZXRTaXplKGV4dGVudCk7XHJcbiAgcmV0dXJuIFtcclxuICAgIHNjYWxlWzNdID8gZXh0ZW50WzBdIC0gd2lkdGggKiBzY2FsZVszXSA6IGV4dGVudFswXSxcclxuICAgIHNjYWxlWzJdID8gZXh0ZW50WzFdIC0gaGVpZ2h0ICogc2NhbGVbMl0gOiBleHRlbnRbMV0sXHJcbiAgICBzY2FsZVsxXSA/IGV4dGVudFsyXSArIHdpZHRoICogc2NhbGVbMV0gOiBleHRlbnRbMl0sXHJcbiAgICBzY2FsZVswXSA/IGV4dGVudFszXSArIGhlaWdodCAqIHNjYWxlWzBdIDogZXh0ZW50WzNdXHJcbiAgXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSBvdXQgb2Ygdmlldy5cclxuICogSWYgZmVhdHVyZXMgYXJlIHRvbyBjbG9zZSB0byB0aGUgZWRnZSwgdGhleSBhcmUgY29uc2lkZXJlZCBvdXQgb2Ygdmlldy5cclxuICogV2UgZGVmaW5lIHRoZSBlZGdlIGFzIDUlIG9mIHRoZSBleHRlbnQgc2l6ZS5cclxuICogQHBhcmFtIG1hcCBNYXBcclxuICogQHBhcmFtIGZlYXR1cmVzRXh0ZW50IFRoZSBmZWF0dXJlcydzIGV4dGVudFxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgb3V0IG9mIHZpZXdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlc0FyZU91dE9mVmlldyhcclxuICBtYXA6IElnb01hcCxcclxuICBmZWF0dXJlc0V4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cclxuKSB7XHJcbiAgY29uc3QgbWFwRXh0ZW50ID0gbWFwLnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgpO1xyXG4gIGNvbnN0IGVkZ2VSYXRpbyA9IDAuMDU7XHJcbiAgY29uc3Qgc2NhbGUgPSBbLTEsIC0xLCAtMSwgLTFdLm1hcCh4ID0+IHggKiBlZGdlUmF0aW8pO1xyXG4gIGNvbnN0IHZpZXdFeHRlbnQgPSBzY2FsZUV4dGVudChtYXBFeHRlbnQsIHNjYWxlIGFzIFtcclxuICAgIG51bWJlcixcclxuICAgIG51bWJlcixcclxuICAgIG51bWJlcixcclxuICAgIG51bWJlclxyXG4gIF0pO1xyXG5cclxuICByZXR1cm4gIW9sZXh0ZW50LmNvbnRhaW5zRXh0ZW50KHZpZXdFeHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSB0b28gZGVlcCBpbnRvIHRoZSB2aWV3LiBUaGlzIHJlc3VsdHNcclxuICogaW4gZmVhdHVyZXMgYmVpbmcgdG9vIHNtYWxsLlxyXG4gKiBGZWF0dXJlcyBhcmUgY29uc2lkZXJlZCB0b28gc21hbGwgaWYgdGhlaXIgZXh0ZW50IG9jY3VwaWVzIGxlc3MgdGhhblxyXG4gKiAxJSBvZiB0aGUgbWFwIGV4dGVudC5cclxuICogQHBhcmFtIG1hcCBNYXBcclxuICogQHBhcmFtIGZlYXR1cmVzRXh0ZW50IFRoZSBmZWF0dXJlcydzIGV4dGVudFxyXG4gKiBAcGFyYW0gYXJlYVJhdGlvIFRoZSBmZWF0dXJlcyBleHRlbnQgdG8gdmlldyBleHRlbnQgYWNjZXB0YWJsZSByYXRpb1xyXG4gKiBAcmV0dXJucyBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgdG9vIGRlZXAgaW4gdGhlIHZpZXdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlc0FyZVRvb0RlZXBJblZpZXcoXHJcbiAgbWFwOiBJZ29NYXAsXHJcbiAgZmVhdHVyZXNFeHRlbnQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gIGFyZWFSYXRpbz86IG51bWJlclxyXG4pIHtcclxuICAvLyBBbiBhcmVhIHJhdGlvIG9mIDAuMDA0IG1lYW5zIHRoYXQgdGhlIGZlYXR1cmUgZXh0ZW50J3Mgd2lkdGggYW5kIGhlaWdodFxyXG4gIC8vIHNob3VsZCBiZSBhYm91dCAxLzE2IG9mIHRoZSBtYXAgZXh0ZW50J3Mgd2lkdGggYW5kIGhlaWdodFxyXG4gIGFyZWFSYXRpbyA9IGFyZWFSYXRpbyA/IGFyZWFSYXRpbyA6IDAuMDA0O1xyXG4gIGNvbnN0IG1hcEV4dGVudCA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKTtcclxuICBjb25zdCBtYXBFeHRlbnRBcmVhID0gb2xleHRlbnQuZ2V0QXJlYShtYXBFeHRlbnQpO1xyXG4gIGNvbnN0IGZlYXR1cmVzRXh0ZW50QXJlYSA9IG9sZXh0ZW50LmdldEFyZWEoZmVhdHVyZXNFeHRlbnQpO1xyXG5cclxuICBpZiAoZmVhdHVyZXNFeHRlbnRBcmVhID09PSAwICYmIG1hcC52aWV3Q29udHJvbGxlci5nZXRab29tKCkgPiAxMykge1xyXG4gICAgLy8gSW4gY2FzZSBpdCdzIGEgcG9pbnRcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmZWF0dXJlc0V4dGVudEFyZWEgLyBtYXBFeHRlbnRBcmVhIDwgYXJlYVJhdGlvO1xyXG59XHJcblxyXG4vKipcclxuICogRml0IHZpZXcgdG8gaW5jbHVkZSB0aGUgZmVhdHVyZXMgZXh0ZW50LlxyXG4gKiBCeSBkZWZhdWx0LCB0aGlzIG1ldGhvZCB3aWxsIGxldCB0aGUgZmVhdHVyZXMgb2NjdXB5IGFib3V0IDUwJSBvZiB0aGUgdmlld3BvcnQuXHJcbiAqIEBwYXJhbSBtYXAgTWFwXHJcbiAqIEBwYXJhbSBvbEZlYXR1cmVzIE9MIGZlYXR1cmVzXHJcbiAqIEBwYXJhbSBtb3Rpb24gVG8gbW90aW9uIHRvIHRoZSBuZXcgbWFwIHZpZXdcclxuICogQHBhcmFtIHNjYWxlIElmIHRoaXMgaXMgZGVmaW5lZCwgdGhlIG9yaWdpbmFsIHZpZXcgd2lsbCBiZSBzY2FsZWRcclxuICogIGJ5IHRoYXQgZmFjdG9yIGJlZm9yZSBhbnkgbG9naWMgaXMgYXBwbGllZC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtb3ZlVG9PbEZlYXR1cmVzKFxyXG4gIG1hcDogSWdvTWFwLFxyXG4gIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gIG1vdGlvbjogRmVhdHVyZU1vdGlvbiA9IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCxcclxuICBzY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gIGFyZWFSYXRpbz86IG51bWJlclxyXG4pIHtcclxuICBjb25zdCBmZWF0dXJlc0V4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KG1hcCwgb2xGZWF0dXJlcyk7XHJcbiAgbGV0IHZpZXdFeHRlbnQgPSBmZWF0dXJlc0V4dGVudDtcclxuICBpZiAoc2NhbGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgdmlld0V4dGVudCA9IHNjYWxlRXh0ZW50KHZpZXdFeHRlbnQsIHNjYWxlKTtcclxuICB9XHJcblxyXG4gIGlmIChtb3Rpb24gPT09IEZlYXR1cmVNb3Rpb24uWm9vbSkge1xyXG4gICAgbWFwLnZpZXdDb250cm9sbGVyLnpvb21Ub0V4dGVudCh2aWV3RXh0ZW50KTtcclxuICB9IGVsc2UgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5Nb3ZlKSB7XHJcbiAgICBtYXAudmlld0NvbnRyb2xsZXIubW92ZVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xyXG4gIH0gZWxzZSBpZiAobW90aW9uID09PSBGZWF0dXJlTW90aW9uLkRlZmF1bHQpIHtcclxuICAgIGlmIChcclxuICAgICAgZmVhdHVyZXNBcmVPdXRPZlZpZXcobWFwLCBmZWF0dXJlc0V4dGVudCkgfHxcclxuICAgICAgZmVhdHVyZXNBcmVUb29EZWVwSW5WaWV3KG1hcCwgZmVhdHVyZXNFeHRlbnQsIGFyZWFSYXRpbylcclxuICAgICkge1xyXG4gICAgICBtYXAudmlld0NvbnRyb2xsZXIuem9vbVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhpZGUgYW4gT0wgZmVhdHVyZVxyXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIGZlYXR1cmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBoaWRlT2xGZWF0dXJlKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSB7XHJcbiAgb2xGZWF0dXJlLnNldFN0eWxlKG5ldyBvbHN0eWxlLlN0eWxlKHt9KSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcnkgdG8gYmluZCBhIGxheWVyIHRvIGEgc3RvcmUgaWYgbm9uZSBpcyBib3VuZCBhbHJlYWR5LlxyXG4gKiBUaGUgbGF5ZXIgd2lsbCBhbHNvIGJlIGFkZGVkIHRvIHRoZSBzdG9yZSdzIG1hcC5cclxuICogSWYgbm8gbGF5ZXIgaXMgZ2l2ZW4gdG8gdGhhdCBmdW5jdGlvbiwgYSBiYXNpYyBvbmUgd2lsbCBiZSBjcmVhdGVkLlxyXG4gKiBAcGFyYW0gc3RvcmUgVGhlIHN0b3JlIHRvIGJpbmQgdGhlIGxheWVyXHJcbiAqIEBwYXJhbSBsYXllciBBbiBvcHRpb25hbCBWZWN0b3JMYXllclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlOiBGZWF0dXJlU3RvcmUsIGxheWVyPzogVmVjdG9yTGF5ZXIpIHtcclxuICBpZiAoc3RvcmUubGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHN0b3JlLmxheWVyLm1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0b3JlLm1hcC5hZGRMYXllcihzdG9yZS5sYXllcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBsYXllciA9IGxheWVyXHJcbiAgICA/IGxheWVyXHJcbiAgICA6IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICAgICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKVxyXG4gICAgICB9KTtcclxuICBzdG9yZS5iaW5kTGF5ZXIobGF5ZXIpO1xyXG4gIGlmIChzdG9yZS5sYXllci5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgc3RvcmUubWFwLmFkZExheWVyKHN0b3JlLmxheWVyKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wdXRlIGEgZGlmZiBiZXR3ZWVuIGEgc291cmNlIGFycmF5IG9mIE9sIGZlYXR1cmVzIGFuZCBhIHRhcmdldCBhcnJheVxyXG4gKiBAcGFyYW0gc291cmNlIFNvdXJjZSBhcnJheSBvZiBPTCBmZWF0dXJlc1xyXG4gKiBAcGFyYW0gc3RhcmdldCBUYXJnZXQgYXJyYXkgb2YgT0wgZmVhdHVyZXNcclxuICogQHJldHVybnMgRmVhdHVyZXMgdG8gYWRkIGFuZCByZW1vdmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlT2xGZWF0dXJlc0RpZmYoXHJcbiAgc291cmNlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICB0YXJnZXQ6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdXHJcbik6IHtcclxuICBhZGQ6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdO1xyXG4gIHJlbW92ZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XHJcbn0ge1xyXG4gIGNvbnN0IG9sRmVhdHVyZXNNYXAgPSBuZXcgTWFwKCk7XHJcbiAgdGFyZ2V0LmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICBvbEZlYXR1cmVzTWFwLnNldChvbEZlYXR1cmUuZ2V0SWQoKSwgb2xGZWF0dXJlKTtcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgb2xGZWF0dXJlc1RvUmVtb3ZlID0gW107XHJcbiAgc291cmNlLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICBjb25zdCBuZXdPbEZlYXR1cmUgPSBvbEZlYXR1cmVzTWFwLmdldChvbEZlYXR1cmUuZ2V0SWQoKSk7XHJcbiAgICBpZiAobmV3T2xGZWF0dXJlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgb2xGZWF0dXJlc1RvUmVtb3ZlLnB1c2gob2xGZWF0dXJlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIG5ld09sRmVhdHVyZS5nZXQoJ19lbnRpdHlSZXZpc2lvbicpICE9PSBvbEZlYXR1cmUuZ2V0KCdfZW50aXR5UmV2aXNpb24nKVxyXG4gICAgKSB7XHJcbiAgICAgIG9sRmVhdHVyZXNUb1JlbW92ZS5wdXNoKG9sRmVhdHVyZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvbEZlYXR1cmVzTWFwLmRlbGV0ZShuZXdPbEZlYXR1cmUuZ2V0SWQoKSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IG9sRmVhdHVyZXNUb0FkZElkcyA9IEFycmF5LmZyb20ob2xGZWF0dXJlc01hcC5rZXlzKCkpO1xyXG4gIGNvbnN0IG9sRmVhdHVyZXNUb0FkZCA9IHRhcmdldC5maWx0ZXIoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICByZXR1cm4gb2xGZWF0dXJlc1RvQWRkSWRzLmluZGV4T2Yob2xGZWF0dXJlLmdldElkKCkpID49IDA7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBhZGQ6IG9sRmVhdHVyZXNUb0FkZCxcclxuICAgIHJlbW92ZTogb2xGZWF0dXJlc1RvUmVtb3ZlXHJcbiAgfTtcclxufVxyXG4iXX0=
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFHcEMsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUVMLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDbEIsTUFBTSxjQUFjLENBQUM7QUFHdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJekQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsT0FBZ0IsRUFDaEIsYUFBcUIsRUFDckIsS0FBOEI7SUFFOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtR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QU0sSUFDTCxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUN4RTtZQUNBLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFnQyxFQUFFLEVBQUU7UUFDekUsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeUxheW91dCB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IE9sUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IE9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XG5pbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcbmltcG9ydCBPbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuaW1wb3J0IE9sTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInO1xuaW1wb3J0IE9sU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7XG4gIEVudGl0eUtleSxcbiAgZ2V0RW50aXR5SWQsXG4gIGdldEVudGl0eVRpdGxlLFxuICBnZXRFbnRpdHlSZXZpc2lvbixcbiAgZ2V0RW50aXR5SWNvbixcbiAgZ2V0RW50aXR5UHJvcGVydHlcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwJztcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5cbi8qKlxuICogQ3JlYXRlIGFuIE9wZW5sYXllcnMgZmVhdHVyZSBvYmplY3Qgb3V0IG9mIGEgZmVhdHVyZSBkZWZpbml0aW9uLlxuICogVGhlIG91dHB1dCBvYmplY3QgaGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBmZWF0dXJlIGlkLlxuICogQHBhcmFtIGZlYXR1cmUgRmVhdHVyZSBkZWZpbml0aW9uXG4gKiBAcGFyYW0gcHJvamVjdGlvbk91dCBGZWF0dXJlIG9iamVjdCBwcm9qZWN0aW9uXG4gKiBAcmV0dXJucyBPcGVuTGF5ZXJzIGZlYXR1cmUgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9PbChcbiAgZmVhdHVyZTogRmVhdHVyZSxcbiAgcHJvamVjdGlvbk91dDogc3RyaW5nLFxuICBnZXRJZD86IChGZWF0dXJlKSA9PiBFbnRpdHlLZXlcbik6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiB7XG4gIGdldElkID0gZ2V0SWQgPyBnZXRJZCA6IGdldEVudGl0eUlkO1xuXG4gIGNvbnN0IG9sRm9ybWF0ID0gbmV3IE9sRm9ybWF0R2VvSlNPTigpO1xuICBjb25zdCBvbEZlYXR1cmUgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZShmZWF0dXJlLCB7XG4gICAgZGF0YVByb2plY3Rpb246IGZlYXR1cmUucHJvamVjdGlvbixcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbk91dFxuICB9KTtcblxuICBvbEZlYXR1cmUuc2V0SWQoZ2V0SWQoZmVhdHVyZSkpO1xuXG4gIGNvbnN0IHRpdGxlID0gZ2V0RW50aXR5VGl0bGUoZmVhdHVyZSk7XG4gIGlmICh0aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX3RpdGxlJywgdGl0bGUsIHRydWUpO1xuICB9XG5cbiAgaWYgKGZlYXR1cmUuZXh0ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBvbEZlYXR1cmUuc2V0KCdfZXh0ZW50JywgZmVhdHVyZS5leHRlbnQsIHRydWUpO1xuICB9XG5cbiAgaWYgKGZlYXR1cmUucHJvamVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX3Byb2plY3Rpb24nLCBmZWF0dXJlLnByb2plY3Rpb24sIHRydWUpO1xuICB9XG5cbiAgY29uc3QgbWFwVGl0bGUgPSBnZXRFbnRpdHlQcm9wZXJ0eShmZWF0dXJlLCAnbWV0YS5tYXBUaXRsZScpO1xuICBpZiAobWFwVGl0bGUgIT09IHVuZGVmaW5lZCkge1xuICAgIG9sRmVhdHVyZS5zZXQoJ19tYXBUaXRsZScsIG1hcFRpdGxlLCB0cnVlKTtcbiAgfVxuXG4gIG9sRmVhdHVyZS5zZXQoJ19lbnRpdHlSZXZpc2lvbicsIGdldEVudGl0eVJldmlzaW9uKGZlYXR1cmUpLCB0cnVlKTtcblxuICBjb25zdCBpY29uID0gZ2V0RW50aXR5SWNvbihmZWF0dXJlKTtcbiAgaWYgKGljb24gIT09IHVuZGVmaW5lZCkge1xuICAgIG9sRmVhdHVyZS5zZXQoJ19pY29uJywgaWNvbiwgdHJ1ZSk7XG4gIH1cblxuICBpZiAoZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5zdHlsZSkge1xuICAgIG9sRmVhdHVyZS5zZXQoJ19zdHlsZScsIGZlYXR1cmUubWV0YS5zdHlsZSwgdHJ1ZSk7XG4gIH1cblxuICBpZiAoZmVhdHVyZS5zb3VyY2VJZCkge1xuICAgIG9sRmVhdHVyZS5zZXQoJ19zb3VyY2VJZCcsIGZlYXR1cmUuc291cmNlSWQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIG9sRmVhdHVyZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckZlYXR1cmVGcm9tT2woXG4gIG9sUmVuZGVyRmVhdHVyZTogT2xSZW5kZXJGZWF0dXJlLFxuICBwcm9qZWN0aW9uSW46IHN0cmluZyxcbiAgb2xMYXllcj86IE9sTGF5ZXI8T2xTb3VyY2U+LFxuICBwcm9qZWN0aW9uT3V0ID0gJ0VQU0c6NDMyNidcbik6IEZlYXR1cmUge1xuICBsZXQgZ2VvbTtcbiAgbGV0IHRpdGxlO1xuICBsZXQgZXhjbHVkZTtcbiAgbGV0IGV4Y2x1ZGVPZmZsaW5lO1xuXG4gIGlmIChvbExheWVyKSB7XG4gICAgdGl0bGUgPSBvbExheWVyLmdldCgndGl0bGUnKTtcbiAgICBpZiAob2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKSkge1xuICAgICAgZXhjbHVkZSA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJykuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgIGV4Y2x1ZGVPZmZsaW5lID0gb2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGl0bGUgPSBvbFJlbmRlckZlYXR1cmUuZ2V0KCdfdGl0bGUnKTtcbiAgfVxuXG4gIGNvbnN0IG9sRm9ybWF0ID0gbmV3IE9sRm9ybWF0R2VvSlNPTigpO1xuICBjb25zdCBwcm9wZXJ0aWVzID0gb2xSZW5kZXJGZWF0dXJlLmdldFByb3BlcnRpZXMoKTtcbiAgY29uc3QgZ2VvbWV0cnlUeXBlID0gb2xSZW5kZXJGZWF0dXJlLmdldFR5cGUoKTtcblxuICBpZiAoZ2VvbWV0cnlUeXBlID09PSAnUG9seWdvbicpIHtcbiAgICBjb25zdCBlbmRzID0gb2xSZW5kZXJGZWF0dXJlLmdldEVuZHMoKSBhcyBudW1iZXJbXTtcbiAgICBnZW9tID0gbmV3IE9sUG9seWdvbihcbiAgICAgIG9sUmVuZGVyRmVhdHVyZS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcbiAgICAgICdYWScgYXMgR2VvbWV0cnlMYXlvdXQsXG4gICAgICBlbmRzXG4gICAgKTtcbiAgfSBlbHNlIGlmIChnZW9tZXRyeVR5cGUgPT09ICdQb2ludCcpIHtcbiAgICBnZW9tID0gbmV3IE9sUG9pbnQob2xSZW5kZXJGZWF0dXJlLmdldEZsYXRDb29yZGluYXRlcygpLCAnWFknIGFzIEdlb21ldHJ5TGF5b3V0KTtcbiAgfSBlbHNlIGlmIChnZW9tZXRyeVR5cGUgPT09ICdMaW5lU3RyaW5nJykge1xuICAgIGdlb20gPSBuZXcgT2xMaW5lU3RyaW5nKFxuICAgICAgb2xSZW5kZXJGZWF0dXJlLmdldEZsYXRDb29yZGluYXRlcygpLFxuICAgICAgJ1hZJyBhcyBHZW9tZXRyeUxheW91dCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZ2VvbWV0cnkgPSBvbEZvcm1hdC53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb20sIHtcbiAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcblxuICBjb25zdCBpZCA9IG9sUmVuZGVyRmVhdHVyZS5nZXRJZCgpID8gb2xSZW5kZXJGZWF0dXJlLmdldElkKCkgOiB1dWlkKCk7XG4gIGNvbnN0IG1hcFRpdGxlID0gb2xSZW5kZXJGZWF0dXJlLmdldCgnX21hcFRpdGxlJyk7XG4gIGNvbnN0IGV4dGVudCA9IG9scHJvai50cmFuc2Zvcm1FeHRlbnQob2xSZW5kZXJGZWF0dXJlLmdldEV4dGVudCgpLCBwcm9qZWN0aW9uSW4sIHByb2plY3Rpb25PdXQpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBleHRlbnQsXG4gICAgbWV0YToge1xuICAgICAgaWQsXG4gICAgICB0aXRsZTogdGl0bGUgPyB0aXRsZSA6IG1hcFRpdGxlID8gbWFwVGl0bGUgOiBpZCxcbiAgICAgIG1hcFRpdGxlLFxuICAgICAgZXhjbHVkZUF0dHJpYnV0ZTogZXhjbHVkZSxcbiAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lOiBleGNsdWRlT2ZmbGluZVxuICAgIH0sXG4gICAgcHJvcGVydGllcyxcbiAgICBnZW9tZXRyeSxcbiAgICBvbDogb2xSZW5kZXJGZWF0dXJlXG4gIH07XG59XG4vKipcbiAqIENyZWF0ZSBhIGZlYXR1cmUgb2JqZWN0IG91dCBvZiBhbiBPTCBmZWF0dXJlXG4gKiBUaGUgb3V0cHV0IG9iamVjdCBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIGZlYXR1cmUgaWQuXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIEZlYXR1cmVcbiAqIEBwYXJhbSBwcm9qZWN0aW9uSW4gT0wgZmVhdHVyZSBwcm9qZWN0aW9uXG4gKiBAcGFyYW0gb2xMYXllciBPTCBMYXllclxuICogQHBhcmFtIHByb2plY3Rpb25PdXQgRmVhdHVyZSBwcm9qZWN0aW9uXG4gKiBAcmV0dXJucyBGZWF0dXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlRnJvbU9sKFxuICBvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PixcbiAgcHJvamVjdGlvbkluOiBzdHJpbmcsXG4gIG9sTGF5ZXI/OiBPbExheWVyPE9sU291cmNlPixcbiAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXG4pOiBGZWF0dXJlIHtcbiAgbGV0IHRpdGxlO1xuICBsZXQgZXhjbHVkZTtcbiAgbGV0IGV4Y2x1ZGVPZmZsaW5lO1xuICBsZXQgaWRDb2x1bW47IC8vIGZvciBhcmNnaXNyZXN0IGFuZCB0aWxlYXJjZ2lzcmVzdCBzb3VyY2VcbiAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgT2xGb3JtYXRHZW9KU09OKCk7XG5cbiAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZS5nZXRLZXlzKCkuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAha2V5LnN0YXJ0c1dpdGgoJ18nKSAmJiBrZXkgIT09ICdnZW9tZXRyeSc7XG4gIH0pO1xuICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cy5yZWR1Y2UoKGFjYzogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGFjY1trZXldID0gb2xGZWF0dXJlLmdldChrZXkpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcblxuICBjb25zdCBnZW9tZXRyeSA9IG9sRm9ybWF0LndyaXRlR2VvbWV0cnlPYmplY3Qob2xGZWF0dXJlLmdldEdlb21ldHJ5KCksIHtcbiAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcblxuICBpZiAob2xMYXllcikge1xuICAgIHRpdGxlID0gb2xMYXllci5nZXQoJ3RpdGxlJyk7XG4gICAgY29uc3Qgc291cmNlT3B0aW9ucyA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJyk7XG4gICAgaWYgKHNvdXJjZU9wdGlvbnMpIHtcbiAgICAgIGV4Y2x1ZGUgPSBzb3VyY2VPcHRpb25zLmV4Y2x1ZGVBdHRyaWJ1dGU7XG4gICAgICBleGNsdWRlT2ZmbGluZSA9IHNvdXJjZU9wdGlvbnMuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICBpZENvbHVtbiA9XG4gICAgICAgIHNvdXJjZU9wdGlvbnMuaWRDb2x1bW4gfHxcbiAgICAgICAgKChzb3VyY2VPcHRpb25zLnR5cGUgPT09ICdhcmNnaXNyZXN0JyB8fCBzb3VyY2VPcHRpb25zLnR5cGUgPT09ICd0aWxlYXJjZ2lzcmVzdCcpID8gJ09CSkVDVElEJyA6IHVuZGVmaW5lZCApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aXRsZSA9IG9sRmVhdHVyZS5nZXQoJ190aXRsZScpO1xuICB9XG4gIGNvbnN0IG1hcFRpdGxlID0gb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJyk7XG4gIGNvbnN0IGlkID0gb2xGZWF0dXJlLmdldElkKCkgPyBvbEZlYXR1cmUuZ2V0SWQoKSA6IG9sRmVhdHVyZS5nZXQoaWRDb2x1bW4pID8gb2xGZWF0dXJlLmdldChpZENvbHVtbikgOiB1dWlkKCk7XG4gIGNvbnN0IG5ld0ZlYXR1cmUgPSBvbEZlYXR1cmUuZ2V0KCdfbmV3RmVhdHVyZScpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogRkVBVFVSRSxcbiAgICBwcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxuICAgIGV4dGVudDogb2xGZWF0dXJlLmdldCgnX2V4dGVudCcpLFxuICAgIG1ldGE6IHtcbiAgICAgIGlkLFxuICAgICAgdGl0bGU6IHRpdGxlID8gdGl0bGUgOiBtYXBUaXRsZSA/IG1hcFRpdGxlIDogaWQsXG4gICAgICBtYXBUaXRsZSxcbiAgICAgIHJldmlzaW9uOiBvbEZlYXR1cmUuZ2V0UmV2aXNpb24oKSxcbiAgICAgIHN0eWxlOiBvbEZlYXR1cmUuZ2V0KCdfc3R5bGUnKSxcbiAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGU6IGV4Y2x1ZGUsXG4gICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZTogZXhjbHVkZU9mZmxpbmVcbiAgICB9LFxuICAgIHByb3BlcnRpZXMsXG4gICAgZ2VvbWV0cnksXG4gICAgb2w6IG9sRmVhdHVyZVxuICB9O1xufVxuXG4vKipcbiAqIENvbXB1dGUgYW4gT0wgZmVhdHVyZSBleHRlbnQgaW4gaXQncyBtYXAgcHJvamVjdGlvblxuICogQHBhcmFtIG1hcCBNYXBcbiAqIEBwYXJhbSBvbEZlYXR1cmUgT0wgZmVhdHVyZVxuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU9sRmVhdHVyZUV4dGVudChcbiAgbWFwOiBJZ29NYXAsXG4gIG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+XG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gIGxldCBvbEV4dGVudCA9IG9sZXh0ZW50LmNyZWF0ZUVtcHR5KCk7XG5cbiAgY29uc3Qgb2xGZWF0dXJlRXh0ZW50ID0gb2xGZWF0dXJlLmdldCgnX2V4dGVudCcpO1xuICBjb25zdCBvbEZlYXR1cmVQcm9qZWN0aW9uID0gb2xGZWF0dXJlLmdldCgnX3Byb2plY3Rpb24nKTtcbiAgaWYgKG9sRmVhdHVyZUV4dGVudCAhPT0gdW5kZWZpbmVkICYmIG9sRmVhdHVyZVByb2plY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIG9sRXh0ZW50ID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChcbiAgICAgIG9sRmVhdHVyZUV4dGVudCxcbiAgICAgIG9sRmVhdHVyZVByb2plY3Rpb24sXG4gICAgICBtYXAucHJvamVjdGlvblxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb2xHZW9tZXRyeSA9IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpO1xuICAgIGlmIChvbEdlb21ldHJ5ICE9PSBudWxsKSB7XG4gICAgICBvbEV4dGVudCA9IG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9sRXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xufVxuXG4vKipcbiAqIENvbXB1dGUgYSBtdWx0aXBsZSBPTCBmZWF0dXJlcyBleHRlbnQgaW4gdGhlaXIgbWFwIHByb2plY3Rpb25cbiAqIEBwYXJhbSBtYXAgTWFwXG4gKiBAcGFyYW0gb2xGZWF0dXJlcyBPTCBmZWF0dXJlc1xuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQoXG4gIG1hcDogSWdvTWFwLFxuICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXVxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBjb25zdCBleHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xuXG4gIG9sRmVhdHVyZXMuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICBjb25zdCBmZWF0dXJlRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZUV4dGVudChtYXAsIG9sRmVhdHVyZSk7XG4gICAgb2xleHRlbnQuZXh0ZW5kKGV4dGVudCwgZmVhdHVyZUV4dGVudCk7XG4gIH0pO1xuXG4gIHJldHVybiBleHRlbnQgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG59XG5cbi8qKlxuICogU2NhbGUgYW4gZXh0ZW50LlxuICogQHBhcmFtIGV4dGVudCBFeHRlbnRcbiAqIEBwYXJhbSBTY2FsaW5nIGZhY3RvcnMgZm9yIHRvcCwgcmlnaHQsIGJvdHRvbSBhbmQgbGVmdCBkaXJlY3Rpb25zLCBpbiB0aGF0IG9yZGVyXG4gKiBAcmV0dXJucyBTY2FsZWQgZXh0ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY2FsZUV4dGVudChcbiAgZXh0ZW50OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc2NhbGU6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gIGNvbnN0IFt3aWR0aCwgaGVpZ2h0XSA9IG9sZXh0ZW50LmdldFNpemUoZXh0ZW50KTtcbiAgcmV0dXJuIFtcbiAgICBzY2FsZVszXSA/IGV4dGVudFswXSAtIHdpZHRoICogc2NhbGVbM10gOiBleHRlbnRbMF0sXG4gICAgc2NhbGVbMl0gPyBleHRlbnRbMV0gLSBoZWlnaHQgKiBzY2FsZVsyXSA6IGV4dGVudFsxXSxcbiAgICBzY2FsZVsxXSA/IGV4dGVudFsyXSArIHdpZHRoICogc2NhbGVbMV0gOiBleHRlbnRbMl0sXG4gICAgc2NhbGVbMF0gPyBleHRlbnRbM10gKyBoZWlnaHQgKiBzY2FsZVswXSA6IGV4dGVudFszXVxuICBdO1xufVxuXG4vKipcbiAqIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSBvdXQgb2Ygdmlldy5cbiAqIElmIGZlYXR1cmVzIGFyZSB0b28gY2xvc2UgdG8gdGhlIGVkZ2UsIHRoZXkgYXJlIGNvbnNpZGVyZWQgb3V0IG9mIHZpZXcuXG4gKiBXZSBkZWZpbmUgdGhlIGVkZ2UgYXMgNSUgb2YgdGhlIGV4dGVudCBzaXplLlxuICogQHBhcmFtIG1hcCBNYXBcbiAqIEBwYXJhbSBmZWF0dXJlc0V4dGVudCBUaGUgZmVhdHVyZXMncyBleHRlbnRcbiAqIEByZXR1cm5zIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSBvdXQgb2Ygdmlld1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZXNBcmVPdXRPZlZpZXcoXG4gIG1hcDogSWdvTWFwLFxuICBmZWF0dXJlc0V4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbikge1xuICBjb25zdCBtYXBFeHRlbnQgPSBtYXAudmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KCk7XG4gIGNvbnN0IGVkZ2VSYXRpbyA9IDAuMDU7XG4gIGNvbnN0IHNjYWxlID0gWy0xLCAtMSwgLTEsIC0xXS5tYXAoeCA9PiB4ICogZWRnZVJhdGlvKTtcbiAgY29uc3Qgdmlld0V4dGVudCA9IHNjYWxlRXh0ZW50KG1hcEV4dGVudCwgc2NhbGUgYXMgW1xuICAgIG51bWJlcixcbiAgICBudW1iZXIsXG4gICAgbnVtYmVyLFxuICAgIG51bWJlclxuICBdKTtcblxuICByZXR1cm4gIW9sZXh0ZW50LmNvbnRhaW5zRXh0ZW50KHZpZXdFeHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgdG9vIGRlZXAgaW50byB0aGUgdmlldy4gVGhpcyByZXN1bHRzXG4gKiBpbiBmZWF0dXJlcyBiZWluZyB0b28gc21hbGwuXG4gKiBGZWF0dXJlcyBhcmUgY29uc2lkZXJlZCB0b28gc21hbGwgaWYgdGhlaXIgZXh0ZW50IG9jY3VwaWVzIGxlc3MgdGhhblxuICogMSUgb2YgdGhlIG1hcCBleHRlbnQuXG4gKiBAcGFyYW0gbWFwIE1hcFxuICogQHBhcmFtIGZlYXR1cmVzRXh0ZW50IFRoZSBmZWF0dXJlcydzIGV4dGVudFxuICogQHBhcmFtIGFyZWFSYXRpbyBUaGUgZmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IGFjY2VwdGFibGUgcmF0aW9cbiAqIEByZXR1cm5zIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSB0b28gZGVlcCBpbiB0aGUgdmlld1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZXNBcmVUb29EZWVwSW5WaWV3KFxuICBtYXA6IElnb01hcCxcbiAgZmVhdHVyZXNFeHRlbnQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICBhcmVhUmF0aW8/OiBudW1iZXJcbikge1xuICAvLyBBbiBhcmVhIHJhdGlvIG9mIDAuMDA0IG1lYW5zIHRoYXQgdGhlIGZlYXR1cmUgZXh0ZW50J3Mgd2lkdGggYW5kIGhlaWdodFxuICAvLyBzaG91bGQgYmUgYWJvdXQgMS8xNiBvZiB0aGUgbWFwIGV4dGVudCdzIHdpZHRoIGFuZCBoZWlnaHRcbiAgYXJlYVJhdGlvID0gYXJlYVJhdGlvID8gYXJlYVJhdGlvIDogMC4wMDQ7XG4gIGNvbnN0IG1hcEV4dGVudCA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKTtcbiAgY29uc3QgbWFwRXh0ZW50QXJlYSA9IG9sZXh0ZW50LmdldEFyZWEobWFwRXh0ZW50KTtcbiAgY29uc3QgZmVhdHVyZXNFeHRlbnRBcmVhID0gb2xleHRlbnQuZ2V0QXJlYShmZWF0dXJlc0V4dGVudCk7XG5cbiAgaWYgKGZlYXR1cmVzRXh0ZW50QXJlYSA9PT0gMCAmJiBtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpID4gMTMpIHtcbiAgICAvLyBJbiBjYXNlIGl0J3MgYSBwb2ludFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBmZWF0dXJlc0V4dGVudEFyZWEgLyBtYXBFeHRlbnRBcmVhIDwgYXJlYVJhdGlvO1xufVxuXG4vKipcbiAqIEZpdCB2aWV3IHRvIGluY2x1ZGUgdGhlIGZlYXR1cmVzIGV4dGVudC5cbiAqIEJ5IGRlZmF1bHQsIHRoaXMgbWV0aG9kIHdpbGwgbGV0IHRoZSBmZWF0dXJlcyBvY2N1cHkgYWJvdXQgNTAlIG9mIHRoZSB2aWV3cG9ydC5cbiAqIEBwYXJhbSBtYXAgTWFwXG4gKiBAcGFyYW0gb2xGZWF0dXJlcyBPTCBmZWF0dXJlc1xuICogQHBhcmFtIG1vdGlvbiBUbyBtb3Rpb24gdG8gdGhlIG5ldyBtYXAgdmlld1xuICogQHBhcmFtIHNjYWxlIElmIHRoaXMgaXMgZGVmaW5lZCwgdGhlIG9yaWdpbmFsIHZpZXcgd2lsbCBiZSBzY2FsZWRcbiAqICBieSB0aGF0IGZhY3RvciBiZWZvcmUgYW55IGxvZ2ljIGlzIGFwcGxpZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlVG9PbEZlYXR1cmVzKFxuICBtYXA6IElnb01hcCxcbiAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXG4gIG1vdGlvbjogRmVhdHVyZU1vdGlvbiA9IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCxcbiAgc2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYXJlYVJhdGlvPzogbnVtYmVyXG4pIHtcbiAgY29uc3QgZmVhdHVyZXNFeHRlbnQgPSBjb21wdXRlT2xGZWF0dXJlc0V4dGVudChtYXAsIG9sRmVhdHVyZXMpO1xuICBsZXQgdmlld0V4dGVudCA9IGZlYXR1cmVzRXh0ZW50O1xuICBpZiAoc2NhbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIHZpZXdFeHRlbnQgPSBzY2FsZUV4dGVudCh2aWV3RXh0ZW50LCBzY2FsZSk7XG4gIH1cblxuICBpZiAobW90aW9uID09PSBGZWF0dXJlTW90aW9uLlpvb20pIHtcbiAgICBtYXAudmlld0NvbnRyb2xsZXIuem9vbVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xuICB9IGVsc2UgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5Nb3ZlKSB7XG4gICAgbWFwLnZpZXdDb250cm9sbGVyLm1vdmVUb0V4dGVudCh2aWV3RXh0ZW50KTtcbiAgfSBlbHNlIGlmIChtb3Rpb24gPT09IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCkge1xuICAgIGlmIChcbiAgICAgIGZlYXR1cmVzQXJlT3V0T2ZWaWV3KG1hcCwgZmVhdHVyZXNFeHRlbnQpIHx8XG4gICAgICBmZWF0dXJlc0FyZVRvb0RlZXBJblZpZXcobWFwLCBmZWF0dXJlc0V4dGVudCwgYXJlYVJhdGlvKVxuICAgICkge1xuICAgICAgbWFwLnZpZXdDb250cm9sbGVyLnpvb21Ub0V4dGVudCh2aWV3RXh0ZW50KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBIaWRlIGFuIE9MIGZlYXR1cmVcbiAqIEBwYXJhbSBvbEZlYXR1cmUgT0wgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZU9sRmVhdHVyZShvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5Pikge1xuICBvbEZlYXR1cmUuc2V0U3R5bGUobmV3IG9sc3R5bGUuU3R5bGUoe30pKTtcbn1cblxuLyoqXG4gKiBUcnkgdG8gYmluZCBhIGxheWVyIHRvIGEgc3RvcmUgaWYgbm9uZSBpcyBib3VuZCBhbHJlYWR5LlxuICogVGhlIGxheWVyIHdpbGwgYWxzbyBiZSBhZGRlZCB0byB0aGUgc3RvcmUncyBtYXAuXG4gKiBJZiBubyBsYXllciBpcyBnaXZlbiB0byB0aGF0IGZ1bmN0aW9uLCBhIGJhc2ljIG9uZSB3aWxsIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0gc3RvcmUgVGhlIHN0b3JlIHRvIGJpbmQgdGhlIGxheWVyXG4gKiBAcGFyYW0gbGF5ZXIgQW4gb3B0aW9uYWwgVmVjdG9yTGF5ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlOiBGZWF0dXJlU3RvcmUsIGxheWVyPzogVmVjdG9yTGF5ZXIpIHtcbiAgaWYgKHN0b3JlLmxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoc3RvcmUubGF5ZXIubWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0b3JlLm1hcC5hZGRMYXllcihzdG9yZS5sYXllcik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGxheWVyID0gbGF5ZXJcbiAgICA/IGxheWVyXG4gICAgOiBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpXG4gICAgICB9KTtcbiAgc3RvcmUuYmluZExheWVyKGxheWVyKTtcbiAgaWYgKHN0b3JlLmxheWVyLm1hcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RvcmUubWFwLmFkZExheWVyKHN0b3JlLmxheWVyKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbXB1dGUgYSBkaWZmIGJldHdlZW4gYSBzb3VyY2UgYXJyYXkgb2YgT2wgZmVhdHVyZXMgYW5kIGEgdGFyZ2V0IGFycmF5XG4gKiBAcGFyYW0gc291cmNlIFNvdXJjZSBhcnJheSBvZiBPTCBmZWF0dXJlc1xuICogQHBhcmFtIHN0YXJnZXQgVGFyZ2V0IGFycmF5IG9mIE9MIGZlYXR1cmVzXG4gKiBAcmV0dXJucyBGZWF0dXJlcyB0byBhZGQgYW5kIHJlbW92ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU9sRmVhdHVyZXNEaWZmKFxuICBzb3VyY2U6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxuICB0YXJnZXQ6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdXG4pOiB7XG4gIGFkZDogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XG4gIHJlbW92ZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XG59IHtcbiAgY29uc3Qgb2xGZWF0dXJlc01hcCA9IG5ldyBNYXAoKTtcbiAgdGFyZ2V0LmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgb2xGZWF0dXJlc01hcC5zZXQob2xGZWF0dXJlLmdldElkKCksIG9sRmVhdHVyZSk7XG4gIH0pO1xuXG4gIGNvbnN0IG9sRmVhdHVyZXNUb1JlbW92ZSA9IFtdO1xuICBzb3VyY2UuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICBjb25zdCBuZXdPbEZlYXR1cmUgPSBvbEZlYXR1cmVzTWFwLmdldChvbEZlYXR1cmUuZ2V0SWQoKSk7XG4gICAgaWYgKG5ld09sRmVhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvbEZlYXR1cmVzVG9SZW1vdmUucHVzaChvbEZlYXR1cmUpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBuZXdPbEZlYXR1cmUuZ2V0KCdfZW50aXR5UmV2aXNpb24nKSAhPT0gb2xGZWF0dXJlLmdldCgnX2VudGl0eVJldmlzaW9uJylcbiAgICApIHtcbiAgICAgIG9sRmVhdHVyZXNUb1JlbW92ZS5wdXNoKG9sRmVhdHVyZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9sRmVhdHVyZXNNYXAuZGVsZXRlKG5ld09sRmVhdHVyZS5nZXRJZCgpKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IG9sRmVhdHVyZXNUb0FkZElkcyA9IEFycmF5LmZyb20ob2xGZWF0dXJlc01hcC5rZXlzKCkpO1xuICBjb25zdCBvbEZlYXR1cmVzVG9BZGQgPSB0YXJnZXQuZmlsdGVyKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xuICAgIHJldHVybiBvbEZlYXR1cmVzVG9BZGRJZHMuaW5kZXhPZihvbEZlYXR1cmUuZ2V0SWQoKSkgPj0gMDtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBhZGQ6IG9sRmVhdHVyZXNUb0FkZCxcbiAgICByZW1vdmU6IG9sRmVhdHVyZXNUb1JlbW92ZVxuICB9O1xufVxuIl19
@@ -4,4 +4,4 @@ export * from './feature.utils';
4
4
  export * from './store';
5
5
  export * from './strategies';
6
6
  export * from './strategies.utils';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzLnV0aWxzJztcclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyYXRlZ2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMudXRpbHMnO1xuIl19
@@ -121,4 +121,4 @@ export class FeatureStore extends EntityStore {
121
121
  });
122
122
  }
123
123
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQ0wsV0FBVyxFQUVYLFdBQVcsRUFDWixNQUFNLGNBQWMsQ0FBQztBQU10QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFlBQTBDLFNBQVEsV0FBYztJQW1CM0UsWUFBWSxRQUFhLEVBQUUsT0FBNEI7UUFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQVZEOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQStCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RSxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUNkLFFBQW1CLEVBQ25CLFNBQXdCLGFBQWEsQ0FBQyxPQUFPLEVBQzdDLFNBQTRDLEVBQzVDLFNBQWtCLEVBQ2xCLEtBQThCO1FBRTlCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFD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QU8sRUFBRSxFQUFFO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRDs7O09BR0c7SUFDSyxvQkFBb0IsQ0FBQyxVQUFtQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1lBQ3RELFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sseUJBQXlCLENBQUMsVUFBbUM7UUFDbkUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBnZXRFbnRpdHlJZCxcclxuICBFbnRpdHlLZXksXHJcbiAgRW50aXR5U3RvcmVcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllcic7XHJcbmltcG9ydCB7IElnb01hcCwgTWFwRXh0ZW50IH0gZnJvbSAnLi4vLi4vbWFwJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlU3RvcmVPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBjb21wdXRlT2xGZWF0dXJlc0RpZmYsIGZlYXR1cmVGcm9tT2wsIGZlYXR1cmVUb09sLCBtb3ZlVG9PbEZlYXR1cmVzLCBjb21wdXRlT2xGZWF0dXJlc0V4dGVudCB9IGZyb20gJy4vZmVhdHVyZS51dGlscyc7XHJcblxyXG4vKipcclxuICogVGhlIGNsYXNzIGlzIGEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBhbiBFbnRpdHlTdG9yZSB0aGF0IHN0b3Jlc1xyXG4gKiBmZWF0dXJlcyBhbmQgdGhlIG1hcCBsYXllciB0byBkaXNwbGF5IHRoZW0gb24uIFN5bmNocm9uaXphdGlvblxyXG4gKiBiZXR3ZWVuIHRoZSBzdG9yZSBhbmQgdGhlIGxheWVyIGlzIGhhbmRsZWQgYnkgc3RyYXRlZ2llcy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU3RvcmU8VCBleHRlbmRzIEZlYXR1cmUgPSBGZWF0dXJlPiBleHRlbmRzIEVudGl0eVN0b3JlPFQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVmVjdG9yIGxheWVyIHRvIGRpc3BsYXkgdGhlIGZlYXR1cmVzIG9uXHJcbiAgICovXHJcbiAgbGF5ZXI6IFZlY3RvckxheWVyO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbWFwIHRoZSBsYXllciBpcyBib3VuZCB0b1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbGF5ZXIncyBkYXRhIHNvdXJjZVxyXG4gICAqL1xyXG4gIGdldCBzb3VyY2UoKTogRmVhdHVyZURhdGFTb3VyY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXIgPyB0aGlzLmxheWVyLmRhdGFTb3VyY2UgYXMgRmVhdHVyZURhdGFTb3VyY2UgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihlbnRpdGllczogVFtdLCBvcHRpb25zOiBGZWF0dXJlU3RvcmVPcHRpb25zKSB7XHJcbiAgICBzdXBlcihlbnRpdGllcywgb3B0aW9ucyk7XHJcbiAgICB0aGlzLm1hcCA9IG9wdGlvbnMubWFwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0b3JlIHRvIGEgdmVjdG9yIGxheWVyXHJcbiAgICogQHBhcmFtIGxheWVyIFZlY3RvciBsYXllclxyXG4gICAqIEByZXR1cm5zIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kTGF5ZXIobGF5ZXI6IFZlY3RvckxheWVyKTogRmVhdHVyZVN0b3JlIHtcclxuICAgIHRoaXMubGF5ZXIgPSBsYXllcjtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBsYXllcidzIGZlYXR1cmVzIGFuZCBwZXJmb3JtIGEgbW90aW9uIHRvIG1ha2UgdGhlbSB2aXNpYmxlLiBTdHJhdGVnaWVzXHJcbiAgICogbWFrZSBleHRlbnNpdmUgdXNlIG9mIHRoYXQgbWV0aG9kLlxyXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBGZWF0dXJlc1xyXG4gICAqIEBwYXJhbSBtb3Rpb24gT3B0aW9uYWw6IFRoZSB0eXBlIG9mIG1vdGlvbiB0byBwZXJmb3JtXHJcbiAgICovXHJcbiAgc2V0TGF5ZXJGZWF0dXJlcyhcclxuICAgIGZlYXR1cmVzOiBGZWF0dXJlW10sXHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24gPSBGZWF0dXJlTW90aW9uLkRlZmF1bHQsXHJcbiAgICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICAgIGFyZWFSYXRpbz86IG51bWJlcixcclxuICAgIGdldElkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleVxyXG4gICkge1xyXG4gICAgZ2V0SWQgPSBnZXRJZCA/IGdldElkIDogZ2V0RW50aXR5SWQ7XHJcbiAgICB0aGlzLmNoZWNrTGF5ZXIoKTtcclxuXHJcbiAgICBjb25zdCBvbEZlYXR1cmVzID0gZmVhdHVyZXNcclxuICAgICAgLm1hcCgoZmVhdHVyZTogRmVhdHVyZSkgPT4gZmVhdHVyZVRvT2woZmVhdHVyZSwgdGhpcy5tYXAucHJvamVjdGlvbiwgZ2V0SWQpKTtcclxuICAgIHRoaXMuc2V0TGF5ZXJPbEZlYXR1cmVzKG9sRmVhdHVyZXMsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBzdG9yZSdzIGZlYXR1cmVzIGZyb20gYW4gYXJyYXkgb2YgT0wgZmVhdHVyZXMuXHJcbiAgICogQHBhcmFtIG9sRmVhdHVyZXMgT2wgZmVhdHVyZXNcclxuICAgKi9cclxuICBzZXRTdG9yZU9sRmVhdHVyZXMob2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10pIHtcclxuICAgIHRoaXMuY2hlY2tMYXllcigpO1xyXG5cclxuICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGZWF0dXJlcy5tYXAoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIG9sRmVhdHVyZS5zZXQoJ19mZWF0dXJlU3RvcmUnLCB0aGlzLCB0cnVlKTtcclxuICAgICAgcmV0dXJuIGZlYXR1cmVGcm9tT2wob2xGZWF0dXJlLCB0aGlzLmxheWVyLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sb2FkKGZlYXR1cmVzIGFzIFRbXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIGZlYXR1cmVzIGZyb20gdGhlIGxheWVyXHJcbiAgICovXHJcbiAgY2xlYXJMYXllcigpIHtcclxuICAgIHRoaXMuY2hlY2tMYXllcigpO1xyXG4gICAgdGhpcy5zb3VyY2Uub2wuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIHdldGhlciBhIGxheWVyIGlzIGJvdW5kIG9yIG5vdCBhbmQgdGhyb3cgYW4gZXJyb3IgaWYgbm90LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2hlY2tMYXllcigpIHtcclxuICAgIGlmICh0aGlzLmxheWVyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIEZlYXR1cmVTdG9yZSBpcyBub3QgYm91bmQgdG8gYSBsYXllci4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgbGF5ZXIncyBmZWF0dXJlcyBhbmQgcGVyZm9ybSBhIG1vdGlvbiB0byBtYWtlIHRoZW0gdmlzaWJsZS5cclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcclxuICAgKiBAcGFyYW0gbW90aW9uIE9wdGlvbmFsOiBUaGUgdHlwZSBvZiBtb3Rpb24gdG8gcGVyZm9ybVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRMYXllck9sRmVhdHVyZXMoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbiA9IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCxcclxuICAgIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgYXJlYVJhdGlvPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBjb25zdCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub2wuZ2V0U291cmNlKCk7XHJcbiAgICBjb25zdCBkaWZmID0gY29tcHV0ZU9sRmVhdHVyZXNEaWZmKG9sU291cmNlLmdldEZlYXR1cmVzKCksIG9sRmVhdHVyZXMpO1xyXG4gICAgaWYgKGRpZmYucmVtb3ZlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5yZW1vdmVPbEZlYXR1cmVzRnJvbUxheWVyKGRpZmYucmVtb3ZlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlmZi5hZGQubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFkZE9sRmVhdHVyZXNUb0xheWVyKGRpZmYuYWRkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlmZi5hZGQubGVuZ3RoID4gMCkge1xyXG4gICAgICAvLyBJZiBmZWF0dXJlcyBhcmUgYWRkZWQsIGRvIGEgbW90aW9uIHRvd2FyZCB0aGUgbmV3bHkgYWRkZWQgZmVhdHVyZXNcclxuICAgICAgbW92ZVRvT2xGZWF0dXJlcyh0aGlzLm1hcCwgZGlmZi5hZGQsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xyXG4gICAgfSBlbHNlIGlmIChkaWZmLnJlbW92ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIC8vIEVsc2UsIGRvIGEgbW90aW9uIHRvd2FyZCBhbGwgdGhlIGZlYXR1cmVzXHJcbiAgICAgIG1vdmVUb09sRmVhdHVyZXModGhpcy5tYXAsIG9sRmVhdHVyZXMsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TGF5ZXJFeHRlbnQoKTogdm9pZCB7XHJcbiAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLmVudGl0aWVzJC5nZXRWYWx1ZSgpO1xyXG4gICAgbGV0IGV4dGVudCA9IG9sZXh0ZW50LmNyZWF0ZUVtcHR5KCkgYXMgTWFwRXh0ZW50O1xyXG4gICAgbGV0IG9sRmVhdHVyZXMgPSBbXTtcclxuXHJcbiAgICBmZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgIG9sRmVhdHVyZXMucHVzaChmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uKSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZlYXR1cmVzRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQodGhpcy5tYXAsIG9sRmVhdHVyZXMpO1xyXG4gICAgb2xleHRlbnQuZXh0ZW5kKGV4dGVudCwgZmVhdHVyZXNFeHRlbnQpO1xyXG4gICAgdGhpcy5sYXllci5zZXRFeHRlbnQoZXh0ZW50KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWRkIGZlYXR1cmVzIHRvIHRoZSB0aGUgbGF5ZXJcclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcclxuICAgKi9cclxuICBwcml2YXRlIGFkZE9sRmVhdHVyZXNUb0xheWVyKG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdKSB7XHJcbiAgICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIG9sRmVhdHVyZS5zZXQoJ19mZWF0dXJlU3RvcmUnLCB0aGlzLCB0cnVlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zb3VyY2Uub2wuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgZmVhdHVyZXMgZnJvbSB0aGUgdGhlIGxheWVyXHJcbiAgICogQHBhcmFtIGZlYXR1cmVzIE9wZW5sYXllcnMgZmVhdHVyZSBvYmplY3RzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVPbEZlYXR1cmVzRnJvbUxheWVyKG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdKSB7XHJcbiAgICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlLm9sLnJlbW92ZUZlYXR1cmUob2xGZWF0dXJlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQ0wsV0FBVyxFQUVYLFdBQVcsRUFDWixNQUFNLGNBQWMsQ0FBQztBQU10QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFlBQTBDLFNBQVEsV0FBYztJQW1CM0UsWUFBWSxRQUFhLEVBQUUsT0FBNEI7UUFDckQsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQVZEOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQStCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RSxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUNkLFFBQW1CLEVBQ25CLFNBQXdCLGFBQWEsQ0FBQyxPQUFPLEVBQzdDLFNBQTRDLEVBQzVDLFNBQWtCLEVBQ2xCLEtBQThCO1FBRTlCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFD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QU8sRUFBRSxFQUFFO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRDs7O09BR0c7SUFDSyxvQkFBb0IsQ0FBQyxVQUFtQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1lBQ3RELFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sseUJBQXlCLENBQUMsVUFBbUM7UUFDbkUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCAqIGFzIG9sZXh0ZW50IGZyb20gJ29sL2V4dGVudCc7XG5cbmltcG9ydCB7XG4gIGdldEVudGl0eUlkLFxuICBFbnRpdHlLZXksXG4gIEVudGl0eVN0b3JlXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IElnb01hcCwgTWFwRXh0ZW50IH0gZnJvbSAnLi4vLi4vbWFwJztcblxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlU3RvcmVPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29tcHV0ZU9sRmVhdHVyZXNEaWZmLCBmZWF0dXJlRnJvbU9sLCBmZWF0dXJlVG9PbCwgbW92ZVRvT2xGZWF0dXJlcywgY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQgfSBmcm9tICcuL2ZlYXR1cmUudXRpbHMnO1xuXG4vKipcbiAqIFRoZSBjbGFzcyBpcyBhIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYW4gRW50aXR5U3RvcmUgdGhhdCBzdG9yZXNcbiAqIGZlYXR1cmVzIGFuZCB0aGUgbWFwIGxheWVyIHRvIGRpc3BsYXkgdGhlbSBvbi4gU3luY2hyb25pemF0aW9uXG4gKiBiZXR3ZWVuIHRoZSBzdG9yZSBhbmQgdGhlIGxheWVyIGlzIGhhbmRsZWQgYnkgc3RyYXRlZ2llcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVTdG9yZTxUIGV4dGVuZHMgRmVhdHVyZSA9IEZlYXR1cmU+IGV4dGVuZHMgRW50aXR5U3RvcmU8VD4ge1xuXG4gIC8qKlxuICAgKiBWZWN0b3IgbGF5ZXIgdG8gZGlzcGxheSB0aGUgZmVhdHVyZXMgb25cbiAgICovXG4gIGxheWVyOiBWZWN0b3JMYXllcjtcblxuICAvKipcbiAgICogVGhlIG1hcCB0aGUgbGF5ZXIgaXMgYm91bmQgdG9cbiAgICovXG4gIHJlYWRvbmx5IG1hcDogSWdvTWFwO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF5ZXIncyBkYXRhIHNvdXJjZVxuICAgKi9cbiAgZ2V0IHNvdXJjZSgpOiBGZWF0dXJlRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXIgPyB0aGlzLmxheWVyLmRhdGFTb3VyY2UgYXMgRmVhdHVyZURhdGFTb3VyY2UgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihlbnRpdGllczogVFtdLCBvcHRpb25zOiBGZWF0dXJlU3RvcmVPcHRpb25zKSB7XG4gICAgc3VwZXIoZW50aXRpZXMsIG9wdGlvbnMpO1xuICAgIHRoaXMubWFwID0gb3B0aW9ucy5tYXA7XG4gIH1cblxuICAvKipcbiAgICogQmluZCB0aGlzIHN0b3JlIHRvIGEgdmVjdG9yIGxheWVyXG4gICAqIEBwYXJhbSBsYXllciBWZWN0b3IgbGF5ZXJcbiAgICogQHJldHVybnMgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgYmluZExheWVyKGxheWVyOiBWZWN0b3JMYXllcik6IEZlYXR1cmVTdG9yZSB7XG4gICAgdGhpcy5sYXllciA9IGxheWVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbGF5ZXIncyBmZWF0dXJlcyBhbmQgcGVyZm9ybSBhIG1vdGlvbiB0byBtYWtlIHRoZW0gdmlzaWJsZS4gU3RyYXRlZ2llc1xuICAgKiBtYWtlIGV4dGVuc2l2ZSB1c2Ugb2YgdGhhdCBtZXRob2QuXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBGZWF0dXJlc1xuICAgKiBAcGFyYW0gbW90aW9uIE9wdGlvbmFsOiBUaGUgdHlwZSBvZiBtb3Rpb24gdG8gcGVyZm9ybVxuICAgKi9cbiAgc2V0TGF5ZXJGZWF0dXJlcyhcbiAgICBmZWF0dXJlczogRmVhdHVyZVtdLFxuICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbiA9IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCxcbiAgICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgICBhcmVhUmF0aW8/OiBudW1iZXIsXG4gICAgZ2V0SWQ/OiAoRmVhdHVyZSkgPT4gRW50aXR5S2V5XG4gICkge1xuICAgIGdldElkID0gZ2V0SWQgPyBnZXRJZCA6IGdldEVudGl0eUlkO1xuICAgIHRoaXMuY2hlY2tMYXllcigpO1xuXG4gICAgY29uc3Qgb2xGZWF0dXJlcyA9IGZlYXR1cmVzXG4gICAgICAubWFwKChmZWF0dXJlOiBGZWF0dXJlKSA9PiBmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uLCBnZXRJZCkpO1xuICAgIHRoaXMuc2V0TGF5ZXJPbEZlYXR1cmVzKG9sRmVhdHVyZXMsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc3RvcmUncyBmZWF0dXJlcyBmcm9tIGFuIGFycmF5IG9mIE9MIGZlYXR1cmVzLlxuICAgKiBAcGFyYW0gb2xGZWF0dXJlcyBPbCBmZWF0dXJlc1xuICAgKi9cbiAgc2V0U3RvcmVPbEZlYXR1cmVzKG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdKSB7XG4gICAgdGhpcy5jaGVja0xheWVyKCk7XG5cbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xuICAgICAgb2xGZWF0dXJlLnNldCgnX2ZlYXR1cmVTdG9yZScsIHRoaXMsIHRydWUpO1xuICAgICAgcmV0dXJuIGZlYXR1cmVGcm9tT2wob2xGZWF0dXJlLCB0aGlzLmxheWVyLm1hcC5wcm9qZWN0aW9uKTtcbiAgICB9KTtcbiAgICB0aGlzLmxvYWQoZmVhdHVyZXMgYXMgVFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWxsIGZlYXR1cmVzIGZyb20gdGhlIGxheWVyXG4gICAqL1xuICBjbGVhckxheWVyKCkge1xuICAgIHRoaXMuY2hlY2tMYXllcigpO1xuICAgIHRoaXMuc291cmNlLm9sLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2V0aGVyIGEgbGF5ZXIgaXMgYm91bmQgb3Igbm90IGFuZCB0aHJvdyBhbiBlcnJvciBpZiBub3QuXG4gICAqL1xuICBwcml2YXRlIGNoZWNrTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIEZlYXR1cmVTdG9yZSBpcyBub3QgYm91bmQgdG8gYSBsYXllci4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsYXllcidzIGZlYXR1cmVzIGFuZCBwZXJmb3JtIGEgbW90aW9uIHRvIG1ha2UgdGhlbSB2aXNpYmxlLlxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICogQHBhcmFtIG1vdGlvbiBPcHRpb25hbDogVGhlIHR5cGUgb2YgbW90aW9uIHRvIHBlcmZvcm1cbiAgICovXG4gIHB1YmxpYyBzZXRMYXllck9sRmVhdHVyZXMoXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uID0gRmVhdHVyZU1vdGlvbi5EZWZhdWx0LFxuICAgIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICAgIGFyZWFSYXRpbz86IG51bWJlclxuICApIHtcbiAgICBjb25zdCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub2wuZ2V0U291cmNlKCk7XG4gICAgY29uc3QgZGlmZiA9IGNvbXB1dGVPbEZlYXR1cmVzRGlmZihvbFNvdXJjZS5nZXRGZWF0dXJlcygpLCBvbEZlYXR1cmVzKTtcbiAgICBpZiAoZGlmZi5yZW1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yZW1vdmVPbEZlYXR1cmVzRnJvbUxheWVyKGRpZmYucmVtb3ZlKTtcbiAgICB9XG5cbiAgICBpZiAoZGlmZi5hZGQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hZGRPbEZlYXR1cmVzVG9MYXllcihkaWZmLmFkZCk7XG4gICAgfVxuXG4gICAgaWYgKGRpZmYuYWRkLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIElmIGZlYXR1cmVzIGFyZSBhZGRlZCwgZG8gYSBtb3Rpb24gdG93YXJkIHRoZSBuZXdseSBhZGRlZCBmZWF0dXJlc1xuICAgICAgbW92ZVRvT2xGZWF0dXJlcyh0aGlzLm1hcCwgZGlmZi5hZGQsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xuICAgIH0gZWxzZSBpZiAoZGlmZi5yZW1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgLy8gRWxzZSwgZG8gYSBtb3Rpb24gdG93YXJkIGFsbCB0aGUgZmVhdHVyZXNcbiAgICAgIG1vdmVUb09sRmVhdHVyZXModGhpcy5tYXAsIG9sRmVhdHVyZXMsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xuICAgIH1cbiAgfVxuXG4gIHNldExheWVyRXh0ZW50KCk6IHZvaWQge1xuICAgIGxldCBmZWF0dXJlcyA9IHRoaXMuZW50aXRpZXMkLmdldFZhbHVlKCk7XG4gICAgbGV0IGV4dGVudCA9IG9sZXh0ZW50LmNyZWF0ZUVtcHR5KCkgYXMgTWFwRXh0ZW50O1xuICAgIGxldCBvbEZlYXR1cmVzID0gW107XG5cbiAgICBmZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlKSA9PiB7XG4gICAgICBvbEZlYXR1cmVzLnB1c2goZmVhdHVyZVRvT2woZmVhdHVyZSwgdGhpcy5tYXAucHJvamVjdGlvbikpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZlYXR1cmVzRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQodGhpcy5tYXAsIG9sRmVhdHVyZXMpO1xuICAgIG9sZXh0ZW50LmV4dGVuZChleHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcbiAgICB0aGlzLmxheWVyLnNldEV4dGVudChleHRlbnQpO1xuICB9XG4gIC8qKlxuICAgKiBBZGQgZmVhdHVyZXMgdG8gdGhlIHRoZSBsYXllclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICovXG4gIHByaXZhdGUgYWRkT2xGZWF0dXJlc1RvTGF5ZXIob2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10pIHtcbiAgICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgICBvbEZlYXR1cmUuc2V0KCdfZmVhdHVyZVN0b3JlJywgdGhpcywgdHJ1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5zb3VyY2Uub2wuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGZlYXR1cmVzIGZyb20gdGhlIHRoZSBsYXllclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlT2xGZWF0dXJlc0Zyb21MYXllcihvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSkge1xuICAgIG9sRmVhdHVyZXMuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICAgIHRoaXMuc291cmNlLm9sLnJlbW92ZUZlYXR1cmUob2xGZWF0dXJlKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -110,4 +110,4 @@ export class FeatureStoreInMapExtentStrategy extends EntityStoreStrategy {
110
110
  }
111
111
  }
112
112
  }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWFwLWV4dGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvaW4tbWFwLWV4dGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDOzs7R0FHRztBQUNILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQkFBbUI7SUFTdEUsWUFBc0IsT0FBK0M7UUFDbkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREssWUFBTyxHQUFQLE9BQU8sQ0FBd0M7UUFQckU7O1dBRUc7UUFDSyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFDM0MsYUFBUSxHQUFtQixFQUFFLENBQUM7SUFLdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU07YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFtQjtRQUM3QixLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDTyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssVUFBVSxDQUFDLEtBQW1CO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFLO1FBQ2xDLElBQUksS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO1lBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDOUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdELElBQUksbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1lBQzdCLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1lBQzVCLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzFDLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtvQkFDYixJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRTt3QkFDdkUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNsQztpQkFDRjtxQkFBTTtvQkFDTCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO2FBQ0Y7WUFDRCxJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzNFO1lBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMxRTtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQUU7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb2xleHRlbnQgZnJvbSAnb2wvZXh0ZW50JztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3kgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vKipcclxuICogVGhpcyBzdHJhdGVneSBtYWludGFpbiB0aGUgc3RvcmUgZmVhdHVyZXMgdXBkYXRlZCB3aGlsZSB0aGUgbWFwIGlzIG1vdmVkLlxyXG4gKiBUaGUgZmVhdHVyZXMncyBzdGF0ZSBpbnNpZGUgdGhlIG1hcCBhcmUgdGFnZ2VkIGluTWFwRXh0ZW50ID0gdHJ1ZTtcclxuICovXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc3RvcmUncyBPTCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RvcmVzJCQgPSBuZXcgTWFwPEZlYXR1cmVTdG9yZSwgc3RyaW5nPigpO1xyXG4gIHByaXZhdGUgc3RhdGVzJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBlbXB0eSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5T3B0aW9ucykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbXB0eSQkID0gc3RvcmUuZW1wdHkkXHJcbiAgICAgIC5waXBlKHNraXBXaGlsZSgoZW1wdHkpID0+ICFlbXB0eSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVFbnRpdGllc0luRXh0ZW50KHN0b3JlKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIGEgc3RvcmUgYW5kIHN0b3Agd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICB1bmJpbmRTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XHJcbiAgICBzdXBlci51bmJpbmRTdG9yZShzdG9yZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy51bndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhcnQgd2F0Y2hpbmcgYWxsIHN0b3JlcyBhbHJlYWR5IGJvdW5kIHRvIHRoYXQgc3RyYXRlZ3kgYXQgb25jZS5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBGZWF0dXJlU3RvcmUpID0+IHRoaXMud2F0Y2hTdG9yZShzdG9yZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCB3YXRjaGluZyBhbGwgc3RvcmVzIGJvdW5kIHRvIHRoYXQgc3RyYXRlZ3lcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy51bndhdGNoQWxsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXYXRjaCBmb3IgYSBzdG9yZSdzICBPTCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIGlmICh0aGlzLnN0b3JlcyQkLmhhcyhzdG9yZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlRW50aXRpZXNJbkV4dGVudChzdG9yZSk7XHJcbiAgICB0aGlzLnN0YXRlcyQkLnB1c2goc3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzSW5FeHRlbnQoc3RvcmUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVFbnRpdGllc0luRXh0ZW50KHN0b3JlKSB7XHJcbiAgICBpZiAoc3RvcmU/LmxheWVyPy5tYXA/LnZpZXdDb250cm9sbGVyKSB7XHJcbiAgICAgIHN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IGluTWFwRXh0ZW50OiBmYWxzZSB9KTtcclxuICAgICAgY29uc3QgbWFwRXh0ZW50ID0gc3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgpO1xyXG4gICAgICBsZXQgZW50aXRpZXNJbk1hcEV4dGVudCA9IFtdO1xyXG4gICAgICBsZXQgZW50aXRpZXNXaXRoTm9HZW9tID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgZW50aXR5IG9mIHN0b3JlLmVudGl0aWVzJC52YWx1ZSkge1xyXG4gICAgICAgIGlmIChlbnRpdHkub2wpIHtcclxuICAgICAgICAgIGlmIChvbGV4dGVudC5pbnRlcnNlY3RzKGVudGl0eS5vbC5nZXRHZW9tZXRyeSgpLmdldEV4dGVudCgpLCBtYXBFeHRlbnQpKSB7XHJcbiAgICAgICAgICAgIGVudGl0aWVzSW5NYXBFeHRlbnQucHVzaChlbnRpdHkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBlbnRpdGllc1dpdGhOb0dlb20ucHVzaChlbnRpdHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW50aXRpZXNJbk1hcEV4dGVudC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgc3RvcmUuc3RhdGUudXBkYXRlTWFueShlbnRpdGllc0luTWFwRXh0ZW50LCB7IGluTWFwRXh0ZW50OiB0cnVlIH0sIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZW50aXRpZXNXaXRoTm9HZW9tLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBzdG9yZS5zdGF0ZS51cGRhdGVNYW55KGVudGl0aWVzV2l0aE5vR2VvbSwgeyBpbk1hcEV4dGVudDogdHJ1ZSB9LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGEgc3RvcmUncyBPTCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5zdG9yZXMkJC5nZXQoc3RvcmUpO1xyXG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVzJCQuZGVsZXRlKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIE9MIHNvdXJjZSBjaGFuZ2VzIGluIGFsbCBzdG9yZXMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoQWxsKCkge1xyXG4gICAgdGhpcy5zdG9yZXMkJC5jbGVhcigpO1xyXG4gICAgdGhpcy5zdGF0ZXMkJC5tYXAoc3RhdGUgPT4gc3RhdGUudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5lbXB0eSQkKSB7IHRoaXMuZW1wdHkkJC51bnN1YnNjcmliZSgpOyB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWFwLWV4dGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvaW4tbWFwLWV4dGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDOzs7R0FHRztBQUNILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQkFBbUI7SUFTdEUsWUFBc0IsT0FBK0M7UUFDbkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREssWUFBTyxHQUFQLE9BQU8sQ0FBd0M7UUFQckU7O1dBRUc7UUFDSyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFDM0MsYUFBUSxHQUFtQixFQUFFLENBQUM7SUFLdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU07YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFtQjtRQUM3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SyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQUU7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb2xleHRlbnQgZnJvbSAnb2wvZXh0ZW50JztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi4vZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFRoaXMgc3RyYXRlZ3kgbWFpbnRhaW4gdGhlIHN0b3JlIGZlYXR1cmVzIHVwZGF0ZWQgd2hpbGUgdGhlIG1hcCBpcyBtb3ZlZC5cbiAqIFRoZSBmZWF0dXJlcydzIHN0YXRlIGluc2lkZSB0aGUgbWFwIGFyZSB0YWdnZWQgaW5NYXBFeHRlbnQgPSB0cnVlO1xuICovXG5leHBvcnQgY2xhc3MgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcbiAgICovXG4gIHByaXZhdGUgc3RvcmVzJCQgPSBuZXcgTWFwPEZlYXR1cmVTdG9yZSwgc3RyaW5nPigpO1xuICBwcml2YXRlIHN0YXRlcyQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIGVtcHR5JCQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3B0aW9uczogRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneU9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgICB0aGlzLmVtcHR5JCQgPSBzdG9yZS5lbXB0eSRcbiAgICAgIC5waXBlKHNraXBXaGlsZSgoZW1wdHkpID0+ICFlbXB0eSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlRW50aXRpZXNJbkV4dGVudChzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gYSBzdG9yZSBhbmQgc3RvcCB3YXRjaGluZyBmb3IgT2wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBzdXBlci51bmJpbmRTdG9yZShzdG9yZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnVud2F0Y2hTdG9yZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHdhdGNoaW5nIGFsbCBzdG9yZXMgYWxyZWFkeSBib3VuZCB0byB0aGF0IHN0cmF0ZWd5IGF0IG9uY2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEZlYXR1cmVTdG9yZSkgPT4gdGhpcy53YXRjaFN0b3JlKHN0b3JlKSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyBhbGwgc3RvcmVzIGJvdW5kIHRvIHRoYXQgc3RyYXRlZ3lcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xuICAgIHRoaXMudW53YXRjaEFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdhdGNoIGZvciBhIHN0b3JlJ3MgIE9MIHNvdXJjZSBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBwcml2YXRlIHdhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIGlmICh0aGlzLnN0b3JlcyQkLmhhcyhzdG9yZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUVudGl0aWVzSW5FeHRlbnQoc3RvcmUpO1xuICAgIHRoaXMuc3RhdGVzJCQucHVzaChzdG9yZS5sYXllci5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzSW5FeHRlbnQoc3RvcmUpO1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW50aXRpZXNJbkV4dGVudChzdG9yZSkge1xuICAgIGlmIChzdG9yZT8ubGF5ZXI/Lm1hcD8udmlld0NvbnRyb2xsZXIpIHtcbiAgICAgIHN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IGluTWFwRXh0ZW50OiBmYWxzZSB9KTtcbiAgICAgIGNvbnN0IG1hcEV4dGVudCA9IHN0b3JlLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKTtcbiAgICAgIGxldCBlbnRpdGllc0luTWFwRXh0ZW50ID0gW107XG4gICAgICBsZXQgZW50aXRpZXNXaXRoTm9HZW9tID0gW107XG4gICAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBzdG9yZS5lbnRpdGllcyQudmFsdWUpIHtcbiAgICAgICAgaWYgKGVudGl0eS5vbCkge1xuICAgICAgICAgIGlmIChvbGV4dGVudC5pbnRlcnNlY3RzKGVudGl0eS5vbC5nZXRHZW9tZXRyeSgpLmdldEV4dGVudCgpLCBtYXBFeHRlbnQpKSB7XG4gICAgICAgICAgICBlbnRpdGllc0luTWFwRXh0ZW50LnB1c2goZW50aXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZW50aXRpZXNXaXRoTm9HZW9tLnB1c2goZW50aXR5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGVudGl0aWVzSW5NYXBFeHRlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICBzdG9yZS5zdGF0ZS51cGRhdGVNYW55KGVudGl0aWVzSW5NYXBFeHRlbnQsIHsgaW5NYXBFeHRlbnQ6IHRydWUgfSwgZmFsc2UpO1xuICAgICAgfVxuICAgICAgaWYgKGVudGl0aWVzV2l0aE5vR2VvbS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoZW50aXRpZXNXaXRoTm9HZW9tLCB7IGluTWFwRXh0ZW50OiB0cnVlIH0sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyBmb3IgYSBzdG9yZSdzIE9MIHNvdXJjZSBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBwcml2YXRlIHVud2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5zdG9yZXMkJC5nZXQoc3RvcmUpO1xuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zdG9yZXMkJC5kZWxldGUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBPTCBzb3VyY2UgY2hhbmdlcyBpbiBhbGwgc3RvcmVzLlxuICAgKi9cbiAgcHJpdmF0ZSB1bndhdGNoQWxsKCkge1xuICAgIHRoaXMuc3RvcmVzJCQuY2xlYXIoKTtcbiAgICB0aGlzLnN0YXRlcyQkLm1hcChzdGF0ZSA9PiBzdGF0ZS51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5lbXB0eSQkKSB7IHRoaXMuZW1wdHkkJC51bnN1YnNjcmliZSgpOyB9XG4gIH1cbn1cbiJdfQ==
@@ -91,4 +91,4 @@ export class FeatureStoreInMapResolutionStrategy extends EntityStoreStrategy {
91
91
  }
92
92
  }
93
93
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWFwLXJlc29sdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luLW1hcC1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU9uRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBUzFFLFlBQXNCLE9BQW1EO1FBQ3ZFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQTRDO1FBUHpFOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBQzNDLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztJQUsxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQW1CO1FBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTTthQUN4QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBbUI7UUFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsRixJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sMEJBQTBCLENBQUMsS0FBSyxFQUFFLGFBQXFCO1FBQzdELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUMxRixLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDTCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQUU7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGlzIHN0cmF0ZWd5IG1haW50YWluIHRoZSBzdG9yZSBmZWF0dXJlcyB1cGRhdGVkIHdoaWxlIHRoZSBtYXAgaXMgc2Nyb2xsZWQuXHJcbiAqIFRoZSBmZWF0dXJlcydzIHN0YXRlIGluc2lkZSB0aGUgbWFwJ3MgcmVzb2x1dGlvbiBhcmUgdGFnZ2VkIGluTWFwUmVzb2x1dGlvbiA9IHRydWU7XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIE9MIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdG9yZXMkJCA9IG5ldyBNYXA8RmVhdHVyZVN0b3JlLCBzdHJpbmc+KCk7XHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBlbXB0eSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneU9wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgYmluZFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy53YXRjaFN0b3JlKHN0b3JlKTtcclxuICAgIH1cclxuICAgIHRoaXMuZW1wdHkkJCA9IHN0b3JlLmVtcHR5JFxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlRW50aXRpZXNJblJlc29sdXRpb24oc3RvcmUsIHN0b3JlLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRSZXNvbHV0aW9uKCkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gYSBzdG9yZSBhbmQgc3RvcCB3YXRjaGluZyBmb3IgT2wgc291cmNlIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnVud2F0Y2hTdG9yZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydCB3YXRjaGluZyBhbGwgc3RvcmVzIGFscmVhZHkgYm91bmQgdG8gdGhhdCBzdHJhdGVneSBhdCBvbmNlLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEZlYXR1cmVTdG9yZSkgPT4gdGhpcy53YXRjaFN0b3JlKHN0b3JlKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIHdhdGNoaW5nIGFsbCBzdG9yZXMgYm91bmQgdG8gdGhhdCBzdHJhdGVneVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0RlYWN0aXZhdGUoKSB7XHJcbiAgICB0aGlzLnVud2F0Y2hBbGwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdhdGNoIGZvciBhIHN0b3JlJ3MgIE9MIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgaWYgKHRoaXMuc3RvcmVzJCQuaGFzKHN0b3JlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVFbnRpdGllc0luUmVzb2x1dGlvbihzdG9yZSwgc3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLmdldFJlc29sdXRpb24oKSk7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJC5wdXNoKHN0b3JlLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzSW5SZXNvbHV0aW9uKHN0b3JlLCByZXMpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVFbnRpdGllc0luUmVzb2x1dGlvbihzdG9yZSwgbWFwUmVzb2x1dGlvbjogbnVtYmVyKSB7XHJcbiAgICBpZiAobWFwUmVzb2x1dGlvbiA+IHN0b3JlLmxheWVyLm1pblJlc29sdXRpb24gJiYgbWFwUmVzb2x1dGlvbiA8IHN0b3JlLmxheWVyLm1heFJlc29sdXRpb24pIHtcclxuICAgICAgc3RvcmUuc3RhdGUudXBkYXRlQWxsKHsgaW5NYXBSZXNvbHV0aW9uOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RvcmUuc3RhdGUudXBkYXRlQWxsKHsgaW5NYXBSZXNvbHV0aW9uOiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGEgc3RvcmUncyBPTCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5zdG9yZXMkJC5nZXQoc3RvcmUpO1xyXG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVzJCQuZGVsZXRlKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIE9MIHNvdXJjZSBjaGFuZ2VzIGluIGFsbCBzdG9yZXMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoQWxsKCkge1xyXG4gICAgdGhpcy5zdG9yZXMkJC5jbGVhcigpO1xyXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQubWFwKHN0YXRlID0+IHN0YXRlLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgaWYgKHRoaXMuZW1wdHkkJCkgeyB0aGlzLmVtcHR5JCQudW5zdWJzY3JpYmUoKTsgfVxyXG4gIH1cclxufVxyXG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWFwLXJlc29sdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luLW1hcC1yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU9uRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBUzFFLFlBQXNCLE9BQW1EO1FBQ3ZFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQTRDO1FBUHpFOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBQzNDLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztJQUsxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQW1CO1FBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTTthQUN4QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBbUI7UUFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsRixJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sMEJBQTBCLENBQUMsS0FBSyxFQUFFLGFBQXFCO1FBQzdELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUMxRixLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDTCxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQUU7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuXG4vKipcbiAqIFRoaXMgc3RyYXRlZ3kgbWFpbnRhaW4gdGhlIHN0b3JlIGZlYXR1cmVzIHVwZGF0ZWQgd2hpbGUgdGhlIG1hcCBpcyBzY3JvbGxlZC5cbiAqIFRoZSBmZWF0dXJlcydzIHN0YXRlIGluc2lkZSB0aGUgbWFwJ3MgcmVzb2x1dGlvbiBhcmUgdGFnZ2VkIGluTWFwUmVzb2x1dGlvbiA9IHRydWU7XG4gKi9cbmV4cG9ydCBjbGFzcyBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcbiAgICovXG4gIHByaXZhdGUgc3RvcmVzJCQgPSBuZXcgTWFwPEZlYXR1cmVTdG9yZSwgc3RyaW5nPigpO1xuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBlbXB0eSQkOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyBzdHJhdGVneSB0byBhIHN0b3JlIGFuZCBzdGFydCB3YXRjaGluZyBmb3IgT2wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIGJpbmRTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMud2F0Y2hTdG9yZShzdG9yZSk7XG4gICAgfVxuICAgIHRoaXMuZW1wdHkkJCA9IHN0b3JlLmVtcHR5JFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUVudGl0aWVzSW5SZXNvbHV0aW9uKHN0b3JlLCBzdG9yZS5sYXllci5tYXAudmlld0NvbnRyb2xsZXIuZ2V0UmVzb2x1dGlvbigpKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMudW53YXRjaFN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgd2F0Y2hpbmcgYWxsIHN0b3JlcyBhbHJlYWR5IGJvdW5kIHRvIHRoYXQgc3RyYXRlZ3kgYXQgb25jZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRmVhdHVyZVN0b3JlKSA9PiB0aGlzLndhdGNoU3RvcmUoc3RvcmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGFsbCBzdG9yZXMgYm91bmQgdG8gdGhhdCBzdHJhdGVneVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0RlYWN0aXZhdGUoKSB7XG4gICAgdGhpcy51bndhdGNoQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogV2F0Y2ggZm9yIGEgc3RvcmUncyAgT0wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHByaXZhdGUgd2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgaWYgKHRoaXMuc3RvcmVzJCQuaGFzKHN0b3JlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRW50aXRpZXNJblJlc29sdXRpb24oc3RvcmUsIHN0b3JlLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRSZXNvbHV0aW9uKCkpO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkLnB1c2goc3RvcmUubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzSW5SZXNvbHV0aW9uKHN0b3JlLCByZXMpO1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW50aXRpZXNJblJlc29sdXRpb24oc3RvcmUsIG1hcFJlc29sdXRpb246IG51bWJlcikge1xuICAgIGlmIChtYXBSZXNvbHV0aW9uID4gc3RvcmUubGF5ZXIubWluUmVzb2x1dGlvbiAmJiBtYXBSZXNvbHV0aW9uIDwgc3RvcmUubGF5ZXIubWF4UmVzb2x1dGlvbikge1xuICAgICAgc3RvcmUuc3RhdGUudXBkYXRlQWxsKHsgaW5NYXBSZXNvbHV0aW9uOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBpbk1hcFJlc29sdXRpb246IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBhIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHByaXZhdGUgdW53YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JlcyQkLmdldChzdG9yZSk7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JlcyQkLmRlbGV0ZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIE9MIHNvdXJjZSBjaGFuZ2VzIGluIGFsbCBzdG9yZXMuXG4gICAqL1xuICBwcml2YXRlIHVud2F0Y2hBbGwoKSB7XG4gICAgdGhpcy5zdG9yZXMkJC5jbGVhcigpO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkLm1hcChzdGF0ZSA9PiBzdGF0ZS51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5lbXB0eSQkKSB7IHRoaXMuZW1wdHkkJC51bnN1YnNjcmliZSgpOyB9XG4gIH1cbn1cbiJdfQ==
@@ -3,4 +3,4 @@ export * from './in-map-resolution';
3
3
  export * from './loading';
4
4
  export * from './loading-layer';
5
5
  export * from './selection';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbi1tYXAtZXh0ZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pbi1tYXAtcmVzb2x1dGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1sYXllcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uJztcclxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbi1tYXAtZXh0ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW4tbWFwLXJlc29sdXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1sYXllcic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbic7XG4iXX0=
@@ -101,4 +101,4 @@ export class FeatureStoreLoadingLayerStrategy extends EntityStoreStrategy {
101
101
  }
102
102
  }
103
103
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZy1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFOUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxtQkFBbUI7SUFPdkUsWUFBc0IsT0FBZ0Q7UUFDcEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREssWUFBTyxHQUFQLE9BQU8sQ0FBeUM7UUFMdEU7O1dBRUc7UUFDSyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7SUFJbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBbUI7UUFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQStCLEVBQUUsRUFBRTtRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsS0FBbUI7UUFDekMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFMUQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsWUFBWSxpQkFBaUIsRUFBRTtZQUN2RCxVQUFVLEdBQUksVUFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUN4QixDQUFDO1NBQ0g7UUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNmO2FBQU07WUFDTCxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xFdmVudCBmcm9tICdvbC9ldmVudHMvRXZlbnQnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHN0cmF0ZWd5IGxvYWRzIGEgbGF5ZXIncyBmZWF0dXJlcyBpbnRvIGl0J3Mgc3RvcmUgY291bnRlcnBhcnQuXHJcbiAqIFRoZSBsYXllciAtPiBzdG9yZSBiaW5kaW5nIGlzIGEgb25lLXdheSBiaW5kaW5nLiBUaGF0IG1lYW5zIGFueSBPTCBmZWF0dXJlXHJcbiAqIGFkZGVkIHRvIHRoZSBsYXllciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdG9yZSBidXQgdGhlIG9wcG9zaXRlIGlzIGZhbHNlLlxyXG4gKlxyXG4gKiBJbXBvcnRhbnQ6IEluIGl0J3MgY3VycmVudCBzdGF0ZSwgdGhpcyBzdHJhdGVneSBpcyB0byBtZWFudCB0byBiZSBjb21iaW5lZFxyXG4gKiB3aXRoIGEgc3RhbmRhcmQgTG9hZGluZyBzdHJhdGVneSBhbmQgaXQgd291bGQgcHJvYmFibHkgY2F1c2UgcmVjdXJzaW9uIGlzc3Vlcy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIHN0b3JlcyQkID0gbmV3IE1hcDxGZWF0dXJlU3RvcmUsIHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5T3B0aW9ucykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMudW53YXRjaFN0b3JlKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IHdhdGNoaW5nIGFsbCBzdG9yZXMgYWxyZWFkeSBib3VuZCB0byB0aGF0IHN0cmF0ZWd5IGF0IG9uY2UuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRmVhdHVyZVN0b3JlKSA9PiB0aGlzLndhdGNoU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgYWxsIHN0b3JlcyBib3VuZCB0byB0aGF0IHN0cmF0ZWd5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMudW53YXRjaEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2F0Y2ggZm9yIGEgc3RvcmUncyAgT0wgc291cmNlIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZXMkJC5oYXMoc3RvcmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uU291cmNlQ2hhbmdlcyhzdG9yZSk7XHJcbiAgICBjb25zdCBvbFNvdXJjZSA9IHN0b3JlLmxheWVyLm9sLmdldFNvdXJjZSgpO1xyXG4gICAgb2xTb3VyY2Uub24oJ2NoYW5nZScsIChldmVudDogT2xFdmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm9uU291cmNlQ2hhbmdlcyhzdG9yZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGEgc3RvcmUncyBPTCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5zdG9yZXMkJC5nZXQoc3RvcmUpO1xyXG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVzJCQuZGVsZXRlKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIE9MIHNvdXJjZSBjaGFuZ2VzIGluIGFsbCBzdG9yZXMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bndhdGNoQWxsKCkge1xyXG4gICAgQXJyYXkuZnJvbSh0aGlzLnN0b3JlcyQkLmVudHJpZXMoKSkuZm9yRWFjaCgoZW50cmllczogW0ZlYXR1cmVTdG9yZSwgc3RyaW5nXSkgPT4ge1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN0b3JlcyQkLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkIGZlYXR1cmVzIGZyb20gYW4gT0wgc291cmNlIGludG8gYSAgc3RvcmUgb3IgY2xlYXIgdGhlIHN0b3JlIGlmIHRoZSBzb3VyY2UgaXMgZW1wdHlcclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgU3RvcmUgZmlsdGVyZWQgZmVhdHVyZXNcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25Tb3VyY2VDaGFuZ2VzKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIGxldCBvbEZlYXR1cmVzID0gc3RvcmUubGF5ZXIub2wuZ2V0U291cmNlKCkuZ2V0RmVhdHVyZXMoKTtcclxuXHJcbiAgICBpZiAoc3RvcmUubGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XHJcbiAgICAgIG9sRmVhdHVyZXMgPSAob2xGZWF0dXJlcyBhcyBhbnkpLmZsYXRNYXAoKGNsdXN0ZXI6IGFueSkgPT5cclxuICAgICAgICBjbHVzdGVyLmdldCgnZmVhdHVyZXMnKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKG9sRmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN0b3JlLmNsZWFyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdG9yZS5zZXRTdG9yZU9sRmVhdHVyZXMob2xGZWF0dXJlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZy1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFOUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxtQkFBbUI7SUFPdkUsWUFBc0IsT0FBZ0Q7UUFDcEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREssWUFBTyxHQUFQLE9BQU8sQ0FBeUM7UUFMdEU7O1dBRUc7UUFDSyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7SUFJbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBbUI7UUFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQStCLEVBQUUsRUFBRTtRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsS0FBbUI7UUFDekMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFMUQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsWUFBWSxpQkFBaUIsRUFBRTtZQUN2RCxVQUFVLEdBQUksVUFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUN4QixDQUFDO1NBQ0g7UUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNmO2FBQU07WUFDTCxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xFdmVudCBmcm9tICdvbC9ldmVudHMvRXZlbnQnO1xuXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi4vZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlJztcblxuLyoqXG4gKiBUaGlzIHN0cmF0ZWd5IGxvYWRzIGEgbGF5ZXIncyBmZWF0dXJlcyBpbnRvIGl0J3Mgc3RvcmUgY291bnRlcnBhcnQuXG4gKiBUaGUgbGF5ZXIgLT4gc3RvcmUgYmluZGluZyBpcyBhIG9uZS13YXkgYmluZGluZy4gVGhhdCBtZWFucyBhbnkgT0wgZmVhdHVyZVxuICogYWRkZWQgdG8gdGhlIGxheWVyIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHN0b3JlIGJ1dCB0aGUgb3Bwb3NpdGUgaXMgZmFsc2UuXG4gKlxuICogSW1wb3J0YW50OiBJbiBpdCdzIGN1cnJlbnQgc3RhdGUsIHRoaXMgc3RyYXRlZ3kgaXMgdG8gbWVhbnQgdG8gYmUgY29tYmluZWRcbiAqIHdpdGggYSBzdGFuZGFyZCBMb2FkaW5nIHN0cmF0ZWd5IGFuZCBpdCB3b3VsZCBwcm9iYWJseSBjYXVzZSByZWN1cnNpb24gaXNzdWVzLlxuICovXG5leHBvcnQgY2xhc3MgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3kgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIE9MIHNvdXJjZSBjaGFuZ2VzXG4gICAqL1xuICBwcml2YXRlIHN0b3JlcyQkID0gbmV3IE1hcDxGZWF0dXJlU3RvcmUsIHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3B0aW9uczogRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3lPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgYmluZFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy53YXRjaFN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMudW53YXRjaFN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgd2F0Y2hpbmcgYWxsIHN0b3JlcyBhbHJlYWR5IGJvdW5kIHRvIHRoYXQgc3RyYXRlZ3kgYXQgb25jZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRmVhdHVyZVN0b3JlKSA9PiB0aGlzLndhdGNoU3RvcmUoc3RvcmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGFsbCBzdG9yZXMgYm91bmQgdG8gdGhhdCBzdHJhdGVneVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0RlYWN0aXZhdGUoKSB7XG4gICAgdGhpcy51bndhdGNoQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogV2F0Y2ggZm9yIGEgc3RvcmUncyAgT0wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHByaXZhdGUgd2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgaWYgKHRoaXMuc3RvcmVzJCQuaGFzKHN0b3JlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub25Tb3VyY2VDaGFuZ2VzKHN0b3JlKTtcbiAgICBjb25zdCBvbFNvdXJjZSA9IHN0b3JlLmxheWVyLm9sLmdldFNvdXJjZSgpO1xuICAgIG9sU291cmNlLm9uKCdjaGFuZ2UnLCAoZXZlbnQ6IE9sRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub25Tb3VyY2VDaGFuZ2VzKHN0b3JlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBhIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHByaXZhdGUgdW53YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JlcyQkLmdldChzdG9yZSk7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JlcyQkLmRlbGV0ZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIE9MIHNvdXJjZSBjaGFuZ2VzIGluIGFsbCBzdG9yZXMuXG4gICAqL1xuICBwcml2YXRlIHVud2F0Y2hBbGwoKSB7XG4gICAgQXJyYXkuZnJvbSh0aGlzLnN0b3JlcyQkLmVudHJpZXMoKSkuZm9yRWFjaCgoZW50cmllczogW0ZlYXR1cmVTdG9yZSwgc3RyaW5nXSkgPT4ge1xuICAgIH0pO1xuICAgIHRoaXMuc3RvcmVzJCQuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGZlYXR1cmVzIGZyb20gYW4gT0wgc291cmNlIGludG8gYSAgc3RvcmUgb3IgY2xlYXIgdGhlIHN0b3JlIGlmIHRoZSBzb3VyY2UgaXMgZW1wdHlcbiAgICogQHBhcmFtIGZlYXR1cmVzIFN0b3JlIGZpbHRlcmVkIGZlYXR1cmVzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBwcml2YXRlIG9uU291cmNlQ2hhbmdlcyhzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgbGV0IG9sRmVhdHVyZXMgPSBzdG9yZS5sYXllci5vbC5nZXRTb3VyY2UoKS5nZXRGZWF0dXJlcygpO1xuXG4gICAgaWYgKHN0b3JlLmxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBDbHVzdGVyRGF0YVNvdXJjZSkge1xuICAgICAgb2xGZWF0dXJlcyA9IChvbEZlYXR1cmVzIGFzIGFueSkuZmxhdE1hcCgoY2x1c3RlcjogYW55KSA9PlxuICAgICAgICBjbHVzdGVyLmdldCgnZmVhdHVyZXMnKVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKG9sRmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzdG9yZS5jbGVhcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdG9yZS5zZXRTdG9yZU9sRmVhdHVyZXMob2xGZWF0dXJlcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -130,4 +130,4 @@ export class FeatureStoreLoadingStrategy extends EntityStoreStrategy {
130
130
  }
131
131
  }
132
132
  }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWpEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBU2xFLFlBQXNCLE9BQTJDO1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQW9DO1FBUGpFOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBTXZELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBbUI7UUFDM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQW1CO1FBQzdCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxNQUFxQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDOUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVTtRQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFxQyxFQUFFLEVBQUU7WUFDcEYsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLFFBQW1CLEVBQUUsS0FBbUI7UUFDL0QsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDcEI7YUFBTTtZQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsUUFBUSxFQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzFCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLEtBQW1CO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUV0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQzNCLHNFQUFzRTtZQUN0RSxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7U0FDOUI7YUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekMsa0VBQWtFO1lBQ2xFLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUM5QjthQUFNO1lBQ0wsMENBQTBDO1lBQzFDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztTQUMzQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi4vZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneU9wdGlvbnMgfSBmcm9tICcuLi9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBzdHJhdGVneSBsb2FkcyBhIHN0b3JlJ3MgZmVhdHVyZXMgaW50byBpdCdzIGxheWVyIGNvdW50ZXJwYXJ0LlxyXG4gKiBUaGUgc3RvcmUgLT4gbGF5ZXIgYmluZGluZyBpcyBhIG9uZS13YXkgYmluZGluZy4gVGhhdCBtZWFucyBhbnkgZW50aXR5XHJcbiAqIGFkZGVkIHRvIHRoZSBzdG9yZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsYXllciBidXQgdGhlIG9wcG9zaXRlIGlzIGZhbHNlLlxyXG4gKlxyXG4gKiBJbXBvcnRhbnQ6IFRoaXMgc3RyYXRlZ3kgb2JzZXJ2ZXMgZmlsdGVyZWQgZW50aXRpZXMsIG5vdCByYXcgZW50aXRpZXMuIFRoaXNcclxuICogaXMgbm90IGNvbmZpZ3VyYWJsZSB5ZXQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc3RvcmUncyBmZWF0dXJlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RvcmVzJCQgPSBuZXcgTWFwPEZlYXR1cmVTdG9yZSwgU3Vic2NyaXB0aW9uPigpO1xyXG5cclxuICBwcml2YXRlIG1vdGlvbjogRmVhdHVyZU1vdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneU9wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgdGhpcy5zZXRNb3Rpb24ob3B0aW9ucy5tb3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBlbnRpdGllcyBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBlbnRpdGllcyBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICB1bmJpbmRTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XHJcbiAgICBzdXBlci51bmJpbmRTdG9yZShzdG9yZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy51bndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRoZSBtb3Rpb24gdG8gYXBwbHkgb24gbG9hZFxyXG4gICAqIEBwYXJhbSBtb3Rpb24gRmVhdHVyZSBtb3Rpb25cclxuICAgKi9cclxuICBzZXRNb3Rpb24obW90aW9uOiBGZWF0dXJlTW90aW9uKSB7XHJcbiAgICB0aGlzLm1vdGlvbiA9IG1vdGlvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IHdhdGNoaW5nIGFsbCBzdG9yZXMgYWxyZWFkeSBib3VuZCB0byB0aGF0IHN0cmF0ZWd5IGF0IG9uY2UuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRmVhdHVyZVN0b3JlKSA9PiB0aGlzLndhdGNoU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgYWxsIHN0b3JlcyBib3VuZCB0byB0aGF0IHN0cmF0ZWd5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMudW53YXRjaEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2F0Y2ggZm9yIGVudGl0aWVzIGNoYW5nZXMgaW4gYSBzdG9yZS5cclxuICAgKiBJbXBvcnRhbnQ6IE5ldmVyIG9ic2VydmUgYSBzdG9yZSdzIHNvcnRlZCBlbnRpdGllcy4gSXQgbWFrZXMgbm8gc2Vuc2VcclxuICAgKiB0byBkaXNwbGF5IHNvcnRlZCBlbnRpdGllcyAoaW5zdGVhZCBvZiB1bnNvcnRlZCkgb24gYSBsYXllciBhbmQgaXRcclxuICAgKiB3b3VsZCBwb3RlbnRpYWxseSByZXN1bHQgaW4gYSBsb3Qgb2YgdXNlbGVzcyBjb21wdXRhdGlvbi5cclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZXMkJC5oYXMoc3RvcmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzdG9yZS52aWV3LmFsbCQoKVxyXG4gICAgICAuc3Vic2NyaWJlKChmZWF0dXJlczogRmVhdHVyZVtdKSA9PiB0aGlzLm9uRmVhdHVyZXNDaGFuZ2UoZmVhdHVyZXMsIHN0b3JlKSk7XHJcbiAgICB0aGlzLnN0b3JlcyQkLnNldChzdG9yZSwgc3Vic2NyaXB0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGVudGl0aWVzIGNoYW5nZXMgaW4gYSBzdG9yZS5cclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW53YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuc3RvcmVzJCQuZ2V0KHN0b3JlKTtcclxuICAgIGlmIChzdWJzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdG9yZXMkJC5kZWxldGUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCB3YXRjaGluZyBmb3IgZW50aXRpZXMgY2hhbmdlcyBpbiBhbGwgc3RvcmVzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW53YXRjaEFsbCgpIHtcclxuICAgIEFycmF5LmZyb20odGhpcy5zdG9yZXMkJC5lbnRyaWVzKCkpLmZvckVhY2goKGVudHJpZXM6IFtGZWF0dXJlU3RvcmUsIFN1YnNjcmlwdGlvbl0pID0+IHtcclxuICAgICAgZW50cmllc1sxXS51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN0b3JlcyQkLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkIGZlYXR1cmVzIGludG8gYSBsYXllciBvciBjbGVhciB0aGUgbGF5ZXIgaWYgdGhlIGFycmF5IG9mIGZlYXR1cmVzIGlzIGVtcHR5LlxyXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBTdG9yZSBmaWx0ZXJlZCBmZWF0dXJlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbkZlYXR1cmVzQ2hhbmdlKGZlYXR1cmVzOiBGZWF0dXJlW10sIHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIGlmIChmZWF0dXJlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgc3RvcmUuY2xlYXJMYXllcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RvcmUuc2V0TGF5ZXJGZWF0dXJlcyhcclxuICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICB0aGlzLnNlbGVjdE1vdGlvbihzdG9yZSksXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnZpZXdTY2FsZSxcclxuICAgICAgICB0aGlzLm9wdGlvbnMuYXJlYVJhdGlvLFxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5nZXRGZWF0dXJlSWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdHMgdGhlIGJlc3QgbW90aW9uXHJcbiAgICogQHBhcmFtIHN0b3JlIEEgRmVhdHVyZVN0b3JlIHRvIGFwcGx5IHRoZSBtb3Rpb25cclxuICAgKiBAcmV0dXJucyBUaGUgbW90aW9uIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWxlY3RNb3Rpb24oc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgaWYgKHRoaXMubW90aW9uICE9PSB1bmRlZmluZWQpIHsgcmV0dXJuIHRoaXMubW90aW9uOyB9XHJcblxyXG4gICAgaWYgKHN0b3JlLnByaXN0aW5lID09PSB0cnVlKSB7XHJcbiAgICAgIC8vIElmIGZlYXR1cmVzIGhhdmUganVzdCBiZWVuIGxvYWRlZCBpbnRvIHRoZSBzdG9yZSwgbW92ZS96b29tIG9uIHRoZW1cclxuICAgICAgcmV0dXJuIEZlYXR1cmVNb3Rpb24uRGVmYXVsdDtcclxuICAgIH0gZWxzZSBpZiAoc3RvcmUuY291bnQgPiBzdG9yZS52aWV3LmNvdW50KSB7XHJcbiAgICAgIC8vIElmIGZlYXR1cmVzIGhhdmUgYmVlbiBmaWx0ZXJlZCwgbW92ZS96b29tIG9uIHRoZSByZW1haW5pbmcgb25lc1xyXG4gICAgICByZXR1cm4gRmVhdHVyZU1vdGlvbi5EZWZhdWx0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gT24gaW5zZXJ0LCB1cGRhdGUgb3IgZGVsZXRlLCBkbyBub3RoaW5nXHJcbiAgICAgIHJldHVybiBGZWF0dXJlTW90aW9uLk5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSWpEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBU2xFLFlBQXNCLE9BQTJDO1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQW9DO1FBUGpFOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBTXZELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBbUI7UUFDM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQW1CO1FBQzdCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxNQUFxQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxLQUFtQjtRQUN0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDOUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVTtRQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFxQyxFQUFFLEVBQUU7WUFDcEYsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLFFBQW1CLEVBQUUsS0FBbUI7UUFDL0QsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDcEI7YUFBTTtZQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsUUFBUSxFQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzFCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLEtBQW1CO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUV0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQzNCLHNFQUFzRTtZQUN0RSxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7U0FDOUI7YUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekMsa0VBQWtFO1lBQ2xFLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUM5QjthQUFNO1lBQ0wsMENBQTBDO1lBQzFDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztTQUMzQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5cbi8qKlxuICogVGhpcyBzdHJhdGVneSBsb2FkcyBhIHN0b3JlJ3MgZmVhdHVyZXMgaW50byBpdCdzIGxheWVyIGNvdW50ZXJwYXJ0LlxuICogVGhlIHN0b3JlIC0+IGxheWVyIGJpbmRpbmcgaXMgYSBvbmUtd2F5IGJpbmRpbmcuIFRoYXQgbWVhbnMgYW55IGVudGl0eVxuICogYWRkZWQgdG8gdGhlIHN0b3JlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGxheWVyIGJ1dCB0aGUgb3Bwb3NpdGUgaXMgZmFsc2UuXG4gKlxuICogSW1wb3J0YW50OiBUaGlzIHN0cmF0ZWd5IG9ic2VydmVzIGZpbHRlcmVkIGVudGl0aWVzLCBub3QgcmF3IGVudGl0aWVzLiBUaGlzXG4gKiBpcyBub3QgY29uZmlndXJhYmxlIHlldC5cbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgZmVhdHVyZXNcbiAgICovXG4gIHByaXZhdGUgc3RvcmVzJCQgPSBuZXcgTWFwPEZlYXR1cmVTdG9yZSwgU3Vic2NyaXB0aW9uPigpO1xuXG4gIHByaXZhdGUgbW90aW9uOiBGZWF0dXJlTW90aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3lPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5zZXRNb3Rpb24ob3B0aW9ucy5tb3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyBzdHJhdGVneSB0byBhIHN0b3JlIGFuZCBzdGFydCB3YXRjaGluZyBmb3IgZW50aXRpZXMgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgYmluZFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy53YXRjaFN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBlbnRpdGllcyBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICB1bmJpbmRTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy51bndhdGNoU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG1vdGlvbiB0byBhcHBseSBvbiBsb2FkXG4gICAqIEBwYXJhbSBtb3Rpb24gRmVhdHVyZSBtb3Rpb25cbiAgICovXG4gIHNldE1vdGlvbihtb3Rpb246IEZlYXR1cmVNb3Rpb24pIHtcbiAgICB0aGlzLm1vdGlvbiA9IG1vdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB3YXRjaGluZyBhbGwgc3RvcmVzIGFscmVhZHkgYm91bmQgdG8gdGhhdCBzdHJhdGVneSBhdCBvbmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBGZWF0dXJlU3RvcmUpID0+IHRoaXMud2F0Y2hTdG9yZShzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgYWxsIHN0b3JlcyBib3VuZCB0byB0aGF0IHN0cmF0ZWd5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnVud2F0Y2hBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYXRjaCBmb3IgZW50aXRpZXMgY2hhbmdlcyBpbiBhIHN0b3JlLlxuICAgKiBJbXBvcnRhbnQ6IE5ldmVyIG9ic2VydmUgYSBzdG9yZSdzIHNvcnRlZCBlbnRpdGllcy4gSXQgbWFrZXMgbm8gc2Vuc2VcbiAgICogdG8gZGlzcGxheSBzb3J0ZWQgZW50aXRpZXMgKGluc3RlYWQgb2YgdW5zb3J0ZWQpIG9uIGEgbGF5ZXIgYW5kIGl0XG4gICAqIHdvdWxkIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBhIGxvdCBvZiB1c2VsZXNzIGNvbXB1dGF0aW9uLlxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBpZiAodGhpcy5zdG9yZXMkJC5oYXMoc3RvcmUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gc3RvcmUudmlldy5hbGwkKClcbiAgICAgIC5zdWJzY3JpYmUoKGZlYXR1cmVzOiBGZWF0dXJlW10pID0+IHRoaXMub25GZWF0dXJlc0NoYW5nZShmZWF0dXJlcywgc3RvcmUpKTtcbiAgICB0aGlzLnN0b3JlcyQkLnNldChzdG9yZSwgc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBlbnRpdGllcyBjaGFuZ2VzIGluIGEgc3RvcmUuXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBwcml2YXRlIHVud2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZXMkJC5nZXQoc3RvcmUpO1xuICAgIGlmIChzdWJzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnN0b3JlcyQkLmRlbGV0ZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGVudGl0aWVzIGNoYW5nZXMgaW4gYWxsIHN0b3Jlcy5cbiAgICovXG4gIHByaXZhdGUgdW53YXRjaEFsbCgpIHtcbiAgICBBcnJheS5mcm9tKHRoaXMuc3RvcmVzJCQuZW50cmllcygpKS5mb3JFYWNoKChlbnRyaWVzOiBbRmVhdHVyZVN0b3JlLCBTdWJzY3JpcHRpb25dKSA9PiB7XG4gICAgICBlbnRyaWVzWzFdLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5zdG9yZXMkJC5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgZmVhdHVyZXMgaW50byBhIGxheWVyIG9yIGNsZWFyIHRoZSBsYXllciBpZiB0aGUgYXJyYXkgb2YgZmVhdHVyZXMgaXMgZW1wdHkuXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBTdG9yZSBmaWx0ZXJlZCBmZWF0dXJlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSBvbkZlYXR1cmVzQ2hhbmdlKGZlYXR1cmVzOiBGZWF0dXJlW10sIHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzdG9yZS5jbGVhckxheWVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0b3JlLnNldExheWVyRmVhdHVyZXMoXG4gICAgICAgIGZlYXR1cmVzLFxuICAgICAgICB0aGlzLnNlbGVjdE1vdGlvbihzdG9yZSksXG4gICAgICAgIHRoaXMub3B0aW9ucy52aWV3U2NhbGUsXG4gICAgICAgIHRoaXMub3B0aW9ucy5hcmVhUmF0aW8sXG4gICAgICAgIHRoaXMub3B0aW9ucy5nZXRGZWF0dXJlSWRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGJlc3QgbW90aW9uXG4gICAqIEBwYXJhbSBzdG9yZSBBIEZlYXR1cmVTdG9yZSB0byBhcHBseSB0aGUgbW90aW9uXG4gICAqIEByZXR1cm5zIFRoZSBtb3Rpb24gc2VsZWN0ZWRcbiAgICovXG4gIHByaXZhdGUgc2VsZWN0TW90aW9uKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBpZiAodGhpcy5tb3Rpb24gIT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdGhpcy5tb3Rpb247IH1cblxuICAgIGlmIChzdG9yZS5wcmlzdGluZSA9PT0gdHJ1ZSkge1xuICAgICAgLy8gSWYgZmVhdHVyZXMgaGF2ZSBqdXN0IGJlZW4gbG9hZGVkIGludG8gdGhlIHN0b3JlLCBtb3ZlL3pvb20gb24gdGhlbVxuICAgICAgcmV0dXJuIEZlYXR1cmVNb3Rpb24uRGVmYXVsdDtcbiAgICB9IGVsc2UgaWYgKHN0b3JlLmNvdW50ID4gc3RvcmUudmlldy5jb3VudCkge1xuICAgICAgLy8gSWYgZmVhdHVyZXMgaGF2ZSBiZWVuIGZpbHRlcmVkLCBtb3ZlL3pvb20gb24gdGhlIHJlbWFpbmluZyBvbmVzXG4gICAgICByZXR1cm4gRmVhdHVyZU1vdGlvbi5EZWZhdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPbiBpbnNlcnQsIHVwZGF0ZSBvciBkZWxldGUsIGRvIG5vdGhpbmdcbiAgICAgIHJldHVybiBGZWF0dXJlTW90aW9uLk5vbmU7XG4gICAgfVxuICB9XG59XG4iXX0=