@igo2/geo 1.13.0-alpha.1 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) 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 +4 -4
  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 +2 -4
  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 +3 -3
  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 -2
  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-popup.component.mjs +2 -2
  99. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  100. package/esm2020/lib/draw/draw/draw.component.mjs +4 -4
  101. package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
  102. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  103. package/esm2020/lib/draw/index.mjs +1 -1
  104. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw-style.service.mjs +1 -1
  106. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -1
  107. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  108. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  109. package/esm2020/lib/draw/shared/index.mjs +1 -1
  110. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +5 -4
  111. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  112. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  113. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  114. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  115. package/esm2020/lib/feature/feature.module.mjs +1 -1
  116. package/esm2020/lib/feature/index.mjs +1 -1
  117. package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
  118. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  119. package/esm2020/lib/feature/shared/feature.utils.mjs +1 -1
  120. package/esm2020/lib/feature/shared/index.mjs +1 -1
  121. package/esm2020/lib/feature/shared/store.mjs +1 -1
  122. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  123. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  124. package/esm2020/lib/feature/shared/strategies/index.mjs +1 -1
  125. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  126. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  127. package/esm2020/lib/feature/shared/strategies/selection.mjs +2 -2
  128. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  129. package/esm2020/lib/filter/filter.module.mjs +1 -1
  130. package/esm2020/lib/filter/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  132. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  133. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  134. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  135. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  136. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
  137. package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  139. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +7 -7
  140. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  141. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  143. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  144. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
  145. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  146. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  147. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  148. package/esm2020/lib/filter/shared/index.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  150. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  151. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  152. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  153. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  154. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  155. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  157. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  158. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  159. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +6 -6
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  163. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -5
  164. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  165. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +4 -4
  166. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  167. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  168. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  169. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +4 -4
  170. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  171. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  172. package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
  173. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  174. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  175. package/esm2020/lib/geo.module.mjs +1 -1
  176. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  177. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  178. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  179. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  180. package/esm2020/lib/geometry/index.mjs +1 -1
  181. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  182. package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
  183. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  185. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  186. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  187. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  188. package/esm2020/lib/geometry/shared/index.mjs +1 -1
  189. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  190. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  191. package/esm2020/lib/import-export/import-export/import-export.component.mjs +4 -4
  192. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  193. package/esm2020/lib/import-export/import-export.module.mjs +1 -1
  194. package/esm2020/lib/import-export/index.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +1 -1
  196. package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
  197. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  198. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  199. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/export.utils.mjs +1 -1
  201. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  202. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  203. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  204. package/esm2020/lib/import-export/shared/import.utils.mjs +1 -1
  205. package/esm2020/lib/import-export/shared/index.mjs +1 -1
  206. package/esm2020/lib/import-export/style-list/index.mjs +1 -1
  207. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  208. package/esm2020/lib/import-export/style-list/style-list.module.mjs +1 -1
  209. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +1 -1
  210. package/esm2020/lib/import-export/style-list/style-list.service.mjs +1 -1
  211. package/esm2020/lib/layer/index.mjs +1 -1
  212. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  213. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  214. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  215. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
  216. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  217. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  218. package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
  219. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  220. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  221. package/esm2020/lib/layer/layer-list/index.mjs +1 -1
  222. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  223. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +10 -44
  224. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  225. package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  227. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
  228. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  229. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  230. package/esm2020/lib/layer/layer.module.mjs +1 -1
  231. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  232. package/esm2020/lib/layer/shared/index.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layer.service.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  236. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  237. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  238. package/esm2020/lib/layer/shared/layers/image-layer.mjs +1 -1
  239. package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  241. package/esm2020/lib/layer/shared/layers/layer.mjs +1 -7
  242. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  243. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  245. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +8 -9
  246. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  247. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  248. package/esm2020/lib/layer/shared/style.service.mjs +1 -1
  249. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  250. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  251. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  252. package/esm2020/lib/layer/utils/image-watcher.mjs +1 -1
  253. package/esm2020/lib/layer/utils/index.mjs +1 -2
  254. package/esm2020/lib/layer/utils/layer.utils.mjs +1 -1
  255. package/esm2020/lib/layer/utils/outputLegend.mjs +1 -1
  256. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  257. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  258. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  259. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  260. package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
  261. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  262. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  263. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  264. package/esm2020/lib/map/index.mjs +1 -1
  265. package/esm2020/lib/map/info-section/index.mjs +1 -1
  266. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  267. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  268. package/esm2020/lib/map/map-browser/map-browser.component.mjs +2 -2
  269. package/esm2020/lib/map/map-center/index.mjs +1 -1
  270. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  271. package/esm2020/lib/map/map.module.mjs +1 -1
  272. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  273. package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
  274. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  275. package/esm2020/lib/map/offline-button/offline-button.component.mjs +2 -2
  276. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  277. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  278. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  279. package/esm2020/lib/map/shared/controllers/geolocation.mjs +1 -1
  280. package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
  281. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  282. package/esm2020/lib/map/shared/hover-feature.directive.mjs +1 -1
  283. package/esm2020/lib/map/shared/index.mjs +2 -1
  284. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +240 -0
  285. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  286. package/esm2020/lib/map/shared/map.enums.mjs +1 -1
  287. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  288. package/esm2020/lib/map/shared/map.mjs +26 -37
  289. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  290. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  291. package/esm2020/lib/map/shared/mapOffline.directive.mjs +1 -1
  292. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  293. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  295. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  296. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  297. package/esm2020/lib/map/utils/layer-watcher.mjs +22 -1
  298. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  299. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
  300. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  301. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  302. package/esm2020/lib/measure/index.mjs +1 -1
  303. package/esm2020/lib/measure/measure.module.mjs +1 -1
  304. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  305. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  306. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  307. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  308. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  309. package/esm2020/lib/measure/shared/index.mjs +1 -1
  310. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  311. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  312. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  313. package/esm2020/lib/metadata/index.mjs +1 -1
  314. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  315. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  316. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  317. package/esm2020/lib/metadata/shared/index.mjs +1 -1
  318. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  319. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  320. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  321. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  322. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +1 -1
  323. package/esm2020/lib/offline/geoDB/index.mjs +1 -1
  324. package/esm2020/lib/offline/index.mjs +1 -1
  325. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  326. package/esm2020/lib/offline/shared/index.mjs +1 -1
  327. package/esm2020/lib/overlay/index.mjs +1 -1
  328. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  329. package/esm2020/lib/overlay/shared/index.mjs +1 -1
  330. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +1 -1
  331. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  332. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  333. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  334. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  335. package/esm2020/lib/overlay/shared/overlay.utils.mjs +1 -1
  336. package/esm2020/lib/print/index.mjs +1 -1
  337. package/esm2020/lib/print/print/print.component.mjs +2 -2
  338. package/esm2020/lib/print/print-form/index.mjs +1 -1
  339. package/esm2020/lib/print/print-form/print-form.component.mjs +4 -4
  340. package/esm2020/lib/print/print.module.mjs +1 -1
  341. package/esm2020/lib/print/shared/index.mjs +1 -1
  342. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  343. package/esm2020/lib/print/shared/print.service.mjs +1 -1
  344. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  345. package/esm2020/lib/query/index.mjs +1 -1
  346. package/esm2020/lib/query/query.module.mjs +1 -1
  347. package/esm2020/lib/query/shared/index.mjs +1 -1
  348. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  349. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  350. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  351. package/esm2020/lib/query/shared/query.enums.mjs +1 -1
  352. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  353. package/esm2020/lib/query/shared/query.service.mjs +1 -1
  354. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  355. package/esm2020/lib/search/index.mjs +1 -1
  356. package/esm2020/lib/search/search-bar/search-bar.component.mjs +2 -2
  357. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  358. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  359. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +2 -2
  360. package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
  361. package/esm2020/lib/search/search-results/search-results.component.mjs +2 -2
  362. package/esm2020/lib/search/search-results/search-results.module.mjs +1 -1
  363. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  364. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  365. package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
  366. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  367. package/esm2020/lib/search/search.module.mjs +1 -1
  368. package/esm2020/lib/search/shared/index.mjs +1 -1
  369. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
  370. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  371. package/esm2020/lib/search/shared/search-source.service.mjs +1 -1
  372. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  373. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  374. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  375. package/esm2020/lib/search/shared/search.utils.mjs +1 -1
  376. package/esm2020/lib/search/shared/sources/cadastre.mjs +1 -1
  377. package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +1 -1
  378. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  379. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  380. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  382. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  383. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  385. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  386. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/index.mjs +1 -1
  388. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  389. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  390. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  392. package/esm2020/lib/search/shared/sources/source.mjs +1 -1
  393. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  395. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  396. package/esm2020/lib/toast/index.mjs +1 -1
  397. package/esm2020/lib/toast/toast.component.mjs +2 -2
  398. package/esm2020/lib/toast/toast.module.mjs +1 -1
  399. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  400. package/esm2020/lib/utils/commonVectorStyle.mjs +1 -1
  401. package/esm2020/lib/utils/googleLinks.mjs +1 -1
  402. package/esm2020/lib/utils/id-generator.mjs +1 -1
  403. package/esm2020/lib/utils/index.mjs +1 -1
  404. package/esm2020/lib/utils/osmLinks.mjs +1 -1
  405. package/esm2020/lib/wkt/index.mjs +1 -1
  406. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  407. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  408. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  409. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  410. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  411. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  412. package/esm2020/lib/workspace/index.mjs +1 -1
  413. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  414. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +2 -3
  415. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  416. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +1 -1
  417. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  418. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  419. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
  420. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +2 -3
  421. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  422. package/esm2020/lib/workspace/widgets/index.mjs +1 -1
  423. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  424. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  425. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  426. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  427. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  428. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  429. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  430. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  431. package/esm2020/public_api.mjs +1 -1
  432. package/fesm2015/igo2-geo.mjs +2396 -2439
  433. package/fesm2015/igo2-geo.mjs.map +1 -1
  434. package/fesm2020/igo2-geo.mjs +2395 -2433
  435. package/fesm2020/igo2-geo.mjs.map +1 -1
  436. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +3 -3
  437. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  438. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +0 -2
  439. package/lib/datasource/shared/datasources/wms-datasource.d.ts +0 -1
  440. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -1
  441. package/lib/draw/draw/draw.component.d.ts +5 -5
  442. package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
  443. package/lib/feature/shared/feature.interfaces.d.ts +2 -2
  444. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
  445. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +5 -5
  446. package/lib/filter/shared/ogc-filter.interface.d.ts +0 -2
  447. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +6 -6
  448. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -3
  449. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +2 -2
  450. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +3 -3
  451. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +6 -6
  452. package/lib/geometry/shared/controls/draw.d.ts +3 -3
  453. package/lib/geometry/shared/geometry.interfaces.d.ts +2 -2
  454. package/lib/import-export/import-export/import-export.component.d.ts +4 -4
  455. package/lib/layer/layer-list/layer-list.component.d.ts +0 -1
  456. package/lib/layer/shared/layers/layer.d.ts +0 -1
  457. package/lib/layer/shared/layers/layer.interface.d.ts +0 -1
  458. package/lib/layer/utils/index.d.ts +0 -1
  459. package/lib/map/shared/index.d.ts +1 -0
  460. package/lib/map/shared/linkedLayers.utils.d.ts +17 -0
  461. package/lib/map/shared/map.d.ts +8 -0
  462. package/lib/map/utils/layer-watcher.d.ts +7 -0
  463. package/lib/print/print-form/print-form.component.d.ts +16 -16
  464. package/lib/workspace/shared/edition-workspace.d.ts +2 -2
  465. package/ngcc.config.js +3 -3
  466. package/package.json +17 -17
  467. package/style/geo.theming.scss +12 -12
  468. package/esm2020/lib/layer/utils/layerSync-watcher.mjs +0 -242
  469. package/lib/layer/utils/layerSync-watcher.d.ts +0 -19
@@ -52,10 +52,10 @@ DownloadButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dow
52
52
  } }, dependencies: [i2.NgIf, i3.MatIcon, i4.MatButton, i5.MatTooltip, i6.TranslatePipe], changeDetection: 0 });
53
53
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DownloadButtonComponent, [{
54
54
  type: Component,
55
- args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n *ngIf=\"options && options.download && (options.download['dynamicUrl'] || options.download['url']) \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\">\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n" }]
55
+ args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"options && options.download && (options.download['dynamicUrl'] || options.download['url']) \"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.download.action' | translate\"\n [color]=\"color\"\n (click)=\"openDownload(layer)\">\n <mat-icon svgIcon=\"download\"></mat-icon>\n</button>\n" }]
56
56
  }], function () { return [{ type: i1.DownloadService }]; }, { layer: [{
57
57
  type: Input
58
58
  }], color: [{
59
59
  type: Input
60
60
  }] }); })();
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQtYnV0dG9uL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztJQ0ExRSxpQ0FPZ0M7SUFBOUIsdUtBQVMsZUFBQSxpQ0FBbUIsQ0FBQSxJQUFDOztJQUM3Qiw4QkFBd0M7SUFDMUMsaUJBQVM7OztJQUpQLDRFQUFvRCx1QkFBQTs7QURRdEQsTUFBTSxPQUFPLHVCQUF1QjtJQW1CbEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRjVDLFdBQU0sR0FBRyxTQUFTLENBQUM7SUFFNEIsQ0FBQztJQWxCeEQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7OzhGQTlCVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ2JwQyw4RUFTUzs7UUFSTixpSUFBZ0c7O3VGRFl0Rix1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtrRUFJM0MsS0FBSztrQkFEUixLQUFLO1lBVUYsS0FBSztrQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcblxyXG5pbXBvcnQgeyBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRvd25sb2FkLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSkge31cclxuXHJcbiAgb3BlbkRvd25sb2FkKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5kb3dubG9hZFNlcnZpY2Uub3BlbihsYXllcik7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIHtcclxuICAgIGlmICghdGhpcy5sYXllcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAqbmdJZj1cIm9wdGlvbnMgJiYgb3B0aW9ucy5kb3dubG9hZCAmJiAob3B0aW9ucy5kb3dubG9hZFsnZHluYW1pY1VybCddIHx8IG9wdGlvbnMuZG93bmxvYWRbJ3VybCddKSBcIlxyXG4gIG1hdC1pY29uLWJ1dHRvblxyXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZG93bmxvYWQuYWN0aW9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAoY2xpY2spPVwib3BlbkRvd25sb2FkKGxheWVyKVwiPlxyXG4gIDxtYXQtaWNvbiBzdmdJY29uPVwiZG93bmxvYWRcIj48L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQtYnV0dG9uL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztJQ0ExRSxpQ0FPZ0M7SUFBOUIsdUtBQVMsZUFBQSxpQ0FBbUIsQ0FBQSxJQUFDOztJQUM3Qiw4QkFBd0M7SUFDMUMsaUJBQVM7OztJQUpQLDRFQUFvRCx1QkFBQTs7QURRdEQsTUFBTSxPQUFPLHVCQUF1QjtJQW1CbEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRjVDLFdBQU0sR0FBRyxTQUFTLENBQUM7SUFFNEIsQ0FBQztJQWxCeEQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7OzhGQTlCVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ2JwQyw4RUFTUzs7UUFSTixpSUFBZ0c7O3VGRFl0Rix1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtrRUFJM0MsS0FBSztrQkFEUixLQUFLO1lBVUYsS0FBSztrQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcblxuaW1wb3J0IHsgRG93bmxvYWREYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9kb3dubG9hZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Rvd25sb2FkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZG93bmxvYWQtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEb3dubG9hZEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCBsYXllcigpOiBMYXllciB7XG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xuICB9XG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcbiAgICB0aGlzLl9sYXllciA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcblxuICBASW5wdXQoKVxuICBnZXQgY29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvd25sb2FkU2VydmljZTogRG93bmxvYWRTZXJ2aWNlKSB7fVxuXG4gIG9wZW5Eb3dubG9hZChsYXllcjogTGF5ZXIpIHtcbiAgICB0aGlzLmRvd25sb2FkU2VydmljZS5vcGVuKGxheWVyKTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xuICAgIGlmICghdGhpcy5sYXllcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnM7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJvcHRpb25zICYmIG9wdGlvbnMuZG93bmxvYWQgJiYgKG9wdGlvbnMuZG93bmxvYWRbJ2R5bmFtaWNVcmwnXSB8fCBvcHRpb25zLmRvd25sb2FkWyd1cmwnXSkgXCJcbiAgbWF0LWljb24tYnV0dG9uXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kb3dubG9hZC5hY3Rpb24nIHwgdHJhbnNsYXRlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbiAgKGNsaWNrKT1cIm9wZW5Eb3dubG9hZChsYXllcilcIj5cbiAgPG1hdC1pY29uIHN2Z0ljb249XCJkb3dubG9hZFwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './download-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9kb3dubG9hZC1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9kb3dubG9hZC1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -39,4 +39,4 @@ IgoDownloadModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
39
39
  MatButtonModule,
40
40
  MatTooltipModule,
41
41
  IgoLanguageModule], exports: [DownloadButtonComponent] }); })();
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFhdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDOztrRkFMVSxpQkFBaUI7bUVBQWpCLGlCQUFpQjt1RUFUMUIsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjt1RkFLUixpQkFBaUI7Y0FYN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3hDOzt3RkFDWSxpQkFBaUIsbUJBRmIsdUJBQXVCLGFBUHBDLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUIsYUFFVCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRG93bmxvYWRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0Rvd25sb2FkQnV0dG9uQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtEb3dubG9hZEJ1dHRvbkNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0Rvd25sb2FkTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0Rvd25sb2FkTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvRG93bmxvYWRNb2R1bGVcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFhdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDOztrRkFMVSxpQkFBaUI7bUVBQWpCLGlCQUFpQjt1RUFUMUIsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjt1RkFLUixpQkFBaUI7Y0FYN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3hDOzt3RkFDWSxpQkFBaUIsbUJBRmIsdUJBQXVCLGFBUHBDLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUIsYUFFVCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgRG93bmxvYWRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtEb3dubG9hZEJ1dHRvbkNvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW0Rvd25sb2FkQnV0dG9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29Eb3dubG9hZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvRG93bmxvYWRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IElnb0Rvd25sb2FkTW9kdWxlXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './shared';
2
2
  export * from './download-button';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbic7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC1idXR0b24nO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnR5cGUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZE9wdGlvbnMge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGR5bmFtaWNVcmw/OiBzdHJpbmc7XHJcbiAgZXh0ZXJuPzogYm9vbGVhbjtcclxuICBhbGxvd2VkRm9ybWF0cz86IEV4cG9ydEZvcm1hdFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xyXG4gIGRvd25sb2FkPzogRG93bmxvYWRPcHRpb25zO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkT3B0aW9ucyB7XG4gIHVybDogc3RyaW5nO1xuICBkeW5hbWljVXJsPzogc3RyaW5nO1xuICBleHRlcm4/OiBib29sZWFuO1xuICBhbGxvd2VkRm9ybWF0cz86IEV4cG9ydEZvcm1hdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xuICBkb3dubG9hZD86IERvd25sb2FkT3B0aW9ucztcbn1cbiJdfQ==
@@ -62,4 +62,4 @@ DownloadService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Download
62
62
  providedIn: 'root'
63
63
  }]
64
64
  }], function () { return [{ type: i1.MessageService }, { type: i1.LanguageService }]; }, null); })();
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFLbEMsT0FBTyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBT3RGLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQ1UsY0FBOEIsRUFDOUIsZUFBZ0M7UUFEaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN2QyxDQUFDO0lBRUosSUFBSSxDQUFDLEtBQVk7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ3pCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsRUFDM0MsS0FBSyxDQUNOLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBc0IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDOUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlDLElBQ0UsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUM3QixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQ3BDO2dCQUNBLElBQUksVUFBVSxDQUFDO2dCQUNmLElB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ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBvbFByb2plY3Rpb24gZnJvbSAnb2wvcHJvai9Qcm9qZWN0aW9uJztcclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xyXG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIsIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQnO1xyXG5cclxuaW1wb3J0IHsgRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb3dubG9hZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgb3BlbihsYXllcjogTGF5ZXIpIHtcclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZG93bmxvYWQudGl0bGUnKTtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZG93bmxvYWQuc3RhcnQnKSxcclxuICAgICAgdGl0bGVcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgRFNPcHRpb25zOiBEYXRhU291cmNlT3B0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucztcclxuICAgIGlmIChPYmplY3Qua2V5cyhEU09wdGlvbnMuZG93bmxvYWQpLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIERTT3B0aW9ucy5kb3dubG9hZC5keW5hbWljVXJsICYmXHJcbiAgICAgICAgRFNPcHRpb25zLmRvd25sb2FkLnVybCA9PT0gdW5kZWZpbmVkXHJcbiAgICAgICkge1xyXG4gICAgICAgIGxldCB3ZnNPcHRpb25zO1xyXG4gICAgICAgIGxldCBjdXJyZW50UHJvaiA9IG5ldyBvbFByb2plY3Rpb24oeyBjb2RlOiBsYXllci5tYXAucHJvamVjdGlvbiB9KTtcclxuICAgICAgICBjb25zdCBwYXJhbXNXRlMgPSAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkucGFyYW1zV0ZTO1xyXG4gICAgICAgIGlmIChwYXJhbXNXRlMgJiYgT2JqZWN0LmtleXMocGFyYW1zV0ZTKS5sZW5ndGggPiAwXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBjdXJyZW50UHJvaiA9IHBhcmFtc1dGUy5zcnNOYW1lID8gbmV3IG9sUHJvamVjdGlvbih7IGNvZGU6IHBhcmFtc1dGUy5zcnNOYW1lIH0pIDogY3VycmVudFByb2o7XHJcbiAgICAgICAgICB3ZnNPcHRpb25zID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgd2ZzT3B0aW9ucyA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjdXJyZW50RXh0ZW50ID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChcclxuICAgICAgICAgIGxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKSxcclxuICAgICAgICAgIG5ldyBvbFByb2plY3Rpb24oeyBjb2RlOiBsYXllci5tYXAucHJvamVjdGlvbiB9KSxcclxuICAgICAgICAgIGN1cnJlbnRQcm9qXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBvdXRwdXRGb3JtYXREb3dubG9hZCA9XHJcbiAgICAgICAgICB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdERvd25sb2FkID09PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgPyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdCA9PT0gdW5kZWZpbmVkID8gJycgOiAnb3V0cHV0Zm9ybWF0PScgKyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdFxyXG4gICAgICAgICAgICA6ICdvdXRwdXRmb3JtYXQ9JyArIHdmc09wdGlvbnMub3V0cHV0Rm9ybWF0RG93bmxvYWQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGJhc2V1cmwgPSBEU09wdGlvbnMuZG93bmxvYWQuZHluYW1pY1VybFxyXG4gICAgICAgICAgLnJlcGxhY2UoLyY/b3V0cHV0Zm9ybWF0PVteJl0qL2dpLCAnJylcclxuICAgICAgICAgIC5yZXBsYWNlKC8mP2ZpbHRlcj1bXiZdKi9naSwgJycpXHJcbiAgICAgICAgICAucmVwbGFjZSgvJj9iYm94PVteJl0qL2dpLCAnJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IG9nY0ZpbHRlcnMgPSAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycztcclxuXHJcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5U3RyaW5nO1xyXG4gICAgICAgIGZpbHRlclF1ZXJ5U3RyaW5nID0gbmV3IE9nY0ZpbHRlcldyaXRlcigpXHJcbiAgICAgICAgLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXHJcbiAgICAgICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMsXHJcbiAgICAgICAgICBvZ2NGaWx0ZXJzLmdlb21ldHJ5TmFtZSxcclxuICAgICAgICAgIGN1cnJlbnRFeHRlbnQgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXHJcbiAgICAgICAgICBjdXJyZW50UHJvaik7XHJcbiAgICAgICAgaWYgKCFmaWx0ZXJRdWVyeVN0cmluZykge1xyXG4gICAgICAgICAgLy8gUHJldmVudCBnZXR0aW5nIGFsbCB0aGUgZmVhdHVyZXMgZm9yIGVtcHR5IGZpbHRlclxyXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeVN0cmluZyA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKS5idWlsZEZpbHRlcihcclxuICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBjdXJyZW50RXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgICAgICAgICBjdXJyZW50UHJvaixcclxuICAgICAgICAgICAgb2djRmlsdGVycy5nZW9tZXRyeU5hbWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZpbHRlclF1ZXJ5U3RyaW5nID0gJ2ZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlclF1ZXJ5U3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93Lm9wZW4oXHJcbiAgICAgICAgICBgJHtiYXNldXJsfSYke2ZpbHRlclF1ZXJ5U3RyaW5nfSYke291dHB1dEZvcm1hdERvd25sb2FkfWAsXHJcbiAgICAgICAgICAnX2JsYW5rJ1xyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoRFNPcHRpb25zLmRvd25sb2FkKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oRFNPcHRpb25zLmRvd25sb2FkLnVybCwgJ19ibGFuaycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFLbEMsT0FBTyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBT3RGLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQ1UsY0FBOEIsRUFDOUIsZUFBZ0M7UUFEaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN2QyxDQUFDO0lBRUosSUFBSSxDQUFDLEtBQVk7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ3pCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsRUFDM0MsS0FBSyxDQUNOLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBc0IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDOUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlDLElBQ0UsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUM3QixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQ3BDO2dCQUNBLElBQUksVUFBVSxDQUFDO2dCQUNmLElB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ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IG9sUHJvamVjdGlvbiBmcm9tICdvbC9wcm9qL1Byb2plY3Rpb24nO1xuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkJztcbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciwgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZCc7XG5cbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEb3dubG9hZFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG9wZW4obGF5ZXI6IExheWVyKSB7XG4gICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZG93bmxvYWQudGl0bGUnKTtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kb3dubG9hZC5zdGFydCcpLFxuICAgICAgdGl0bGVcbiAgICApO1xuXG4gICAgY29uc3QgRFNPcHRpb25zOiBEYXRhU291cmNlT3B0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucztcbiAgICBpZiAoT2JqZWN0LmtleXMoRFNPcHRpb25zLmRvd25sb2FkKS5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoXG4gICAgICAgIERTT3B0aW9ucy5kb3dubG9hZC5keW5hbWljVXJsICYmXG4gICAgICAgIERTT3B0aW9ucy5kb3dubG9hZC51cmwgPT09IHVuZGVmaW5lZFxuICAgICAgKSB7XG4gICAgICAgIGxldCB3ZnNPcHRpb25zO1xuICAgICAgICBsZXQgY3VycmVudFByb2ogPSBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogbGF5ZXIubWFwLnByb2plY3Rpb24gfSk7XG4gICAgICAgIGNvbnN0IHBhcmFtc1dGUyA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlM7XG4gICAgICAgIGlmIChwYXJhbXNXRlMgJiYgT2JqZWN0LmtleXMocGFyYW1zV0ZTKS5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIGN1cnJlbnRQcm9qID0gcGFyYW1zV0ZTLnNyc05hbWUgPyBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogcGFyYW1zV0ZTLnNyc05hbWUgfSkgOiBjdXJyZW50UHJvajtcbiAgICAgICAgICB3ZnNPcHRpb25zID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3ZnNPcHRpb25zID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRFeHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxuICAgICAgICAgIGxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKSxcbiAgICAgICAgICBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogbGF5ZXIubWFwLnByb2plY3Rpb24gfSksXG4gICAgICAgICAgY3VycmVudFByb2pcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgb3V0cHV0Rm9ybWF0RG93bmxvYWQgPVxuICAgICAgICAgIHdmc09wdGlvbnMub3V0cHV0Rm9ybWF0RG93bmxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdCA9PT0gdW5kZWZpbmVkID8gJycgOiAnb3V0cHV0Zm9ybWF0PScgKyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdFxuICAgICAgICAgICAgOiAnb3V0cHV0Zm9ybWF0PScgKyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdERvd25sb2FkO1xuXG4gICAgICAgIGNvbnN0IGJhc2V1cmwgPSBEU09wdGlvbnMuZG93bmxvYWQuZHluYW1pY1VybFxuICAgICAgICAgIC5yZXBsYWNlKC8mP291dHB1dGZvcm1hdD1bXiZdKi9naSwgJycpXG4gICAgICAgICAgLnJlcGxhY2UoLyY/ZmlsdGVyPVteJl0qL2dpLCAnJylcbiAgICAgICAgICAucmVwbGFjZSgvJj9iYm94PVteJl0qL2dpLCAnJyk7XG5cbiAgICAgICAgY29uc3Qgb2djRmlsdGVycyA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzO1xuXG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeVN0cmluZztcbiAgICAgICAgZmlsdGVyUXVlcnlTdHJpbmcgPSBuZXcgT2djRmlsdGVyV3JpdGVyKClcbiAgICAgICAgLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXG4gICAgICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLFxuICAgICAgICAgIG9nY0ZpbHRlcnMuZ2VvbWV0cnlOYW1lLFxuICAgICAgICAgIGN1cnJlbnRFeHRlbnQgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gICAgICAgICAgY3VycmVudFByb2opO1xuICAgICAgICBpZiAoIWZpbHRlclF1ZXJ5U3RyaW5nKSB7XG4gICAgICAgICAgLy8gUHJldmVudCBnZXR0aW5nIGFsbCB0aGUgZmVhdHVyZXMgZm9yIGVtcHR5IGZpbHRlclxuICAgICAgICAgICAgZmlsdGVyUXVlcnlTdHJpbmcgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCkuYnVpbGRGaWx0ZXIoXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBjdXJyZW50RXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICAgICAgICAgICAgY3VycmVudFByb2osXG4gICAgICAgICAgICBvZ2NGaWx0ZXJzLmdlb21ldHJ5TmFtZVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsdGVyUXVlcnlTdHJpbmcgPSAnZmlsdGVyPScgKyBlbmNvZGVVUklDb21wb25lbnQoZmlsdGVyUXVlcnlTdHJpbmcpO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5vcGVuKFxuICAgICAgICAgIGAke2Jhc2V1cmx9JiR7ZmlsdGVyUXVlcnlTdHJpbmd9JiR7b3V0cHV0Rm9ybWF0RG93bmxvYWR9YCxcbiAgICAgICAgICAnX2JsYW5rJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChEU09wdGlvbnMuZG93bmxvYWQpIHtcbiAgICAgICAgd2luZG93Lm9wZW4oRFNPcHRpb25zLmRvd25sb2FkLnVybCwgJ19ibGFuaycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './download.service';
2
2
  export * from './download.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5pbnRlcmZhY2UnO1xyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQuaW50ZXJmYWNlJztcbiJdfQ==
@@ -51,11 +51,11 @@ DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopu
51
51
  } }, dependencies: [i2.MatButton, i3.MatFormField, i4.MatInput, i1.MatDialogContent, i1.MatDialogActions, i5.TranslatePipe] });
52
52
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
53
53
  type: Component,
54
- args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.dialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.dialogTitle' | translate }}\"\r\n value=\"{{ data.currentLabel }}\"/>\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n" }]
54
+ args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\n <p class=\"mat-typography\">\n {{ 'igo.geo.draw.dialogInstruction' | translate }}\n </p>\n <mat-form-field class=\"example-full-width\">\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.dialogTitle' | translate }}\"\n value=\"{{ data.currentLabel }}\"/>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.draw.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\n OK\n </button>\n</div>\n" }]
55
55
  }], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
56
56
  type: Inject,
57
57
  args: [MAT_DIALOG_DATA]
58
58
  }] }]; }, { confirmFlag: [{
59
59
  type: Input
60
60
  }] }); })();
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQVd6RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ1MsU0FBMkMsRUFDbEIsSUFBOEI7UUFEdkQsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBMEI7UUFKdkQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFLbkMsQ0FBQztJQUVKLGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxPQUFPLENBQUMsV0FBbUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7b0ZBZFUsa0JBQWtCLDhEQUtuQixlQUFlO3FFQUxkLGtCQUFrQjs7UUNaL0IsOEJBQXdCLFdBQUE7UUFFcEIsWUFDRjs7UUFBQSxpQkFBSTtRQUNKLHlDQUEyQztRQUN6Qyw4QkFJbUM7O1FBQ3JDLGlCQUFpQixFQUFBO1FBRW5CLDhCQUF3QixnQkFBQTtRQUNJLCtGQUFTLG1CQUFlLElBQUM7UUFDakQsYUFDRjs7UUFBQSxpQkFBUztRQUNULGtDQUF5RTtRQUEvQixzSkFBUyxlQUFBLHNCQUFvQixDQUFBLElBQUM7UUFDdEUscUJBQ0Y7UUFBQSxpQkFBUyxFQUFBOztRQWhCUCxlQUNGO1FBREUsdUZBQ0Y7UUFLSSxlQUEwRDtRQUExRCx5RkFBMEQ7UUFDMUQsd0RBQStCO1FBS2pDLGVBQ0Y7UUFERSw2RUFDRjs7dUZESFcsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsMEJBQTBCOztzQkFTakMsTUFBTTt1QkFBQyxlQUFlO3dCQUpoQixXQUFXO2tCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZHJhdy1wb3B1cC1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcmF3LXBvcHVwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdQb3B1cENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29uZmlybUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RHJhd1BvcHVwQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogeyBjdXJyZW50TGFiZWw6IHN0cmluZyB9XHJcbiAgKSB7fVxyXG5cclxuICBjYW5jZWxEcmF3aW5nKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbiAgY29uZmlybShsYWJlbFN0cmluZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1GbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGxhYmVsU3RyaW5nKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAge3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dJbnN0cnVjdGlvbicgfCB0cmFuc2xhdGUgfX1cclxuICA8L3A+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgI2lucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dUaXRsZScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICB2YWx1ZT1cInt7IGRhdGEuY3VycmVudExhYmVsIH19XCIvPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWxEcmF3aW5nKClcIj5cclxuICAgIHt7ICdpZ28uZ2VvLmRyYXcuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oaW5wdXQudmFsdWUpXCI+XHJcbiAgICBPS1xyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQVd6RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ1MsU0FBMkMsRUFDbEIsSUFBOEI7UUFEdkQsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBMEI7UUFKdkQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFLbkMsQ0FBQztJQUVKLGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxPQUFPLENBQUMsV0FBbUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7b0ZBZFUsa0JBQWtCLDhEQUtuQixlQUFlO3FFQUxkLGtCQUFrQjs7UUNaL0IsOEJBQXdCLFdBQUE7UUFFcEIsWUFDRjs7UUFBQSxpQkFBSTtRQUNKLHlDQUEyQztRQUN6Qyw4QkFJbUM7O1FBQ3JDLGlCQUFpQixFQUFBO1FBRW5CLDhCQUF3QixnQkFBQTtRQUNJLCtGQUFTLG1CQUFlLElBQUM7UUFDakQsYUFDRjs7UUFBQSxpQkFBUztRQUNULGtDQUF5RTtRQUEvQixzSkFBUyxlQUFBLHNCQUFvQixDQUFBLElBQUM7UUFDdEUscUJBQ0Y7UUFBQSxpQkFBUyxFQUFBOztRQWhCUCxlQUNGO1FBREUsdUZBQ0Y7UUFLSSxlQUEwRDtRQUExRCx5RkFBMEQ7UUFDMUQsd0RBQStCO1FBS2pDLGVBQ0Y7UUFERSw2RUFDRjs7dUZESFcsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsMEJBQTBCOztzQkFTakMsTUFBTTt1QkFBQyxlQUFlO3dCQUpoQixXQUFXO2tCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YSB7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1kcmF3LXBvcHVwLWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJhdy1wb3B1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyYXdQb3B1cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbmZpcm1GbGFnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERyYXdQb3B1cENvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IGN1cnJlbnRMYWJlbDogc3RyaW5nIH1cbiAgKSB7fVxuXG4gIGNhbmNlbERyYXdpbmcoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuICBjb25maXJtKGxhYmVsU3RyaW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1GbGFnID0gdHJ1ZTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShsYWJlbFN0cmluZyk7XG4gIH1cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICA8cCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAge3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dJbnN0cnVjdGlvbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWZ1bGwtd2lkdGhcIj5cbiAgICA8aW5wdXRcbiAgICAgICNpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uZHJhdy5kaWFsb2dUaXRsZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdmFsdWU9XCJ7eyBkYXRhLmN1cnJlbnRMYWJlbCB9fVwiLz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPlxuICAgIHt7ICdpZ28uZ2VvLmRyYXcuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybShpbnB1dC52YWx1ZSlcIj5cbiAgICBPS1xuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -43,6 +43,6 @@ DrawShorcutsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawS
43
43
  } }, dependencies: [i1.MatButton, i2.MatIcon, i3.MatDialogClose, i3.MatDialogContent, i3.MatDialogActions, i4.TranslatePipe], styles: [".shortcut[_ngcontent-%COMP%]{display:flex;align-items:center}.shortcut-icon[_ngcontent-%COMP%]{margin-right:10px}.shortcuts-close[_ngcontent-%COMP%]{display:flex;justify-content:center}"] });
44
44
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawShorcutsComponent, [{
45
45
  type: Component,
46
- args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon>{{'igo.geo.draw.finish' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon>{{'igo.geo.draw.undo' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon>{{'igo.geo.draw.abort' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon>{{'igo.geo.draw.move' | translate}}</span>\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"shortcuts-close\">\r\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\r\n</mat-dialog-actions>", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
46
+ args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon>{{'igo.geo.draw.finish' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon>{{'igo.geo.draw.undo' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon>{{'igo.geo.draw.abort' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon>{{'igo.geo.draw.move' | translate}}</span>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"shortcuts-close\">\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\n</mat-dialog-actions>", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
47
47
  }], null, null); })();
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRMUMsTUFBTSxPQUFPLHFCQUFxQjs7MEZBQXJCLHFCQUFxQjt3RUFBckIscUJBQXFCO1FDUmxDLDBDQUFvQixVQUFBLGNBQUE7UUFHZCw4QkFBcUU7UUFBQSxZQUFxQzs7UUFBQSxpQkFBTyxFQUFBO1FBRXJILDJCQUFLLGNBQUE7UUFFRCw4QkFBdUU7UUFBQSxZQUFtQzs7UUFBQSxpQkFBTyxFQUFBO1FBRXJILDRCQUFLLGVBQUE7UUFFRCwrQkFBa0U7UUFBQSxhQUFvQzs7UUFBQSxpQkFBTyxFQUFBO1FBRWpILDRCQUFLLGVBQUE7UUFFRCwrQkFBb0U7UUFBQSxhQUFtQzs7UUFBQSxpQkFBTyxFQUFBLEVBQUE7UUFHcEgsOENBQTRDLGlCQUFBO1FBQ2lCLG1CQUFFO1FBQUEsaUJBQVMsRUFBQTs7UUFoQkcsZUFBcUM7UUFBckMsaUVBQXFDO1FBSW5DLGVBQW1DO1FBQW5DLGdFQUFtQztRQUl4QyxlQUFvQztRQUFwQyxpRUFBb0M7UUFJbEMsZUFBbUM7UUFBbkMsaUVBQW1DOzt1RkRQaEcscUJBQXFCO2NBTmpDLFNBQVM7MkJBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kcmF3LXNob3JjdXRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHJhd1Nob3JjdXRzQ29tcG9uZW50IHt9XHJcbiIsIjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPGRpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2hvcnRjdXQgbWF0LXR5cG9ncmFwaHlcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2hvcnRjdXQtaWNvblwiIHN2Z0ljb249XCJrZXlib2FyZC1yZXR1cm5cIj48L21hdC1pY29uPnt7J2lnby5nZW8uZHJhdy5maW5pc2gnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2hvcnRjdXQgbWF0LXR5cG9ncmFwaHlcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2hvcnRjdXQtaWNvblwiIHN2Z0ljb249XCJiYWNrc3BhY2Utb3V0bGluZVwiPjwvbWF0LWljb24+e3snaWdvLmdlby5kcmF3LnVuZG8nIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2hvcnRjdXQgbWF0LXR5cG9ncmFwaHlcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2hvcnRjdXQtaWNvblwiIHN2Z0ljb249XCJrZXlib2FyZC1lc2NcIj48L21hdC1pY29uPnt7J2lnby5nZW8uZHJhdy5hYm9ydCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzaG9ydGN1dCBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzaG9ydGN1dC1pY29uXCIgc3ZnSWNvbj1cImtleWJvYXJkLXNwYWNlXCI+PC9tYXQtaWNvbj57eydpZ28uZ2VvLmRyYXcubW92ZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbjxtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJzaG9ydGN1dHMtY2xvc2VcIj5cclxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2UgY29sb3I9XCJwcmltYXJ5XCI+T0s8L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+Il19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1zaG9yY3V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRMUMsTUFBTSxPQUFPLHFCQUFxQjs7MEZBQXJCLHFCQUFxQjt3RUFBckIscUJBQXFCO1FDUmxDLDBDQUFvQixVQUFBLGNBQUE7UUFHZCw4QkFBcUU7UUFBQSxZQUFxQzs7UUFBQSxpQkFBTyxFQUFBO1FBRXJILDJCQUFLLGNBQUE7UUFFRCw4QkFBdUU7UUFBQSxZQUFtQzs7UUFBQSxpQkFBTyxFQUFBO1FBRXJILDRCQUFLLGVBQUE7UUFFRCwrQkFBa0U7UUFBQSxhQUFvQzs7UUFBQSxpQkFBTyxFQUFBO1FBRWpILDRCQUFLLGVBQUE7UUFFRCwrQkFBb0U7UUFBQSxhQUFtQzs7UUFBQSxpQkFBTyxFQUFBLEVBQUE7UUFHcEgsOENBQTRDLGlCQUFBO1FBQ2lCLG1CQUFFO1FBQUEsaUJBQVMsRUFBQTs7UUFoQkcsZUFBcUM7UUFBckMsaUVBQXFDO1FBSW5DLGVBQW1DO1FBQW5DLGdFQUFtQztRQUl4QyxlQUFvQztRQUFwQyxpRUFBb0M7UUFJbEMsZUFBbUM7UUFBbkMsaUVBQW1DOzt1RkRQaEcscUJBQXFCO2NBTmpDLFNBQVM7MkJBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1kcmF3LXNob3JjdXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXctc2hvcmN1dHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcmF3LXNob3JjdXRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBEcmF3U2hvcmN1dHNDb21wb25lbnQge31cbiIsIjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxkaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzaG9ydGN1dCBtYXQtdHlwb2dyYXBoeVwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2hvcnRjdXQtaWNvblwiIHN2Z0ljb249XCJrZXlib2FyZC1yZXR1cm5cIj48L21hdC1pY29uPnt7J2lnby5nZW8uZHJhdy5maW5pc2gnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwic2hvcnRjdXQgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNob3J0Y3V0LWljb25cIiBzdmdJY29uPVwiYmFja3NwYWNlLW91dGxpbmVcIj48L21hdC1pY29uPnt7J2lnby5nZW8uZHJhdy51bmRvJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8c3BhbiBjbGFzcz1cInNob3J0Y3V0IG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzaG9ydGN1dC1pY29uXCIgc3ZnSWNvbj1cImtleWJvYXJkLWVzY1wiPjwvbWF0LWljb24+e3snaWdvLmdlby5kcmF3LmFib3J0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8c3BhbiBjbGFzcz1cInNob3J0Y3V0IG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzaG9ydGN1dC1pY29uXCIgc3ZnSWNvbj1cImtleWJvYXJkLXNwYWNlXCI+PC9tYXQtaWNvbj57eydpZ28uZ2VvLmRyYXcubW92ZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctY29udGVudD5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJzaG9ydGN1dHMtY2xvc2VcIj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGNvbG9yPVwicHJpbWFyeVwiPk9LPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz4iXX0=
@@ -534,7 +534,7 @@ export class DrawComponent {
534
534
  return Object.values(FontType);
535
535
  }
536
536
  }
537
- DrawComponent.ɵfac = function DrawComponent_Factory(t) { return new (t || DrawComponent)(i0.ɵɵdirectiveInject(i1.LanguageService), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.DrawStyleService), i0.ɵɵdirectiveInject(i4.MatDialog), i0.ɵɵdirectiveInject(i5.DrawIconService)); };
537
+ DrawComponent.ɵfac = function DrawComponent_Factory(t) { return new (t || DrawComponent)(i0.ɵɵdirectiveInject(i1.LanguageService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.DrawStyleService), i0.ɵɵdirectiveInject(i4.MatDialog), i0.ɵɵdirectiveInject(i5.DrawIconService)); };
538
538
  DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent, selectors: [["igo-draw"]], inputs: { fontType: "fontType", map: "map", store: "store" }, outputs: { fillColor: "fillColor", strokeColor: "strokeColor", strokeWidth: "strokeWidth", fontSize: "fontSize", fontStyle: "fontStyle" }, decls: 71, vars: 87, consts: [[1, "geometry-type-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [1, "draw-options", "mat-typography"], [3, "disabled", "checked", "labelPosition", "change"], [3, "checked", "labelPosition", "change"], [1, "igo-form", 3, "formGroup"], [1, "fill-color-picker", "mat-typography"], ["svgIcon", "square", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "fill-field", 3, "matTooltip"], ["formControlName", "fill", "matInput", "", "type", "text", 3, "colorPicker", "readonly", "cpWidth", "cpOutputFormat", "cpPosition", "cpPositionOffset", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], [1, "stroke-color-picker", "mat-typography"], ["svgIcon", "square-outline", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "stroke-field", 3, "matTooltip"], ["formControlName", "stroke", "matInput", "", "type", "text", 3, "colorPicker", "readonly", "cpWidth", "cpPosition", "cpPositionOffset", "cpOutputFormat", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], [4, "ngIf"], [1, "igo-form-font"], ["appearance", "outline", 1, "igo-form-fontSize"], ["matInput", "", "type", "number", "placeholder", "10", "min", "10", "onkeydown", "return event.keyCode !== 69", 3, "value", "input"], ["testFontSize", ""], ["matSuffix", ""], ["appearance", "outline", 1, "igo-form-fontStyle"], [3, "value", "selectionChange"], ["testFontStyle", ""], [3, "value", 4, "ngFor", "ngForOf"], ["class", "deleteBtn", "mat-icon-button", "", "color", "warn", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click", 4, "ngIf"], [1, "table-compact", 3, "store", "template", "dblclick"], ["table", ""], ["mat-icon-button", "", "color", "accent", "disableRipple", "true", 3, "click"], ["svgIcon", "keyboard-outline", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "shortcuts-icon", 3, "matTooltip"], ["class", "box", 4, "ngIf"], ["value", "", 3, "click"], [3, "value", "click", 4, "ngFor", "ngForOf"], [1, "box"], [3, "src"], [3, "value", "click"], ["mat-icon-button", "", "color", "warn", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "deleteBtn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"]], template: function DrawComponent_Template(rf, ctx) { if (rf & 1) {
539
539
  const _r16 = i0.ɵɵgetCurrentView();
540
540
  i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "mat-button-toggle-group", 1);
@@ -693,8 +693,8 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
693
693
  } }, dependencies: [i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i6.NgForOf, i6.NgIf, i7.MatButton, i8.MatButtonToggleGroup, i8.MatButtonToggle, i9.MatDivider, i10.MatFormField, i10.MatLabel, i10.MatSuffix, i11.MatIcon, i12.MatTooltip, i13.MatInput, i14.MatSelect, i14.MatSelectTrigger, i15.MatOption, i16.MatSlideToggle, i17.EntityTableComponent, i18.ColorPickerDirective, i6.AsyncPipe, i19.TranslatePipe], styles: [".geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:25%}.draw-options[_ngcontent-%COMP%]{overflow-x:hidden}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}img[_ngcontent-%COMP%]{width:100%;height:100%}.deleteBtn[_ngcontent-%COMP%]{margin-left:12px}.igo-form-font[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:18px}.igo-form-fontSize[_ngcontent-%COMP%]{left:10px!important;width:150px}.igo-form-fontStyle[_ngcontent-%COMP%]{width:150px}"], changeDetection: 0 });
694
694
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawComponent, [{
695
695
  type: Component,
696
- args: [{ selector: 'igo-draw', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\r\n <div class=\"geometry-type-toggle mat-typography\">\r\n <mat-button-toggle-group (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\r\n\r\n <mat-button-toggle [value]=\"geometryType.Point\">\r\n {{ 'igo.geo.draw.' + geometryType.Point | translate }}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.LineString\">\r\n {{ 'igo.geo.draw.' + geometryType.LineString | translate }}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Polygon\">\r\n {{ 'igo.geo.draw.' + geometryType.Polygon | translate }}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Circle\">\r\n {{ 'igo.geo.draw.' + geometryType.Circle | translate }}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n\r\n <div class=\"draw-options mat-typography\">\r\n <mat-slide-toggle\r\n [disabled]=\"drawControlIsDisabled\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleDrawControl($event.checked)\">\r\n {{ 'igo.geo.spatialFilter.drawControl' | translate }}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n [checked]=\"labelsAreShown\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleLabels()\">\r\n {{ 'igo.geo.draw.toggleMapTooltips' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <div class=\"fill-color-picker mat-typography\">\r\n <span>\r\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\r\n {{ 'igo.geo.draw.fill' | translate }}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"fill-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\r\n <mat-label>{{ fillColor }}</mat-label>\r\n\r\n <input\r\n formControlName=\"fill\"\r\n matInput\r\n type=\"text\"\r\n [(colorPicker)]=\"fillColor\"\r\n [style.background]=\"fillColor\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"fillColor\"\r\n [cpWidth]=\"'200px'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"onColorChange(labelsAreShown, false)\"/>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"stroke-color-picker mat-typography\">\r\n <span>\r\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square-outline\"></mat-icon>\r\n {{ 'igo.geo.draw.stroke' | translate }}\r\n </span>\r\n\r\n <mat-form-field\r\n class=\"stroke-field\"\r\n appearance=\"outline\"\r\n floatLabel=\"always\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\r\n <mat-label>{{ strokeColor }}</mat-label>\r\n <input\r\n formControlName=\"stroke\"\r\n matInput\r\n type=\"text\"\r\n [(colorPicker)]=\"strokeColor\"\r\n [style.background]=\"strokeColor\"\r\n [readonly]=\"true\"\r\n [colorPicker]=\"strokeColor\"\r\n [cpWidth]=\"'200px'\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-75%'\"\r\n [cpOutputFormat]=\"'rgba'\"\r\n [cpCancelButton]=\"true\"\r\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\r\n [cpOKButton]=\"true\"\r\n (colorPickerChange)=\"onColorChange(labelsAreShown, false)\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field *ngIf=\"icons.length >= 1\">\r\n <mat-label>{{ 'igo.geo.draw.icon' | translate }}</mat-label>\r\n <mat-select>\r\n <mat-select-trigger>\r\n <div *ngIf=\"icon\" class=\"box\">\r\n <img src=\"{{ icon }}\">\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option value=\"\" (click)=\"onIconChange()\">{{ 'igo.geo.draw.noIcon' | translate }}</mat-option>\r\n <mat-option\r\n *ngFor=\"let icon_html of icons\"\r\n [value]=\"icon_html\"\r\n (click)=\"onIconChange(icon_html)\">\r\n <div class=\"box\">\r\n <img src=\"{{ icon_html }}\">\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n\r\n\r\n <div class=\"igo-form-font\">\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-fontSize\">\r\n <mat-label>{{ 'igo.geo.draw.fontSize' | translate }}</mat-label>\r\n <input\r\n matInput\r\n #testFontSize\r\n type=\"number\"\r\n placeholder=\"10\"\r\n min=\"10\"\r\n onkeydown=\"return event.keyCode !== 69\"\r\n [value]=\"fontSize\"\r\n (input)=\"\r\n onFontChange(\r\n labelsAreShown,\r\n $event.target.value,\r\n testFontStyle.value\r\n )\"\r\n />\r\n <span matSuffix>px</span>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"igo-form-fontStyle\">\r\n <mat-label>{{ 'igo.geo.draw.fontStyle' | translate }}</mat-label>\r\n <mat-select\r\n #testFontStyle\r\n [value]=\"fontStyle\"\r\n (selectionChange)=\"onFontChange(labelsAreShown, testFontSize.value, $event.value)\">\r\n <mat-option\r\n *ngFor=\"let fontSelect of allFontStyles\"\r\n [value]=\"fontSelect\">\r\n {{ fontSelect }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-divider></mat-divider>\r\n <div>\r\n <button\r\n *ngIf=\"store.count$.getValue() > 0\"\r\n class=\"deleteBtn\"\r\n mat-icon-button\r\n color=\"warn\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.delete' | translate\"\r\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\r\n (click)=\"deleteDrawings()\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"store\"\r\n [template]=\"tableTemplate\"\r\n (dblclick)=\"editLabelDrawing()\">\r\n </igo-entity-table>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n color=\"accent\"\r\n disableRipple=\"true\"\r\n (click)=\"openShorcutsDialog()\">\r\n <mat-icon\r\n class=\"shortcuts-icon\"\r\n svgIcon=\"keyboard-outline\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.shortcuts' | translate\">\r\n </mat-icon>\r\n </button>\r\n</div>\r\n", styles: [".geometry-type-toggle{padding:10px;text-align:center}.geometry-type-toggle mat-button-toggle-group{width:100%}.geometry-type-toggle mat-button-toggle-group mat-button-toggle{width:25%}.draw-options{overflow-x:hidden}.draw-options mat-slide-toggle{width:100%;margin:10px}.draw-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}img{width:100%;height:100%}.deleteBtn{margin-left:12px}.igo-form-font .mat-form-field+.mat-form-field{margin-left:18px}.igo-form-fontSize{left:10px!important;width:150px}.igo-form-fontStyle{width:150px}\n"] }]
697
- }], function () { return [{ type: i1.LanguageService }, { type: i2.FormBuilder }, { type: i3.DrawStyleService }, { type: i4.MatDialog }, { type: i5.DrawIconService }]; }, { fillColor: [{
696
+ args: [{ selector: 'igo-draw', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <div class=\"geometry-type-toggle mat-typography\">\n <mat-button-toggle-group (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\n\n <mat-button-toggle [value]=\"geometryType.Point\">\n {{ 'igo.geo.draw.' + geometryType.Point | translate }}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.LineString\">\n {{ 'igo.geo.draw.' + geometryType.LineString | translate }}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Polygon\">\n {{ 'igo.geo.draw.' + geometryType.Polygon | translate }}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Circle\">\n {{ 'igo.geo.draw.' + geometryType.Circle | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <div class=\"draw-options mat-typography\">\n <mat-slide-toggle\n [disabled]=\"drawControlIsDisabled\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDrawControl($event.checked)\">\n {{ 'igo.geo.spatialFilter.drawControl' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n [checked]=\"labelsAreShown\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleLabels()\">\n {{ 'igo.geo.draw.toggleMapTooltips' | translate }}\n </mat-slide-toggle>\n </div>\n\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"fill-color-picker mat-typography\">\n <span>\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\n {{ 'igo.geo.draw.fill' | translate }}\n </span>\n\n <mat-form-field\n class=\"fill-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ fillColor }}</mat-label>\n\n <input\n formControlName=\"fill\"\n matInput\n type=\"text\"\n [(colorPicker)]=\"fillColor\"\n [style.background]=\"fillColor\"\n [readonly]=\"true\"\n [colorPicker]=\"fillColor\"\n [cpWidth]=\"'200px'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"onColorChange(labelsAreShown, false)\"/>\n </mat-form-field>\n </div>\n\n <div class=\"stroke-color-picker mat-typography\">\n <span>\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square-outline\"></mat-icon>\n {{ 'igo.geo.draw.stroke' | translate }}\n </span>\n\n <mat-form-field\n class=\"stroke-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ strokeColor }}</mat-label>\n <input\n formControlName=\"stroke\"\n matInput\n type=\"text\"\n [(colorPicker)]=\"strokeColor\"\n [style.background]=\"strokeColor\"\n [readonly]=\"true\"\n [colorPicker]=\"strokeColor\"\n [cpWidth]=\"'200px'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"onColorChange(labelsAreShown, false)\">\n </mat-form-field>\n </div>\n\n <div>\n <mat-form-field *ngIf=\"icons.length >= 1\">\n <mat-label>{{ 'igo.geo.draw.icon' | translate }}</mat-label>\n <mat-select>\n <mat-select-trigger>\n <div *ngIf=\"icon\" class=\"box\">\n <img src=\"{{ icon }}\">\n </div>\n </mat-select-trigger>\n <mat-option value=\"\" (click)=\"onIconChange()\">{{ 'igo.geo.draw.noIcon' | translate }}</mat-option>\n <mat-option\n *ngFor=\"let icon_html of icons\"\n [value]=\"icon_html\"\n (click)=\"onIconChange(icon_html)\">\n <div class=\"box\">\n <img src=\"{{ icon_html }}\">\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n\n\n <div class=\"igo-form-font\">\n <mat-form-field appearance=\"outline\" class=\"igo-form-fontSize\">\n <mat-label>{{ 'igo.geo.draw.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"fontSize\"\n (input)=\"\n onFontChange(\n labelsAreShown,\n $event.target.value,\n testFontStyle.value\n )\"\n />\n <span matSuffix>px</span>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"igo-form-fontStyle\">\n <mat-label>{{ 'igo.geo.draw.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"fontStyle\"\n (selectionChange)=\"onFontChange(labelsAreShown, testFontSize.value, $event.value)\">\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\">\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <mat-divider></mat-divider>\n <div>\n <button\n *ngIf=\"store.count$.getValue() > 0\"\n class=\"deleteBtn\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.delete' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n (click)=\"deleteDrawings()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"store\"\n [template]=\"tableTemplate\"\n (dblclick)=\"editLabelDrawing()\">\n </igo-entity-table>\n </div>\n\n <button\n mat-icon-button\n color=\"accent\"\n disableRipple=\"true\"\n (click)=\"openShorcutsDialog()\">\n <mat-icon\n class=\"shortcuts-icon\"\n svgIcon=\"keyboard-outline\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.shortcuts' | translate\">\n </mat-icon>\n </button>\n</div>\n", styles: [".geometry-type-toggle{padding:10px;text-align:center}.geometry-type-toggle mat-button-toggle-group{width:100%}.geometry-type-toggle mat-button-toggle-group mat-button-toggle{width:25%}.draw-options{overflow-x:hidden}.draw-options mat-slide-toggle{width:100%;margin:10px}.draw-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}img{width:100%;height:100%}.deleteBtn{margin-left:12px}.igo-form-font .mat-form-field+.mat-form-field{margin-left:18px}.igo-form-fontSize{left:10px!important;width:150px}.igo-form-fontStyle{width:150px}\n"] }]
697
+ }], function () { return [{ type: i1.LanguageService }, { type: i2.UntypedFormBuilder }, { type: i3.DrawStyleService }, { type: i4.MatDialog }, { type: i5.DrawIconService }]; }, { fillColor: [{
698
698
  type: Output
699
699
  }], strokeColor: [{
700
700
  type: Output
@@ -711,4 +711,4 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
711
711
  }], store: [{
712
712
  type: Input
713
713
  }] }); })();
714
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsNkJBQTZCLEVBQzdCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdsRSxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFcEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFJMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdC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QUEsd0JBQUEscUVBQUEsb0JBQUE7UUFrQjdCLGVBQ0Y7UUFERSw4RUFDRjtRQVFFLGVBQXFEO1FBQXJELCtFQUFxRDtRQUMxQyxlQUFpQjtRQUFqQixxQ0FBaUI7UUFNMUIsZUFBZ0M7UUFBaEMsNkNBQWdDO1FBRGhDLDZDQUE2QixrQkFBQSxnQ0FBQSxvQkFBQSx3QkFBQSw0QkFBQSwwQkFBQSx3QkFBQSxxRUFBQSxvQkFBQTtRQWdCaEIsZUFBdUI7UUFBdkIsNENBQXVCO1FBeUI3QixlQUF5QztRQUF6QyxxRUFBeUM7UUFRbEQsZUFBa0I7UUFBbEIsb0NBQWtCO1FBV1QsZUFBMEM7UUFBMUMsc0VBQTBDO1FBR25ELGVBQW1CO1FBQW5CLHFDQUFtQjtRQUdNLGVBQWdCO1FBQWhCLDJDQUFnQjtRQVcxQyxlQUFpQztRQUFqQyxzREFBaUM7UUFlbEMsZUFBZTtRQUFmLGlDQUFlLCtCQUFBO1FBZ0JmLGVBQW1EO1FBQW5ELDZFQUFtRDs7dUZEN0k1QyxhQUFhO2NBTnpCLFNBQVM7MkJBQ0UsVUFBVSxtQkFHSCx1QkFBdUIsQ0FBQyxNQUFNO2lMQXVCckMsU0FBUztrQkFBbEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBRUcsUUFBUTtrQkFBakIsTUFBTTtZQUNHLFNBQVM7a0JBQWxCLE1BQU07WUFDRSxRQUFRO2tCQUFoQixLQUFLO1lBRUcsR0FBRztrQkFBWCxLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRkVBVFVSRSxcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIsXHJcbiAgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5LFxyXG4gIHRyeUFkZFNlbGVjdGlvblN0cmF0ZWd5LFxyXG4gIEZlYXR1cmVNb3Rpb24sXHJcbiAgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5LFxyXG4gIGZlYXR1cmVUb09sXHJcbn0gZnJvbSAnLi4vLi4vZmVhdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRm9udFR5cGUsIEdlb21ldHJ5VHlwZSB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LmVudW0nO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERyYXcsIEZlYXR1cmVXaXRoRHJhdyB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFZlY3RvclNvdXJjZUV2ZW50IGFzIE9sVmVjdG9yU291cmNlRXZlbnQgfSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgRHJhd0NvbnRyb2wgfSBmcm9tICcuLi8uLi9nZW9tZXRyeS9zaGFyZWQvY29udHJvbHMvZHJhdyc7XHJcbmltcG9ydCB7IEVudGl0eVJlY29yZCwgRW50aXR5VGFibGVUZW1wbGF0ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgKiBhcyBPbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0IE9sVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgT2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XHJcbmltcG9ydCBPbE92ZXJsYXkgZnJvbSAnb2wvT3ZlcmxheSc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5VHlwZSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnlUeXBlJztcclxuaW1wb3J0IHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCB7IGdldERpc3RhbmNlIH0gZnJvbSAnb2wvc3BoZXJlJztcclxuaW1wb3J0IHsgRHJhd1N0eWxlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LXN0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEcmF3UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RyYXctcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJhd1Nob3JjdXRzQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3LXNob3JjdXRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGdldFRvb2x0aXBzT2ZPbEdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vbWVhc3VyZS9zaGFyZWQvbWVhc3VyZS51dGlscyc7XHJcbmltcG9ydCB7IGNyZWF0ZUludGVyYWN0aW9uU3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy51dGlscyc7XHJcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgeyBEcmF3SWNvblNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy1pY29uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZHJhdycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXcuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBUYWJsZSB0ZW1wbGF0ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0YWJsZVRlbXBsYXRlOiBFbnRpdHlUYWJsZVRlbXBsYXRlID0ge1xyXG4gICAgc2VsZWN0aW9uOiB0cnVlLFxyXG4gICAgc2VsZWN0TWFueTogdHJ1ZSxcclxuICAgIHNlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxyXG4gICAgc29ydDogdHJ1ZSxcclxuICAgIGNvbHVtbnM6IFt7XHJcbiAgICAgICAgbmFtZTogJ0RyYXdpbmcnLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcmF3LmxhYmVscycpLFxyXG4gICAgICAgIHZhbHVlQWNjZXNzb3I6IChmZWF0dXJlOiBGZWF0dXJlV2l0aERyYXcpID0+IHtcclxuICAgICAgICAgIHJldHVybiBmZWF0dXJlLnByb3BlcnRpZXMuZHJhdztcclxuICAgICAgICB9XHJcbiAgICAgIH1dXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdlb21ldHJ5VHlwZSA9IEdlb21ldHJ5VHlwZTsgLy8gUmVmZXJlbmNlIHRvIHRoZSBHZW9tZXRyeVR5cGUgZW51bVxyXG5cclxuICBAT3V0cHV0KCkgZmlsbENvbG9yOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHN0cm9rZUNvbG9yOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHN0cm9rZVdpZHRoOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBmb250U2l6ZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBmb250U3R5bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBmb250VHlwZTogRm9udFR5cGU7XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwOyAvLyBNYXAgdG8gZHJhdyBvblxyXG5cclxuICBASW5wdXQoKSBzdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz47IC8vIERyYXdpbmcgc3RvcmVcclxuXHJcbiAgcHVibGljIGRyYXckOiBCZWhhdmlvclN1YmplY3Q8RHJhdz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTsgLy8gT2JzZXJ2YWJsZSBvZiBkcmF3XHJcblxyXG4gIHByaXZhdGUgb2xEcmF3aW5nTGF5ZXJTb3VyY2UgPSBuZXcgT2xWZWN0b3JTb3VyY2UoKTtcclxuICBwcml2YXRlIGRyYXdDb250cm9sOiBEcmF3Q29udHJvbDtcclxuICBwcml2YXRlIGRyYXdFbmQkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgZHJhd1NlbGVjdCQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBvbERyYXdpbmdMYXllcjogVmVjdG9yTGF5ZXI7XHJcbiAgcHVibGljIHNlbGVjdGVkRmVhdHVyZXMkOiBCZWhhdmlvclN1YmplY3Q8RmVhdHVyZVdpdGhEcmF3W10+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gIHB1YmxpYyBmaWxsRm9ybTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdHJva2VGb3JtOiBzdHJpbmc7XHJcbiAgcHVibGljIGRyYXdDb250cm9sSXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGRyYXdDb250cm9sSXNBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgbGFiZWxzQXJlU2hvd246IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHB1YmxpYyBmb250U2l6ZUZvcm06IHN0cmluZztcclxuICBwdWJsaWMgZm9udFN0eWxlRm9ybTogc3RyaW5nO1xyXG4gIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ2JvdHRvbSc7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgaWNvbnM6IEFycmF5PHN0cmluZz47XHJcbiAgcHVibGljIGljb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGRyYXdTdHlsZVNlcnZpY2U6IERyYXdTdHlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBkcmF3SWNvblNlcnZpY2U6IERyYXdJY29uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuZmlsbENvbG9yID0gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldEZpbGxDb2xvcigpO1xyXG4gICAgdGhpcy5zdHJva2VDb2xvciA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRTdHJva2VDb2xvcigpO1xyXG4gICAgdGhpcy5zdHJva2VXaWR0aCA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRTdHJva2VXaWR0aCgpO1xyXG4gICAgdGhpcy5sYWJlbHNBcmVTaG93biA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRMYWJlbHNBcmVTaG93bigpO1xyXG4gICAgdGhpcy5pY29ucyA9IHRoaXMuZHJhd0ljb25TZXJ2aWNlLmdldEljb25zKCk7XHJcbiAgICB0aGlzLmljb24gPSB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0SWNvbigpO1xyXG5cclxuICAgIHRoaXMuZm9udFNpemUgPSB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0Rm9udFNpemUoKTtcclxuICAgIHRoaXMuZm9udFN0eWxlID0gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldEZvbnRTdHlsZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgc3RvcmUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGVudGl0aWVzIGFuZCBjcmVhdGUgdGhlIERyYXcgY29udHJvbFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0U3RvcmUoKTtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wgPSB0aGlzLmNyZWF0ZURyYXdDb250cm9sKFxyXG4gICAgICB0aGlzLmZpbGxDb2xvcixcclxuICAgICAgdGhpcy5zdHJva2VDb2xvcixcclxuICAgICAgdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgKTtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuc2V0R2VvbWV0cnlUeXBlKHRoaXMuZ2VvbWV0cnlUeXBlLlBvaW50IGFzIGFueSk7XHJcbiAgICB0aGlzLnRvZ2dsZURyYXdDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGRyYXdpbmcgbGF5ZXIgYW5kIHRoZSBpbnRlcmFjdGlvbnNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuc2V0T2xNYXAodW5kZWZpbmVkKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLm1hcCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIERyYXcgQ29udHJvbFxyXG4gICAqIEBwYXJhbSBmaWxsQ29sb3IgdGhlIGZpbGwgY29sb3JcclxuICAgKiBAcGFyYW0gc3Ryb2tlQ29sb3IgdGhlIHN0cm9rZSBjb2xvclxyXG4gICAqIEBwYXJhbSBzdHJva2VXaWR0aCB0aGUgc3Ryb2tlIHdpZHRoXHJcbiAgICogQHJldHVybnMgYSBEcmF3IENvbnRyb2xcclxuICAgKi9cclxuICBjcmVhdGVEcmF3Q29udHJvbChcclxuICAgIGZpbGxDb2xvcj86IHN0cmluZyxcclxuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nLFxyXG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXJcclxuICApIHtcclxuICAgIGNvbnN0IGRyYXdDb250cm9sID0gbmV3IERyYXdDb250cm9sKHtcclxuICAgICAgZ2VvbWV0cnlUeXBlOiB1bmRlZmluZWQsXHJcbiAgICAgIGRyYXdpbmdMYXllclNvdXJjZTogdGhpcy5vbERyYXdpbmdMYXllclNvdXJjZSxcclxuICAgICAgZHJhd2luZ0xheWVyU3R5bGU6IG5ldyBPbFN0eWxlLlN0eWxlKHt9KSxcclxuICAgICAgaW50ZXJhY3Rpb25TdHlsZTogY3JlYXRlSW50ZXJhY3Rpb25TdHlsZShcclxuICAgICAgICBmaWxsQ29sb3IsXHJcbiAgICAgICAgc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgc3Ryb2tlV2lkdGhcclxuICAgICAgKVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZHJhd0NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgbmV3IGdlb21ldHJ5IHR5cGVcclxuICAgKiBAcGFyYW0gZ2VvbWV0cnlUeXBlIHRoZSBnZW9tZXRyeSB0eXBlIHNlbGVjdGVkIGJ5IHRoZSB1c2VyXHJcbiAgICovXHJcbiAgb25HZW9tZXRyeVR5cGVDaGFuZ2UoZ2VvbWV0cnlUeXBlOiB0eXBlb2YgT2xHZW9tZXRyeVR5cGUpIHtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuc2V0R2VvbWV0cnlUeXBlKGdlb21ldHJ5VHlwZSk7XHJcbiAgICB0aGlzLnRvZ2dsZURyYXdDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBpbml0aWFsaXphdGlvbiwgaW5jbHVkaW5nIGRyYXdpbmcgbGF5ZXIgY3JlYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIGluaXRTdG9yZSgpIHtcclxuICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKHRoaXMub2xEcmF3aW5nTGF5ZXIpO1xyXG4gICAgdGhpcy5vbERyYXdpbmdMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgaWQ6ICdpZ28tZHJhdy1sYXllcicsXHJcbiAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcmF3LmRyYXdpbmcnKSxcclxuICAgICAgekluZGV4OiAyMDAsXHJcbiAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICAgIHN0eWxlOiAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuY3JlYXRlRHJhd2luZ0xheWVyU3R5bGUoXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgcmVzb2x1dGlvbixcclxuICAgICAgICAgIHRoaXMubGFiZWxzQXJlU2hvd24sXHJcbiAgICAgICAgICB0aGlzLmljb25cclxuICAgICAgICApO1xyXG4gICAgICB9LFxyXG4gICAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXHJcbiAgICAgIGV4cG9ydGFibGU6IHRydWUsXHJcbiAgICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICAgIHdvcmtzcGFjZToge1xyXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJ5QmluZFN0b3JlTGF5ZXIodGhpcy5zdG9yZSwgdGhpcy5vbERyYXdpbmdMYXllcik7XHJcbiAgICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgIHRoaXMuc3RvcmUsXHJcbiAgICAgIG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdHJ5QWRkU2VsZWN0aW9uU3RyYXRlZ3koXHJcbiAgICAgIHRoaXMuc3RvcmUsXHJcbiAgICAgIG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XHJcbiAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZSxcclxuICAgICAgICBtYW55OiB0cnVlXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RvcmUuc291cmNlLm9sLm9uKFxyXG4gICAgICAncmVtb3ZlZmVhdHVyZScsXHJcbiAgICAgIChldmVudDogT2xWZWN0b3JTb3VyY2VFdmVudDxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBldmVudC5mZWF0dXJlLmdldEdlb21ldHJ5KCk7XHJcbiAgICAgICAgdGhpcy5jbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLnB1c2goXHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgICAgLm1hbnlCeSQoKHJlY29yZDogRW50aXR5UmVjb3JkPEZlYXR1cmVXaXRoRHJhdz4pID0+IHtcclxuICAgICAgICAgIHJldHVybiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWU7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHNraXAoMSkgLy8gU2tpcCBpbml0aWFsIGVtaXNzaW9uXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlY29yZHM6IEVudGl0eVJlY29yZDxGZWF0dXJlV2l0aERyYXc+W10pID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyQubmV4dChyZWNvcmRzLm1hcCgocmVjb3JkKSA9PiByZWNvcmQuZW50aXR5KSk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkJC5wdXNoKFxyXG4gICAgICB0aGlzLnN0b3JlLmNvdW50JC5zdWJzY3JpYmUoKGNudCkgPT4ge1xyXG4gICAgICAgIGNudCA+PSAxXHJcbiAgICAgICAgICA/ICh0aGlzLnN0b3JlLmxheWVyLm9wdGlvbnMuc2hvd0luTGF5ZXJMaXN0ID0gdHJ1ZSlcclxuICAgICAgICAgIDogKHRoaXMuc3RvcmUubGF5ZXIub3B0aW9ucy5zaG93SW5MYXllckxpc3QgPSBmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgY29sb3IgaW4gYSBjb2xvciBwaWNrZXJcclxuICAgKiBAcGFyYW0gbGFiZWxzQXJlU2hvd24gd2hldGVyIHRoZSBsYWJlbHMgYXJlIHNob3duIG9yIG5vdFxyXG4gICAqIEBwYXJhbSBpc0FuSWNvbiB3aGV0ZXIgdGhlIGZlYXR1cmUgaXMgYW4gaWNvbiBvciBub3RcclxuICAgKi9cclxuICBvbkNvbG9yQ2hhbmdlKGxhYmVsc0FyZVNob3duOiBib29sZWFuLCBpc0FuSWNvbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5maWxsRm9ybSA9IHRoaXMuZmlsbENvbG9yO1xyXG4gICAgdGhpcy5zdHJva2VGb3JtID0gdGhpcy5zdHJva2VDb2xvcjtcclxuICAgIHRoaXMuZHJhd1N0eWxlU2VydmljZS5zZXRGaWxsQ29sb3IodGhpcy5maWxsQ29sb3IpO1xyXG4gICAgdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLnNldFN0cm9rZUNvbG9yKHRoaXMuc3Ryb2tlQ29sb3IpO1xyXG5cclxuICAgIGlmIChpc0FuSWNvbikge1xyXG4gICAgICB0aGlzLnN0b3JlLmxheWVyLm9sLnNldFN0eWxlKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhd1N0eWxlU2VydmljZS5jcmVhdGVEcmF3aW5nTGF5ZXJTdHlsZShcclxuICAgICAgICAgIGZlYXR1cmUsXHJcbiAgICAgICAgICByZXNvbHV0aW9uLFxyXG4gICAgICAgICAgbGFiZWxzQXJlU2hvd24sXHJcbiAgICAgICAgICB0aGlzLmljb25cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pY29uID0gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZS5sYXllci5vbC5zZXRTdHlsZSgoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuY3JlYXRlRHJhd2luZ0xheWVyU3R5bGUoXHJcbiAgICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgICAgcmVzb2x1dGlvbixcclxuICAgICAgICAgIGxhYmVsc0FyZVNob3duXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNyZWF0ZURyYXdDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciB0b2dnbGVzIHRoZSBEcmF3IGNvbnRyb2wgaXMgdG9nZ2xlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlRHJhd0NvbnRyb2wodG9nZ2xlSXNDaGVja2VkOiBib29sZWFuKSB7XHJcbiAgICB0b2dnbGVJc0NoZWNrZWQgPyB0aGlzLnRvZ2dsZURyYXdDb250cm9sKCkgOiB0aGlzLmRlYWN0aXZhdGVEcmF3Q29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgdGhlIGNvcnJlY3QgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdG9nZ2xlRHJhd0NvbnRyb2woKSB7XHJcbiAgICB0aGlzLmRlYWN0aXZhdGVEcmF3Q29udHJvbCgpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZURyYXdDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVuIGEgZGlhbG9nIGJveCB0byBlbnRlciBsYWJlbCBhbmQgZG8gc29tZXRoaW5nXHJcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgZ2VvbWV0cnkgYXQgZHJhdyBlbmQgb3Igc2VsZWN0ZWQgZ2VvbWV0cnlcclxuICAgKiBAcGFyYW0gZHJhd0VuZCBldmVudCBmaXJlZCBhdCBkcmF3RW5kP1xyXG4gICAqL1xyXG4gIHByaXZhdGUgb3BlbkRpYWxvZyhvbEdlb21ldHJ5RmVhdHVyZSwgaXNEcmF3RW5kOiBib29sZWFuKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gb3BlbiB0aGUgZGlhbG9nIGJveCB1c2VkIHRvIGVudGVyIGxhYmVsXHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRHJhd1BvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcclxuICAgICAgICBkYXRhOiB7IGN1cnJlbnRMYWJlbDogb2xHZW9tZXRyeUZlYXR1cmUuZ2V0KCdkcmF3JykgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIHdoZW4gZGlhbG9nIGJveCBpcyBjbG9zZWQsIGdldCBsYWJlbCBhbmQgc2V0IGl0IHRvIGdlb21ldHJ5XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIC8vIGNoZWNrcyBpZiB0aGUgdXNlciBjbGlja2VkIG9rXHJcbiAgICAgICAgaWYgKGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jb25maXJtRmxhZykge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVMYWJlbE9mT2xHZW9tZXRyeShvbEdlb21ldHJ5RmVhdHVyZSwgbGFiZWwpO1xyXG4gICAgICAgICAgLy8gaWYgZXZlbnQgd2FzIGZpcmVkIGF0IGRyYXcgZW5kXHJcbiAgICAgICAgICBpZiAoaXNEcmF3RW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25EcmF3RW5kKG9sR2VvbWV0cnlGZWF0dXJlKTtcclxuICAgICAgICAgICAgLy8gaWYgZXZlbnQgd2FzIGZpcmVkIGF0IHNlbGVjdFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vblNlbGVjdERyYXcob2xHZW9tZXRyeUZlYXR1cmUsIGxhYmVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gZGVsZXRlcyB0aGUgZmVhdHVyZVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vbERyYXdpbmdMYXllclNvdXJjZVxyXG4gICAgICAgICAgICAuZ2V0RmVhdHVyZXMoKVxyXG4gICAgICAgICAgICAuZm9yRWFjaCgoZHJhd2luZ0xheWVyRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gZHJhd2luZ0xheWVyRmVhdHVyZS5nZXRHZW9tZXRyeSgpIGFzIGFueTtcclxuICAgICAgICAgICAgICBpZiAob2xHZW9tZXRyeUZlYXR1cmUgPT09IGdlb21ldHJ5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9sRHJhd2luZ0xheWVyU291cmNlLnJlbW92ZUZlYXR1cmUoZHJhd2luZ0xheWVyRmVhdHVyZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIGEgZ2l2ZW4gY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWN0aXZhdGVEcmF3Q29udHJvbCgpIHtcclxuICAgIHRoaXMuZHJhd0NvbnRyb2xJc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmRyYXdDb250cm9sSXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5kcmF3RW5kJCQgPSB0aGlzLmRyYXdDb250cm9sLmVuZCQuc3Vic2NyaWJlKFxyXG4gICAgICAob2xHZW9tZXRyeTogT2xHZW9tZXRyeSkgPT4ge1xyXG4gICAgICAgIHRoaXMub3BlbkRpYWxvZyhvbEdlb21ldHJ5LCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmRyYXdDb250cm9sLm1vZGlmeSQuc3Vic2NyaWJlKChvbEdlb21ldHJ5OiBPbEdlb21ldHJ5KSA9PiB7XHJcbiAgICAgIHRoaXMub25Nb2RpZnlEcmF3KG9sR2VvbWV0cnkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmRyYXdTZWxlY3QkJCkge1xyXG4gICAgICB0aGlzLmRyYXdTZWxlY3QkJCA9IHRoaXMuZHJhd0NvbnRyb2wuc2VsZWN0JC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9wZW5EaWFsb2cob2xGZWF0dXJlLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJhd0NvbnRyb2wuc2V0T2xNYXAodGhpcy5tYXAub2wsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVhY3RpdmF0ZSB0aGUgYWN0aXZlIGRyYXcgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGVhY3RpdmF0ZURyYXdDb250cm9sKCkge1xyXG4gICAgaWYgKCF0aGlzLmRyYXdDb250cm9sKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kcmF3RW5kJCQpIHtcclxuICAgICAgdGhpcy5kcmF3RW5kJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRyYXdDb250cm9sLnNldE9sTWFwKHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLmRyYXdDb250cm9sSXNBY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBkcmF3IHNvdXJjZSBhbmQgdHJhY2sgdGhlIGdlb21ldHJ5IGJlaW5nIGRyYXdcclxuICAgKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBsaW5lc3RyaW5nIG9yIHBvbHlnb25cclxuICAgKi9cclxuICBwcml2YXRlIG9uRHJhd0VuZChvbEdlb21ldHJ5OiBPbEdlb21ldHJ5LCByYWRpdXM/OiBudW1iZXIpIHtcclxuICAgIHRoaXMuYWRkRmVhdHVyZVRvU3RvcmUob2xHZW9tZXRyeSwgcmFkaXVzKTtcclxuICAgIHRoaXMuY2xlYXJMYWJlbHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSk7XHJcbiAgICB0aGlzLnN0b3JlLmxheWVyLm9sLmdldFNvdXJjZSgpLnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Nb2RpZnlEcmF3KG9sR2VvbWV0cnkpIHtcclxuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5zdG9yZS5hbGwoKTtcclxuXHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcclxuICAgICAgY29uc3QgZW50aXR5SWQgPSBlbnRpdHkucHJvcGVydGllcy5pZDtcclxuXHJcbiAgICAgIGNvbnN0IG9sR2VvbWV0cnlJZCA9IG9sR2VvbWV0cnkub2xfdWlkO1xyXG5cclxuICAgICAgaWYgKGVudGl0eUlkID09PSBvbEdlb21ldHJ5SWQpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsT2ZPbEdlb21ldHJ5KG9sR2VvbWV0cnksIGVudGl0eS5wcm9wZXJ0aWVzLmRyYXcpO1xyXG4gICAgICAgIHRoaXMucmVwbGFjZUZlYXR1cmVJblN0b3JlKGVudGl0eSwgb2xHZW9tZXRyeSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNlbGVjdERyYXcob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sIGxhYmVsOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5zdG9yZS5hbGwoKTtcclxuXHJcbiAgICBjb25zdCBvbEdlb21ldHJ5ID0gb2xGZWF0dXJlLmdldEdlb21ldHJ5KCkgYXMgYW55O1xyXG4gICAgb2xHZW9tZXRyeS5vbF91aWQgPSBvbEZlYXR1cmUuZ2V0KCdpZCcpO1xyXG5cclxuICAgIGNvbnN0IG9sR2VvbWV0cnlDb29yZGluYXRlcyA9IEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICBvbEdlb21ldHJ5LmdldENvb3JkaW5hdGVzKClbMF1cclxuICAgICk7XHJcblxyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XHJcbiAgICAgIGNvbnN0IGVudGl0eUNvb3JkaW5hdGVzID0gSlNPTi5zdHJpbmdpZnkoZW50aXR5Lmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdKTtcclxuXHJcbiAgICAgIGlmIChvbEdlb21ldHJ5Q29vcmRpbmF0ZXMgPT09IGVudGl0eUNvb3JkaW5hdGVzKSB7XHJcbiAgICAgICAgY29uc3QgcmFkOiBudW1iZXIgPSBlbnRpdHkucHJvcGVydGllcy5yYWRcclxuICAgICAgICAgID8gZW50aXR5LnByb3BlcnRpZXMucmFkXHJcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsT2ZPbEdlb21ldHJ5KG9sR2VvbWV0cnksIGxhYmVsKTtcclxuICAgICAgICB0aGlzLnJlcGxhY2VGZWF0dXJlSW5TdG9yZShlbnRpdHksIG9sR2VvbWV0cnksIHJhZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgZmVhdHVyZSB3aXRoIGRyYXcgbGFiZWwgdG8gdGhlIHN0b3JlLiBUaGUgbG9hZGluZyBzdHJhZ2VneSBvZiB0aGUgc3RvcmVcclxuICAgKiB3aWxsIHRyaWdnZXIgYW5kIGFkZCB0aGUgZmVhdHVyZSB0byB0aGUgbWFwLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRmVhdHVyZVRvU3RvcmUoXHJcbiAgICBvbEdlb21ldHJ5LFxyXG4gICAgcmFkaXVzPzogbnVtYmVyLFxyXG4gICAgZmVhdHVyZT86IEZlYXR1cmVXaXRoRHJhd1xyXG4gICkge1xyXG4gICAgbGV0IHJhZDogbnVtYmVyO1xyXG4gICAgbGV0IGNlbnRlcjQzMjY6IEFycmF5PG51bWJlcj47XHJcbiAgICBsZXQgcG9pbnQ0MzI2OiBBcnJheTxudW1iZXI+O1xyXG4gICAgbGV0IGxvbjQzMjY6IG51bWJlcjtcclxuICAgIGxldCBsYXQ0MzI2OiBudW1iZXI7XHJcbiAgICBjb25zdCBmZWF0dXJlSWQgPSBmZWF0dXJlID8gZmVhdHVyZS5wcm9wZXJ0aWVzLmlkIDogb2xHZW9tZXRyeS5vbF91aWQ7XHJcbiAgICBjb25zdCBwcm9qZWN0aW9uID0gdGhpcy5tYXAub2wuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKTtcclxuXHJcbiAgICBjb25zdCBnZW9tZXRyeSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KG9sR2VvbWV0cnksIHtcclxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb24sXHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXHJcbiAgICB9KSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbENpcmNsZSB8fCByYWRpdXMpIHtcclxuICAgICAgaWYgKHJhZGl1cykge1xyXG4gICAgICAgIHJhZCA9IHJhZGl1cztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBnZW9tZXRyeS50eXBlID0gJ1BvaW50JztcclxuICAgICAgICBnZW9tZXRyeS5jb29yZGluYXRlcyA9IG9sR2VvbWV0cnkuZ2V0Q2VudGVyKCk7XHJcbiAgICAgICAgY29uc3QgZXh0ZW50NDMyNiA9IHRyYW5zZm9ybShcclxuICAgICAgICAgIFtcclxuICAgICAgICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKVsyXSxcclxuICAgICAgICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKVszXVxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgICAgICAnRVBTRzo0MzI2J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgY2VudGVyNDMyNiA9IHRyYW5zZm9ybShcclxuICAgICAgICAgIFtcclxuICAgICAgICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKVswXSxcclxuICAgICAgICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKVsxXVxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgICAgICAnRVBTRzo0MzI2J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgbG9uNDMyNiA9IGNlbnRlcjQzMjZbMF07XHJcbiAgICAgICAgbGF0NDMyNiA9IGNlbnRlcjQzMjZbMV07XHJcbiAgICAgICAgcmFkID0gZ2V0RGlzdGFuY2UoY2VudGVyNDMyNiwgZXh0ZW50NDMyNik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAob2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sUG9pbnQpIHtcclxuICAgICAgcG9pbnQ0MzI2ID0gdHJhbnNmb3JtKFxyXG4gICAgICAgIG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCksXHJcbiAgICAgICAgcHJvamVjdGlvbixcclxuICAgICAgICAnRVBTRzo0MzI2J1xyXG4gICAgICApO1xyXG4gICAgICBsb240MzI2ID0gcG9pbnQ0MzI2WzBdO1xyXG4gICAgICBsYXQ0MzI2ID0gcG9pbnQ0MzI2WzFdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcclxuICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgZ2VvbWV0cnksXHJcbiAgICAgIHByb2plY3Rpb246IHByb2plY3Rpb24uZ2V0Q29kZSgpLFxyXG4gICAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgaWQ6IGZlYXR1cmVJZCxcclxuICAgICAgICBkcmF3OiBvbEdlb21ldHJ5LmdldCgnX2xhYmVsJyksXHJcbiAgICAgICAgbG9uZ2l0dWRlOiBsb240MzI2ID8gbG9uNDMyNiA6IG51bGwsXHJcbiAgICAgICAgbGF0aXR1ZGU6IGxhdDQzMjYgPyBsYXQ0MzI2IDogbnVsbCxcclxuICAgICAgICByYWQ6IHJhZCA/IHJhZCA6IG51bGxcclxuICAgICAgfSxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGlkOiBmZWF0dXJlSWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXBsYWNlIHRoZSBmZWF0dXJlIGluIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIGVudGl0eSB0byByZXBsYWNlXHJcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgdGhlIG5ldyBnZW9tZXRyeSB0byBpbnNlcnQgaW4gdGhlIHN0b3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXBsYWNlRmVhdHVyZUluU3RvcmUoXHJcbiAgICBlbnRpdHksXHJcbiAgICBvbEdlb21ldHJ5OiBPbEdlb21ldHJ5LFxyXG4gICAgcmFkaXVzPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLnN0b3JlLmRlbGV0ZShlbnRpdHkpO1xyXG4gICAgdGhpcy5vbkRyYXdFbmQob2xHZW9tZXRyeSwgcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIGZpbGw6IFsnJ10sXHJcbiAgICAgIHN0cm9rZTogWycnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVEcmF3aW5ncygpIHtcclxuICAgIHRoaXMuc3RvcmUuZGVsZXRlTWFueSh0aGlzLnNlbGVjdGVkRmVhdHVyZXMkLnZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyQudmFsdWUuZm9yRWFjaCgoc2VsZWN0ZWRGZWF0dXJlKSA9PiB7XHJcbiAgICAgIHRoaXMub2xEcmF3aW5nTGF5ZXJTb3VyY2UuZ2V0RmVhdHVyZXMoKS5mb3JFYWNoKChkcmF3aW5nTGF5ZXJGZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBkcmF3aW5nTGF5ZXJGZWF0dXJlLmdldEdlb21ldHJ5KCkgYXMgYW55O1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEZlYXR1cmUucHJvcGVydGllcy5pZCA9PT0gZ2VvbWV0cnkub2xfdWlkKSB7XHJcbiAgICAgICAgICB0aGlzLm9sRHJhd2luZ0xheWVyU291cmNlLnJlbW92ZUZlYXR1cmUoZHJhd2luZ0xheWVyRmVhdHVyZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHRvb2x0aXBzIG9mIGFuIE9MIGdlb21ldHJ5XHJcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgZ2VvbWV0cnkgd2l0aCB0b29sdGlwc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJMYWJlbHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSkge1xyXG4gICAgZ2V0VG9vbHRpcHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSkuZm9yRWFjaChcclxuICAgICAgKG9sVG9vbHRpcDogT2xPdmVybGF5IHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICAgICAgaWYgKG9sVG9vbHRpcCAmJiBvbFRvb2x0aXAuZ2V0TWFwKCkpIHtcclxuICAgICAgICAgIHRoaXMubWFwLm9sLnJlbW92ZU92ZXJsYXkob2xUb29sdGlwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciB0b2dnbGVzIHRoZSBsYWJlbHMgdG9nZ2xlXHJcbiAgICovXHJcbiAgb25Ub2dnbGVMYWJlbHMoKSB7XHJcbiAgICB0aGlzLmRyYXdTdHlsZVNlcnZpY2UudG9nZ2xlTGFiZWxzQXJlU2hvd24oKTtcclxuICAgIHRoaXMubGFiZWxzQXJlU2hvd24gPSAhdGhpcy5sYWJlbHNBcmVTaG93bjtcclxuICAgIHRoaXMuaWNvblxyXG4gICAgICA/IHRoaXMub25Db2xvckNoYW5nZSh0aGlzLmxhYmVsc0FyZVNob3duLCB0cnVlKVxyXG4gICAgICA6IHRoaXMub25Db2xvckNoYW5nZSh0aGlzLmxhYmVsc0FyZVNob3duLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIGxhYmVsIG9mIGEgZ2VvbWV0cnkgd2hlbiBhIGxhYmVsIGlzIGVudGVyZWQgaW4gYSBkaWFsb2cgYm94XHJcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgdGhlIGdlb21ldHJ5XHJcbiAgICogQHBhcmFtIGxhYmVsIHRoZSBsYWJlbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTGFiZWxPZk9sR2VvbWV0cnkob2xHZW9tZXRyeTogT2xHZW9tZXRyeSwgbGFiZWw6IHN0cmluZykge1xyXG4gICAgb2xHZW9tZXRyeS5zZXRQcm9wZXJ0aWVzKFxyXG4gICAgICB7XHJcbiAgICAgICAgX2xhYmVsOiBsYWJlbFxyXG4gICAgICB9LFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25JY29uQ2hhbmdlKGV2ZW50Pykge1xyXG4gICAgdGhpcy5pY29uID0gZXZlbnQ7XHJcbiAgICB0aGlzLmRyYXdTdHlsZVNlcnZpY2Uuc2V0SWNvbih0aGlzLmljb24pO1xyXG4gICAgdGhpcy5zdG9yZS5sYXllci5vbC5zZXRTdHlsZSgoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmNyZWF0ZURyYXdpbmdMYXllclN0eWxlKFxyXG4gICAgICAgIGZlYXR1cmUsXHJcbiAgICAgICAgcmVzb2x1dGlvbixcclxuICAgICAgICB0cnVlLFxyXG4gICAgICAgIHRoaXMuaWNvblxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2hvcmN1dHNEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKERyYXdTaG9yY3V0c0NvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBkb3VibGUtY2xpY2tzIHRoZSBzZWxlY3RlZCBkcmF3aW5nXHJcbiAgICovXHJcbiAgZWRpdExhYmVsRHJhd2luZygpIHtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBmZWF0dXJlVG9PbChcclxuICAgICAgdGhpcy5zZWxlY3RlZEZlYXR1cmVzJC52YWx1ZVswXSxcclxuICAgICAgdGhpcy5tYXAub2wuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKS5nZXRDb2RlKClcclxuICAgICk7XHJcbiAgICB0aGlzLm9wZW5EaWFsb2cob2xHZW9tZXRyeSwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgZm9udCBzaXplIG9yL2FuZCBzdHlsZVxyXG4gICAqIEBwYXJhbSBsYWJlbHNBcmVTaG93biB3aGV0ZXIgdGhlIGxhYmVscyBhcmUgc2hvd24gb3Igbm90XHJcbiAgICogQHBhcmFtIHNpemUgdGhlIHNpemUgb2YgdGhlIGZvbnRcclxuICAgKiBAcGFyYW0gc3R5bGUgdGhlIHN0eWxlIG9mIHRoZSBmb250XHJcbiAgICovXHJcblxyXG4gIG9uRm9udENoYW5nZShsYWJlbHNBcmVTaG93bjogYm9vbGVhbiwgc2l6ZTogc3RyaW5nLCBzdHlsZTogRm9udFR5cGUpIHtcclxuICAgIHRoaXMuZHJhd1N0eWxlU2VydmljZS5zZXRGb250U2l6ZShzaXplKTtcclxuICAgIHRoaXMuZHJhd1N0eWxlU2VydmljZS5zZXRGb250U3R5bGUoc3R5bGUpO1xyXG5cclxuICAgIHRoaXMuc3RvcmUubGF5ZXIub2wuc2V0U3R5bGUoKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZHJhd1N0eWxlU2VydmljZS5jcmVhdGVEcmF3aW5nTGF5ZXJTdHlsZShcclxuICAgICAgICBmZWF0dXJlLFxyXG4gICAgICAgIHJlc29sdXRpb24sXHJcbiAgICAgICAgbGFiZWxzQXJlU2hvd25cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jcmVhdGVEcmF3Q29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFsbEZvbnRTdHlsZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRm9udFR5cGUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJnZW9tZXRyeS10eXBlLXRvZ2dsZSBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIChjaGFuZ2UpPVwib25HZW9tZXRyeVR5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiIFt2YWx1ZV09XCJnZW9tZXRyeVR5cGUuUG9pbnRcIj5cclxuXHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZ2VvbWV0cnlUeXBlLlBvaW50XCI+XHJcbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy4nICsgZ2VvbWV0cnlUeXBlLlBvaW50IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcblxyXG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImdlb21ldHJ5VHlwZS5MaW5lU3RyaW5nXCI+XHJcbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy4nICsgZ2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuXHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZ2VvbWV0cnlUeXBlLlBvbHlnb25cIj5cclxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LicgKyBnZW9tZXRyeVR5cGUuUG9seWdvbiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG5cclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJnZW9tZXRyeVR5cGUuQ2lyY2xlXCI+XHJcbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy4nICsgZ2VvbWV0cnlUeXBlLkNpcmNsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRyYXctb3B0aW9ucyBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgPG1hdC1zbGlkZS10b2dnbGVcclxuICAgICAgW2Rpc2FibGVkXT1cImRyYXdDb250cm9sSXNEaXNhYmxlZFwiXHJcbiAgICAgIFtjaGVja2VkXT1cImRyYXdDb250cm9sSXNBY3RpdmVcIlxyXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXHJcbiAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVEcmF3Q29udHJvbCgkZXZlbnQuY2hlY2tlZClcIj5cclxuICAgICAge3sgJ2lnby5nZW8uc3BhdGlhbEZpbHRlci5kcmF3Q29udHJvbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuXHJcbiAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICBbY2hlY2tlZF09XCJsYWJlbHNBcmVTaG93blwiXHJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcclxuICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZUxhYmVscygpXCI+XHJcbiAgICAgIHt7ICdpZ28uZ2VvLmRyYXcudG9nZ2xlTWFwVG9vbHRpcHMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxsLWNvbG9yLXBpY2tlciBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCIgc3ZnSWNvbj1cInNxdWFyZVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy5maWxsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgICBjbGFzcz1cImZpbGwtZmllbGRcIlxyXG4gICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRyYXcuY29sb3JQaWNrZXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyBmaWxsQ29sb3IgfX08L21hdC1sYWJlbD5cclxuXHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmaWxsXCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJmaWxsQ29sb3JcIlxyXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZmlsbENvbG9yXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgIFtjb2xvclBpY2tlcl09XCJmaWxsQ29sb3JcIlxyXG4gICAgICAgICAgW2NwV2lkdGhdPVwiJzIwMHB4J1wiXHJcbiAgICAgICAgICBbY3BPdXRwdXRGb3JtYXRdPVwiJ3JnYmEnXCJcclxuICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgICAgICAgIFtjcFBvc2l0aW9uT2Zmc2V0XT1cIictNzUlJ1wiXHJcbiAgICAgICAgICBbY3BDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbY3BDYW5jZWxCdXR0b25UZXh0XT1cIidpZ28uZ2VvLmRyYXcuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgIChjb2xvclBpY2tlckNoYW5nZSk9XCJvbkNvbG9yQ2hhbmdlKGxhYmVsc0FyZVNob3duLCBmYWxzZSlcIi8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlLWNvbG9yLXBpY2tlciBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCIgc3ZnSWNvbj1cInNxdWFyZS1vdXRsaW5lXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LnN0cm9rZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICAgICAgY2xhc3M9XCJzdHJva2UtZmllbGRcIlxyXG4gICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcclxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmRyYXcuY29sb3JQaWNrZXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyBzdHJva2VDb2xvciB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3Ryb2tlXCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJzdHJva2VDb2xvclwiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJzdHJva2VDb2xvclwiXHJcbiAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbY29sb3JQaWNrZXJdPVwic3Ryb2tlQ29sb3JcIlxyXG4gICAgICAgICAgW2NwV2lkdGhdPVwiJzIwMHB4J1wiXHJcbiAgICAgICAgICBbY3BQb3NpdGlvbl09XCInYm90dG9tJ1wiXHJcbiAgICAgICAgICBbY3BQb3NpdGlvbk9mZnNldF09XCInLTc1JSdcIlxyXG4gICAgICAgICAgW2NwT3V0cHV0Rm9ybWF0XT1cIidyZ2JhJ1wiXHJcbiAgICAgICAgICBbY3BDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbY3BDYW5jZWxCdXR0b25UZXh0XT1cIidpZ28uZ2VvLmRyYXcuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgIChjb2xvclBpY2tlckNoYW5nZSk9XCJvbkNvbG9yQ2hhbmdlKGxhYmVsc0FyZVNob3duLCBmYWxzZSlcIj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImljb25zLmxlbmd0aCA+PSAxXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5kcmF3Lmljb24nIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwiYm94XCI+XHJcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJ7eyBpY29uIH19XCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlwiIChjbGljayk9XCJvbkljb25DaGFuZ2UoKVwiPnt7ICdpZ28uZ2VvLmRyYXcubm9JY29uJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpY29uX2h0bWwgb2YgaWNvbnNcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiaWNvbl9odG1sXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSWNvbkNoYW5nZShpY29uX2h0bWwpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3hcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cInt7IGljb25faHRtbCB9fVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcblxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tZm9udFwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJpZ28tZm9ybS1mb250U2l6ZVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLmRyYXcuZm9udFNpemUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgI3Rlc3RGb250U2l6ZVxyXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiMTBcIlxyXG4gICAgICAgIG1pbj1cIjEwXCJcclxuICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gNjlcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJmb250U2l6ZVwiXHJcbiAgICAgICAgKGlucHV0KT1cIlxyXG4gICAgICAgICAgb25Gb250Q2hhbmdlKFxyXG4gICAgICAgICAgICBsYWJlbHNBcmVTaG93bixcclxuICAgICAgICAgICAgJGV2ZW50LnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgICAgdGVzdEZvbnRTdHlsZS52YWx1ZVxyXG4gICAgICAgICAgKVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxzcGFuIG1hdFN1ZmZpeD5weDwvc3Bhbj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cImlnby1mb3JtLWZvbnRTdHlsZVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLmRyYXcuZm9udFN0eWxlJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICN0ZXN0Rm9udFN0eWxlXHJcbiAgICAgICAgW3ZhbHVlXT1cImZvbnRTdHlsZVwiXHJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkZvbnRDaGFuZ2UobGFiZWxzQXJlU2hvd24sIHRlc3RGb250U2l6ZS52YWx1ZSwgJGV2ZW50LnZhbHVlKVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZm9udFNlbGVjdCBvZiBhbGxGb250U3R5bGVzXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJmb250U2VsZWN0XCI+XHJcbiAgICAgICAgICB7eyBmb250U2VsZWN0IH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInN0b3JlLmNvdW50JC5nZXRWYWx1ZSgpID4gMFwiXHJcbiAgICAgIGNsYXNzPVwiZGVsZXRlQnRuXCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kcmF3LmRlbGV0ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiKHNlbGVjdGVkRmVhdHVyZXMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgIChjbGljayk9XCJkZWxldGVEcmF3aW5ncygpXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxpZ28tZW50aXR5LXRhYmxlXHJcbiAgICAgICN0YWJsZVxyXG4gICAgICBjbGFzcz1cInRhYmxlLWNvbXBhY3RcIlxyXG4gICAgICBbc3RvcmVdPVwic3RvcmVcIlxyXG4gICAgICBbdGVtcGxhdGVdPVwidGFibGVUZW1wbGF0ZVwiXHJcbiAgICAgIChkYmxjbGljayk9XCJlZGl0TGFiZWxEcmF3aW5nKClcIj5cclxuICAgIDwvaWdvLWVudGl0eS10YWJsZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiXHJcbiAgICAoY2xpY2spPVwib3BlblNob3JjdXRzRGlhbG9nKClcIj5cclxuICAgIDxtYXQtaWNvblxyXG4gICAgICBjbGFzcz1cInNob3J0Y3V0cy1pY29uXCJcclxuICAgICAgc3ZnSWNvbj1cImtleWJvYXJkLW91dGxpbmVcIlxyXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZHJhdy5zaG9ydGN1dHMnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
714
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsNkJBQTZCLEVBQzdCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdsRSxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFcEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFJMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdC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QUFBLHdCQUFBLHFFQUFBLG9CQUFBO1FBa0I3QixlQUNGO1FBREUsOEVBQ0Y7UUFRRSxlQUFxRDtRQUFyRCwrRUFBcUQ7UUFDMUMsZUFBaUI7UUFBakIscUNBQWlCO1FBTTFCLGVBQWdDO1FBQWhDLDZDQUFnQztRQURoQyw2Q0FBNkIsa0JBQUEsZ0NBQUEsb0JBQUEsd0JBQUEsNEJBQUEsMEJBQUEsd0JBQUEscUVBQUEsb0JBQUE7UUFnQmhCLGVBQXVCO1FBQXZCLDRDQUF1QjtRQXlCN0IsZUFBeUM7UUFBekMscUVBQXlDO1FBUWxELGVBQWtCO1FBQWxCLG9DQUFrQjtRQVdULGVBQTBDO1FBQTFDLHNFQUEwQztRQUduRCxlQUFtQjtRQUFuQixxQ0FBbUI7UUFHTSxlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFXMUMsZUFBaUM7UUFBakMsc0RBQWlDO1FBZWxDLGVBQWU7UUFBZixpQ0FBZSwrQkFBQTtRQWdCZixlQUFtRDtRQUFuRCw2RUFBbUQ7O3VGRDdJNUMsYUFBYTtjQU56QixTQUFTOzJCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTt3TEF1QnJDLFNBQVM7a0JBQWxCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUVHLFFBQVE7a0JBQWpCLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNO1lBQ0UsUUFBUTtrQkFBaEIsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBGRUFUVVJFLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5LFxuICB0cnlCaW5kU3RvcmVMYXllcixcbiAgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5LFxuICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneSxcbiAgRmVhdHVyZU1vdGlvbixcbiAgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5LFxuICBmZWF0dXJlVG9PbFxufSBmcm9tICcuLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRm9udFR5cGUsIEdlb21ldHJ5VHlwZSB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LmVudW0nO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyYXcsIEZlYXR1cmVXaXRoRHJhdyB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWZWN0b3JTb3VyY2VFdmVudCBhcyBPbFZlY3RvclNvdXJjZUV2ZW50IH0gZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcbmltcG9ydCB7IERyYXdDb250cm9sIH0gZnJvbSAnLi4vLi4vZ2VvbWV0cnkvc2hhcmVkL2NvbnRyb2xzL2RyYXcnO1xuaW1wb3J0IHsgRW50aXR5UmVjb3JkLCBFbnRpdHlUYWJsZVRlbXBsYXRlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0ICogYXMgT2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgT2xWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xuaW1wb3J0IE9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XG5pbXBvcnQgT2xPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xuaW1wb3J0IHR5cGUgeyBUeXBlIH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCB7IGdldERpc3RhbmNlIH0gZnJvbSAnb2wvc3BoZXJlJztcbmltcG9ydCB7IERyYXdTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy1zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEcmF3UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RyYXctcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IERyYXdTaG9yY3V0c0NvbXBvbmVudCB9IGZyb20gJy4vZHJhdy1zaG9yY3V0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0VG9vbHRpcHNPZk9sR2VvbWV0cnkgfSBmcm9tICcuLi8uLi9tZWFzdXJlL3NoYXJlZC9tZWFzdXJlLnV0aWxzJztcbmltcG9ydCB7IGNyZWF0ZUludGVyYWN0aW9uU3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvZHJhdy51dGlscyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IERyYXdJY29uU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9kcmF3LWljb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1kcmF3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcmF3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERyYXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUYWJsZSB0ZW1wbGF0ZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyB0YWJsZVRlbXBsYXRlOiBFbnRpdHlUYWJsZVRlbXBsYXRlID0ge1xuICAgIHNlbGVjdGlvbjogdHJ1ZSxcbiAgICBzZWxlY3RNYW55OiB0cnVlLFxuICAgIHNlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgIHNvcnQ6IHRydWUsXG4gICAgY29sdW1uczogW3tcbiAgICAgICAgbmFtZTogJ0RyYXdpbmcnLFxuICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJhdy5sYWJlbHMnKSxcbiAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGZlYXR1cmU6IEZlYXR1cmVXaXRoRHJhdykgPT4ge1xuICAgICAgICAgIHJldHVybiBmZWF0dXJlLnByb3BlcnRpZXMuZHJhdztcbiAgICAgICAgfVxuICAgICAgfV1cbiAgfTtcblxuICBwdWJsaWMgZ2VvbWV0cnlUeXBlID0gR2VvbWV0cnlUeXBlOyAvLyBSZWZlcmVuY2UgdG8gdGhlIEdlb21ldHJ5VHlwZSBlbnVtXG5cbiAgQE91dHB1dCgpIGZpbGxDb2xvcjogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3Ryb2tlQ29sb3I6IHN0cmluZztcbiAgQE91dHB1dCgpIHN0cm9rZVdpZHRoOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIGZvbnRTaXplOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBmb250U3R5bGU6IHN0cmluZztcbiAgQElucHV0KCkgZm9udFR5cGU6IEZvbnRUeXBlO1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwOyAvLyBNYXAgdG8gZHJhdyBvblxuXG4gIEBJbnB1dCgpIHN0b3JlOiBGZWF0dXJlU3RvcmU8RmVhdHVyZVdpdGhEcmF3PjsgLy8gRHJhd2luZyBzdG9yZVxuXG4gIHB1YmxpYyBkcmF3JDogQmVoYXZpb3JTdWJqZWN0PERyYXc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7IC8vIE9ic2VydmFibGUgb2YgZHJhd1xuXG4gIHByaXZhdGUgb2xEcmF3aW5nTGF5ZXJTb3VyY2UgPSBuZXcgT2xWZWN0b3JTb3VyY2UoKTtcbiAgcHJpdmF0ZSBkcmF3Q29udHJvbDogRHJhd0NvbnRyb2w7XG4gIHByaXZhdGUgZHJhd0VuZCQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZHJhd1NlbGVjdCQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb2xEcmF3aW5nTGF5ZXI6IFZlY3RvckxheWVyO1xuICBwdWJsaWMgc2VsZWN0ZWRGZWF0dXJlcyQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlV2l0aERyYXdbXT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICBwdWJsaWMgZmlsbEZvcm06IHN0cmluZztcbiAgcHVibGljIHN0cm9rZUZvcm06IHN0cmluZztcbiAgcHVibGljIGRyYXdDb250cm9sSXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBkcmF3Q29udHJvbElzQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBsYWJlbHNBcmVTaG93bjogYm9vbGVhbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgcHVibGljIGZvbnRTaXplRm9ybTogc3RyaW5nO1xuICBwdWJsaWMgZm9udFN0eWxlRm9ybTogc3RyaW5nO1xuICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdib3R0b20nO1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGljb25zOiBBcnJheTxzdHJpbmc+O1xuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZHJhd1N0eWxlU2VydmljZTogRHJhd1N0eWxlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZHJhd0ljb25TZXJ2aWNlOiBEcmF3SWNvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmZpbGxDb2xvciA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRGaWxsQ29sb3IoKTtcbiAgICB0aGlzLnN0cm9rZUNvbG9yID0gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldFN0cm9rZUNvbG9yKCk7XG4gICAgdGhpcy5zdHJva2VXaWR0aCA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRTdHJva2VXaWR0aCgpO1xuICAgIHRoaXMubGFiZWxzQXJlU2hvd24gPSB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0TGFiZWxzQXJlU2hvd24oKTtcbiAgICB0aGlzLmljb25zID0gdGhpcy5kcmF3SWNvblNlcnZpY2UuZ2V0SWNvbnMoKTtcbiAgICB0aGlzLmljb24gPSB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0SWNvbigpO1xuXG4gICAgdGhpcy5mb250U2l6ZSA9IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRGb250U2l6ZSgpO1xuICAgIHRoaXMuZm9udFN0eWxlID0gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldEZvbnRTdHlsZSgpO1xuICB9XG5cbiAgLy8gSW5pdGlhbGl6ZSB0aGUgc3RvcmUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGVudGl0aWVzIGFuZCBjcmVhdGUgdGhlIERyYXcgY29udHJvbFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRTdG9yZSgpO1xuICAgIHRoaXMuZHJhd0NvbnRyb2wgPSB0aGlzLmNyZWF0ZURyYXdDb250cm9sKFxuICAgICAgdGhpcy5maWxsQ29sb3IsXG4gICAgICB0aGlzLnN0cm9rZUNvbG9yLFxuICAgICAgdGhpcy5zdHJva2VXaWR0aFxuICAgICk7XG4gICAgdGhpcy5kcmF3Q29udHJvbC5zZXRHZW9tZXRyeVR5cGUodGhpcy5nZW9tZXRyeVR5cGUuUG9pbnQgYXMgYW55KTtcbiAgICB0aGlzLnRvZ2dsZURyYXdDb250cm9sKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBkcmF3aW5nIGxheWVyIGFuZCB0aGUgaW50ZXJhY3Rpb25zXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kcmF3Q29udHJvbC5zZXRPbE1hcCh1bmRlZmluZWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLm1hcCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEcmF3IENvbnRyb2xcbiAgICogQHBhcmFtIGZpbGxDb2xvciB0aGUgZmlsbCBjb2xvclxuICAgKiBAcGFyYW0gc3Ryb2tlQ29sb3IgdGhlIHN0cm9rZSBjb2xvclxuICAgKiBAcGFyYW0gc3Ryb2tlV2lkdGggdGhlIHN0cm9rZSB3aWR0aFxuICAgKiBAcmV0dXJucyBhIERyYXcgQ29udHJvbFxuICAgKi9cbiAgY3JlYXRlRHJhd0NvbnRyb2woXG4gICAgZmlsbENvbG9yPzogc3RyaW5nLFxuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nLFxuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyXG4gICkge1xuICAgIGNvbnN0IGRyYXdDb250cm9sID0gbmV3IERyYXdDb250cm9sKHtcbiAgICAgIGdlb21ldHJ5VHlwZTogdW5kZWZpbmVkLFxuICAgICAgZHJhd2luZ0xheWVyU291cmNlOiB0aGlzLm9sRHJhd2luZ0xheWVyU291cmNlLFxuICAgICAgZHJhd2luZ0xheWVyU3R5bGU6IG5ldyBPbFN0eWxlLlN0eWxlKHt9KSxcbiAgICAgIGludGVyYWN0aW9uU3R5bGU6IGNyZWF0ZUludGVyYWN0aW9uU3R5bGUoXG4gICAgICAgIGZpbGxDb2xvcixcbiAgICAgICAgc3Ryb2tlQ29sb3IsXG4gICAgICAgIHN0cm9rZVdpZHRoXG4gICAgICApXG4gICAgfSk7XG4gICAgcmV0dXJuIGRyYXdDb250cm9sO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgYSBuZXcgZ2VvbWV0cnkgdHlwZVxuICAgKiBAcGFyYW0gZ2VvbWV0cnlUeXBlIHRoZSBnZW9tZXRyeSB0eXBlIHNlbGVjdGVkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICBvbkdlb21ldHJ5VHlwZUNoYW5nZShnZW9tZXRyeVR5cGU6IFR5cGUpIHtcbiAgICB0aGlzLmRyYXdDb250cm9sLnNldEdlb21ldHJ5VHlwZShnZW9tZXRyeVR5cGUpO1xuICAgIHRoaXMudG9nZ2xlRHJhd0NvbnRyb2woKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZSBpbml0aWFsaXphdGlvbiwgaW5jbHVkaW5nIGRyYXdpbmcgbGF5ZXIgY3JlYXRpb25cbiAgICovXG4gIHByaXZhdGUgaW5pdFN0b3JlKCkge1xuICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKHRoaXMub2xEcmF3aW5nTGF5ZXIpO1xuICAgIHRoaXMub2xEcmF3aW5nTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgaWQ6ICdpZ28tZHJhdy1sYXllcicsXG4gICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJhdy5kcmF3aW5nJyksXG4gICAgICB6SW5kZXg6IDIwMCxcbiAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXG4gICAgICBzdHlsZTogKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhd1N0eWxlU2VydmljZS5jcmVhdGVEcmF3aW5nTGF5ZXJTdHlsZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgICAgdGhpcy5sYWJlbHNBcmVTaG93bixcbiAgICAgICAgICB0aGlzLmljb25cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXG4gICAgICBleHBvcnRhYmxlOiB0cnVlLFxuICAgICAgYnJvd3NhYmxlOiBmYWxzZSxcbiAgICAgIHdvcmtzcGFjZToge1xuICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRyeUJpbmRTdG9yZUxheWVyKHRoaXMuc3RvcmUsIHRoaXMub2xEcmF3aW5nTGF5ZXIpO1xuICAgIHRyeUFkZExvYWRpbmdTdHJhdGVneShcbiAgICAgIHRoaXMuc3RvcmUsXG4gICAgICBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcbiAgICAgICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneShcbiAgICAgIHRoaXMuc3RvcmUsXG4gICAgICBuZXcgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3koe1xuICAgICAgICBtYXA6IHRoaXMubWFwLFxuICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZSxcbiAgICAgICAgbWFueTogdHJ1ZVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUubGF5ZXIudmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy5zdG9yZS5zb3VyY2Uub2wub24oXG4gICAgICAncmVtb3ZlZmVhdHVyZScsXG4gICAgICAoZXZlbnQ6IE9sVmVjdG9yU291cmNlRXZlbnQ8T2xHZW9tZXRyeT4pID0+IHtcbiAgICAgICAgY29uc3Qgb2xHZW9tZXRyeSA9IGV2ZW50LmZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgdGhpcy5jbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLnB1c2goXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlVmlld1xuICAgICAgICAubWFueUJ5JCgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8RmVhdHVyZVdpdGhEcmF3PikgPT4ge1xuICAgICAgICAgIHJldHVybiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNraXAoMSkgLy8gU2tpcCBpbml0aWFsIGVtaXNzaW9uXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgocmVjb3JkczogRW50aXR5UmVjb3JkPEZlYXR1cmVXaXRoRHJhdz5bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyQubmV4dChyZWNvcmRzLm1hcCgocmVjb3JkKSA9PiByZWNvcmQuZW50aXR5KSk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkJC5wdXNoKFxuICAgICAgdGhpcy5zdG9yZS5jb3VudCQuc3Vic2NyaWJlKChjbnQpID0+IHtcbiAgICAgICAgY250ID49IDFcbiAgICAgICAgICA/ICh0aGlzLnN0b3JlLmxheWVyLm9wdGlvbnMuc2hvd0luTGF5ZXJMaXN0ID0gdHJ1ZSlcbiAgICAgICAgICA6ICh0aGlzLnN0b3JlLmxheWVyLm9wdGlvbnMuc2hvd0luTGF5ZXJMaXN0ID0gZmFsc2UpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgdGhlIGNvbG9yIGluIGEgY29sb3IgcGlja2VyXG4gICAqIEBwYXJhbSBsYWJlbHNBcmVTaG93biB3aGV0ZXIgdGhlIGxhYmVscyBhcmUgc2hvd24gb3Igbm90XG4gICAqIEBwYXJhbSBpc0FuSWNvbiB3aGV0ZXIgdGhlIGZlYXR1cmUgaXMgYW4gaWNvbiBvciBub3RcbiAgICovXG4gIG9uQ29sb3JDaGFuZ2UobGFiZWxzQXJlU2hvd246IGJvb2xlYW4sIGlzQW5JY29uOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWxsRm9ybSA9IHRoaXMuZmlsbENvbG9yO1xuICAgIHRoaXMuc3Ryb2tlRm9ybSA9IHRoaXMuc3Ryb2tlQ29sb3I7XG4gICAgdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLnNldEZpbGxDb2xvcih0aGlzLmZpbGxDb2xvcik7XG4gICAgdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLnNldFN0cm9rZUNvbG9yKHRoaXMuc3Ryb2tlQ29sb3IpO1xuXG4gICAgaWYgKGlzQW5JY29uKSB7XG4gICAgICB0aGlzLnN0b3JlLmxheWVyLm9sLnNldFN0eWxlKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuY3JlYXRlRHJhd2luZ0xheWVyU3R5bGUoXG4gICAgICAgICAgZmVhdHVyZSxcbiAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgIGxhYmVsc0FyZVNob3duLFxuICAgICAgICAgIHRoaXMuaWNvblxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmljb24gPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUubGF5ZXIub2wuc2V0U3R5bGUoKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhd1N0eWxlU2VydmljZS5jcmVhdGVEcmF3aW5nTGF5ZXJTdHlsZShcbiAgICAgICAgICBmZWF0dXJlLFxuICAgICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgICAgbGFiZWxzQXJlU2hvd25cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZURyYXdDb250cm9sKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgdG9nZ2xlcyB0aGUgRHJhdyBjb250cm9sIGlzIHRvZ2dsZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZURyYXdDb250cm9sKHRvZ2dsZUlzQ2hlY2tlZDogYm9vbGVhbikge1xuICAgIHRvZ2dsZUlzQ2hlY2tlZCA/IHRoaXMudG9nZ2xlRHJhd0NvbnRyb2woKSA6IHRoaXMuZGVhY3RpdmF0ZURyYXdDb250cm9sKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgdGhlIGNvcnJlY3QgY29udHJvbFxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVEcmF3Q29udHJvbCgpIHtcbiAgICB0aGlzLmRlYWN0aXZhdGVEcmF3Q29udHJvbCgpO1xuICAgIHRoaXMuYWN0aXZhdGVEcmF3Q29udHJvbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gYSBkaWFsb2cgYm94IHRvIGVudGVyIGxhYmVsIGFuZCBkbyBzb21ldGhpbmdcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgZ2VvbWV0cnkgYXQgZHJhdyBlbmQgb3Igc2VsZWN0ZWQgZ2VvbWV0cnlcbiAgICogQHBhcmFtIGRyYXdFbmQgZXZlbnQgZmlyZWQgYXQgZHJhd0VuZD9cbiAgICovXG4gIHByaXZhdGUgb3BlbkRpYWxvZyhvbEdlb21ldHJ5RmVhdHVyZSwgaXNEcmF3RW5kOiBib29sZWFuKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBvcGVuIHRoZSBkaWFsb2cgYm94IHVzZWQgdG8gZW50ZXIgbGFiZWxcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRHJhd1BvcHVwQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgIGRhdGE6IHsgY3VycmVudExhYmVsOiBvbEdlb21ldHJ5RmVhdHVyZS5nZXQoJ2RyYXcnKSB9XG4gICAgICB9KTtcblxuICAgICAgLy8gd2hlbiBkaWFsb2cgYm94IGlzIGNsb3NlZCwgZ2V0IGxhYmVsIGFuZCBzZXQgaXQgdG8gZ2VvbWV0cnlcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xuICAgICAgICAvLyBjaGVja3MgaWYgdGhlIHVzZXIgY2xpY2tlZCBva1xuICAgICAgICBpZiAoZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNvbmZpcm1GbGFnKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVMYWJlbE9mT2xHZW9tZXRyeShvbEdlb21ldHJ5RmVhdHVyZSwgbGFiZWwpO1xuICAgICAgICAgIC8vIGlmIGV2ZW50IHdhcyBmaXJlZCBhdCBkcmF3IGVuZFxuICAgICAgICAgIGlmIChpc0RyYXdFbmQpIHtcbiAgICAgICAgICAgIHRoaXMub25EcmF3RW5kKG9sR2VvbWV0cnlGZWF0dXJlKTtcbiAgICAgICAgICAgIC8vIGlmIGV2ZW50IHdhcyBmaXJlZCBhdCBzZWxlY3RcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdERyYXcob2xHZW9tZXRyeUZlYXR1cmUsIGxhYmVsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZGVsZXRlcyB0aGUgZmVhdHVyZVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9sRHJhd2luZ0xheWVyU291cmNlXG4gICAgICAgICAgICAuZ2V0RmVhdHVyZXMoKVxuICAgICAgICAgICAgLmZvckVhY2goKGRyYXdpbmdMYXllckZlYXR1cmUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBkcmF3aW5nTGF5ZXJGZWF0dXJlLmdldEdlb21ldHJ5KCkgYXMgYW55O1xuICAgICAgICAgICAgICBpZiAob2xHZW9tZXRyeUZlYXR1cmUgPT09IGdlb21ldHJ5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbERyYXdpbmdMYXllclNvdXJjZS5yZW1vdmVGZWF0dXJlKGRyYXdpbmdMYXllckZlYXR1cmUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMjUwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBhIGdpdmVuIGNvbnRyb2xcbiAgICovXG4gIHByaXZhdGUgYWN0aXZhdGVEcmF3Q29udHJvbCgpIHtcbiAgICB0aGlzLmRyYXdDb250cm9sSXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZHJhd0NvbnRyb2xJc0FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5kcmF3RW5kJCQgPSB0aGlzLmRyYXdDb250cm9sLmVuZCQuc3Vic2NyaWJlKFxuICAgICAgKG9sR2VvbWV0cnk6IE9sR2VvbWV0cnkpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKG9sR2VvbWV0cnksIHRydWUpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRyYXdDb250cm9sLm1vZGlmeSQuc3Vic2NyaWJlKChvbEdlb21ldHJ5OiBPbEdlb21ldHJ5KSA9PiB7XG4gICAgICB0aGlzLm9uTW9kaWZ5RHJhdyhvbEdlb21ldHJ5KTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5kcmF3U2VsZWN0JCQpIHtcbiAgICAgIHRoaXMuZHJhd1NlbGVjdCQkID0gdGhpcy5kcmF3Q29udHJvbC5zZWxlY3QkLnN1YnNjcmliZShcbiAgICAgICAgKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuRGlhbG9nKG9sRmVhdHVyZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZHJhd0NvbnRyb2wuc2V0T2xNYXAodGhpcy5tYXAub2wsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgdGhlIGFjdGl2ZSBkcmF3IGNvbnRyb2xcbiAgICovXG4gIHByaXZhdGUgZGVhY3RpdmF0ZURyYXdDb250cm9sKCkge1xuICAgIGlmICghdGhpcy5kcmF3Q29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRyYXdFbmQkJCkge1xuICAgICAgdGhpcy5kcmF3RW5kJCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyYXdDb250cm9sLnNldE9sTWFwKHVuZGVmaW5lZCk7XG4gICAgdGhpcy5kcmF3Q29udHJvbElzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIGRyYXcgc291cmNlIGFuZCB0cmFjayB0aGUgZ2VvbWV0cnkgYmVpbmcgZHJhd1xuICAgKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBsaW5lc3RyaW5nIG9yIHBvbHlnb25cbiAgICovXG4gIHByaXZhdGUgb25EcmF3RW5kKG9sR2VvbWV0cnk6IE9sR2VvbWV0cnksIHJhZGl1cz86IG51bWJlcikge1xuICAgIHRoaXMuYWRkRmVhdHVyZVRvU3RvcmUob2xHZW9tZXRyeSwgcmFkaXVzKTtcbiAgICB0aGlzLmNsZWFyTGFiZWxzT2ZPbEdlb21ldHJ5KG9sR2VvbWV0cnkpO1xuICAgIHRoaXMuc3RvcmUubGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGlmeURyYXcob2xHZW9tZXRyeSkge1xuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5zdG9yZS5hbGwoKTtcblxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eSkgPT4ge1xuICAgICAgY29uc3QgZW50aXR5SWQgPSBlbnRpdHkucHJvcGVydGllcy5pZDtcblxuICAgICAgY29uc3Qgb2xHZW9tZXRyeUlkID0gb2xHZW9tZXRyeS5vbF91aWQ7XG5cbiAgICAgIGlmIChlbnRpdHlJZCA9PT0gb2xHZW9tZXRyeUlkKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTGFiZWxPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSwgZW50aXR5LnByb3BlcnRpZXMuZHJhdyk7XG4gICAgICAgIHRoaXMucmVwbGFjZUZlYXR1cmVJblN0b3JlKGVudGl0eSwgb2xHZW9tZXRyeSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2VsZWN0RHJhdyhvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiwgbGFiZWw6IHN0cmluZykge1xuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5zdG9yZS5hbGwoKTtcblxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKSBhcyBhbnk7XG4gICAgb2xHZW9tZXRyeS5vbF91aWQgPSBvbEZlYXR1cmUuZ2V0KCdpZCcpO1xuXG4gICAgY29uc3Qgb2xHZW9tZXRyeUNvb3JkaW5hdGVzID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBvbEdlb21ldHJ5LmdldENvb3JkaW5hdGVzKClbMF1cbiAgICApO1xuXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XG4gICAgICBjb25zdCBlbnRpdHlDb29yZGluYXRlcyA9IEpTT04uc3RyaW5naWZ5KGVudGl0eS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSk7XG5cbiAgICAgIGlmIChvbEdlb21ldHJ5Q29vcmRpbmF0ZXMgPT09IGVudGl0eUNvb3JkaW5hdGVzKSB7XG4gICAgICAgIGNvbnN0IHJhZDogbnVtYmVyID0gZW50aXR5LnByb3BlcnRpZXMucmFkXG4gICAgICAgICAgPyBlbnRpdHkucHJvcGVydGllcy5yYWRcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy51cGRhdGVMYWJlbE9mT2xHZW9tZXRyeShvbEdlb21ldHJ5LCBsYWJlbCk7XG4gICAgICAgIHRoaXMucmVwbGFjZUZlYXR1cmVJblN0b3JlKGVudGl0eSwgb2xHZW9tZXRyeSwgcmFkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBmZWF0dXJlIHdpdGggZHJhdyBsYWJlbCB0byB0aGUgc3RvcmUuIFRoZSBsb2FkaW5nIHN0cmFnZWd5IG9mIHRoZSBzdG9yZVxuICAgKiB3aWxsIHRyaWdnZXIgYW5kIGFkZCB0aGUgZmVhdHVyZSB0byB0aGUgbWFwLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgYWRkRmVhdHVyZVRvU3RvcmUoXG4gICAgb2xHZW9tZXRyeSxcbiAgICByYWRpdXM/OiBudW1iZXIsXG4gICAgZmVhdHVyZT86IEZlYXR1cmVXaXRoRHJhd1xuICApIHtcbiAgICBsZXQgcmFkOiBudW1iZXI7XG4gICAgbGV0IGNlbnRlcjQzMjY6IEFycmF5PG51bWJlcj47XG4gICAgbGV0IHBvaW50NDMyNjogQXJyYXk8bnVtYmVyPjtcbiAgICBsZXQgbG9uNDMyNjogbnVtYmVyO1xuICAgIGxldCBsYXQ0MzI2OiBudW1iZXI7XG4gICAgY29uc3QgZmVhdHVyZUlkID0gZmVhdHVyZSA/IGZlYXR1cmUucHJvcGVydGllcy5pZCA6IG9sR2VvbWV0cnkub2xfdWlkO1xuICAgIGNvbnN0IHByb2plY3Rpb24gPSB0aGlzLm1hcC5vbC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpO1xuXG4gICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChvbEdlb21ldHJ5LCB7XG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXG4gICAgfSkgYXMgYW55O1xuXG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbENpcmNsZSB8fCByYWRpdXMpIHtcbiAgICAgIGlmIChyYWRpdXMpIHtcbiAgICAgICAgcmFkID0gcmFkaXVzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZ2VvbWV0cnkudHlwZSA9ICdQb2ludCc7XG4gICAgICAgIGdlb21ldHJ5LmNvb3JkaW5hdGVzID0gb2xHZW9tZXRyeS5nZXRDZW50ZXIoKTtcbiAgICAgICAgY29uc3QgZXh0ZW50NDMyNiA9IHRyYW5zZm9ybShcbiAgICAgICAgICBbXG4gICAgICAgICAgICBvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpWzJdLFxuICAgICAgICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKVszXVxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvamVjdGlvbixcbiAgICAgICAgICAnRVBTRzo0MzI2J1xuICAgICAgICApO1xuICAgICAgICBjZW50ZXI0MzI2ID0gdHJhbnNmb3JtKFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKClbMF0sXG4gICAgICAgICAgICBvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpWzFdXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9qZWN0aW9uLFxuICAgICAgICAgICdFUFNHOjQzMjYnXG4gICAgICAgICk7XG4gICAgICAgIGxvbjQzMjYgPSBjZW50ZXI0MzI2WzBdO1xuICAgICAgICBsYXQ0MzI2ID0gY2VudGVyNDMyNlsxXTtcbiAgICAgICAgcmFkID0gZ2V0RGlzdGFuY2UoY2VudGVyNDMyNiwgZXh0ZW50NDMyNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XG4gICAgICBwb2ludDQzMjYgPSB0cmFuc2Zvcm0oXG4gICAgICAgIG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCksXG4gICAgICAgIHByb2plY3Rpb24sXG4gICAgICAgICdFUFNHOjQzMjYnXG4gICAgICApO1xuICAgICAgbG9uNDMyNiA9IHBvaW50NDMyNlswXTtcbiAgICAgIGxhdDQzMjYgPSBwb2ludDQzMjZbMV07XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5LFxuICAgICAgcHJvamVjdGlvbjogcHJvamVjdGlvbi5nZXRDb2RlKCksXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGlkOiBmZWF0dXJlSWQsXG4gICAgICAgIGRyYXc6IG9sR2VvbWV0cnkuZ2V0KCdfbGFiZWwnKSxcbiAgICAgICAgbG9uZ2l0dWRlOiBsb240MzI2ID8gbG9uNDMyNiA6IG51bGwsXG4gICAgICAgIGxhdGl0dWRlOiBsYXQ0MzI2ID8gbGF0NDMyNiA6IG51bGwsXG4gICAgICAgIHJhZDogcmFkID8gcmFkIDogbnVsbFxuICAgICAgfSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgaWQ6IGZlYXR1cmVJZFxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgdGhlIGZlYXR1cmUgaW4gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIGVudGl0eSB0byByZXBsYWNlXG4gICAqIEBwYXJhbSBvbEdlb21ldHJ5IHRoZSBuZXcgZ2VvbWV0cnkgdG8gaW5zZXJ0IGluIHRoZSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlRmVhdHVyZUluU3RvcmUoXG4gICAgZW50aXR5LFxuICAgIG9sR2VvbWV0cnk6IE9sR2VvbWV0cnksXG4gICAgcmFkaXVzPzogbnVtYmVyXG4gICkge1xuICAgIHRoaXMuc3RvcmUuZGVsZXRlKGVudGl0eSk7XG4gICAgdGhpcy5vbkRyYXdFbmQob2xHZW9tZXRyeSwgcmFkaXVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZmlsbDogWycnXSxcbiAgICAgIHN0cm9rZTogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlRHJhd2luZ3MoKSB7XG4gICAgdGhpcy5zdG9yZS5kZWxldGVNYW55KHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyQudmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyQudmFsdWUuZm9yRWFjaCgoc2VsZWN0ZWRGZWF0dXJlKSA9PiB7XG4gICAgICB0aGlzLm9sRHJhd2luZ0xheWVyU291cmNlLmdldEZlYXR1cmVzKCkuZm9yRWFjaCgoZHJhd2luZ0xheWVyRmVhdHVyZSkgPT4ge1xuICAgICAgICBjb25zdCBnZW9tZXRyeSA9IGRyYXdpbmdMYXllckZlYXR1cmUuZ2V0R2VvbWV0cnkoKSBhcyBhbnk7XG4gICAgICAgIGlmIChzZWxlY3RlZEZlYXR1cmUucHJvcGVydGllcy5pZCA9PT0gZ2VvbWV0cnkub2xfdWlkKSB7XG4gICAgICAgICAgdGhpcy5vbERyYXdpbmdMYXllclNvdXJjZS5yZW1vdmVGZWF0dXJlKGRyYXdpbmdMYXllckZlYXR1cmUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgdG9vbHRpcHMgb2YgYW4gT0wgZ2VvbWV0cnlcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgZ2VvbWV0cnkgd2l0aCB0b29sdGlwc1xuICAgKi9cbiAgcHJpdmF0ZSBjbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KSB7XG4gICAgZ2V0VG9vbHRpcHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeSkuZm9yRWFjaChcbiAgICAgIChvbFRvb2x0aXA6IE9sT3ZlcmxheSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICBpZiAob2xUb29sdGlwICYmIG9sVG9vbHRpcC5nZXRNYXAoKSkge1xuICAgICAgICAgIHRoaXMubWFwLm9sLnJlbW92ZU92ZXJsYXkob2xUb29sdGlwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgdG9nZ2xlcyB0aGUgbGFiZWxzIHRvZ2dsZVxuICAgKi9cbiAgb25Ub2dnbGVMYWJlbHMoKSB7XG4gICAgdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLnRvZ2dsZUxhYmVsc0FyZVNob3duKCk7XG4gICAgdGhpcy5sYWJlbHNBcmVTaG93biA9ICF0aGlzLmxhYmVsc0FyZVNob3duO1xuICAgIHRoaXMuaWNvblxuICAgICAgPyB0aGlzLm9uQ29sb3JDaGFuZ2UodGhpcy5sYWJlbHNBcmVTaG93biwgdHJ1ZSlcbiAgICAgIDogdGhpcy5vbkNvbG9yQ2hhbmdlKHRoaXMubGFiZWxzQXJlU2hvd24sIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGxhYmVsIG9mIGEgZ2VvbWV0cnkgd2hlbiBhIGxhYmVsIGlzIGVudGVyZWQgaW4gYSBkaWFsb2cgYm94XG4gICAqIEBwYXJhbSBvbEdlb21ldHJ5IHRoZSBnZW9tZXRyeVxuICAgKiBAcGFyYW0gbGFiZWwgdGhlIGxhYmVsXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUxhYmVsT2ZPbEdlb21ldHJ5KG9sR2VvbWV0cnk6IE9sR2VvbWV0cnksIGxhYmVsOiBzdHJpbmcpIHtcbiAgICBvbEdlb21ldHJ5LnNldFByb3BlcnRpZXMoXG4gICAgICB7XG4gICAgICAgIF9sYWJlbDogbGFiZWxcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIG9uSWNvbkNoYW5nZShldmVudD8pIHtcbiAgICB0aGlzLmljb24gPSBldmVudDtcbiAgICB0aGlzLmRyYXdTdHlsZVNlcnZpY2Uuc2V0SWNvbih0aGlzLmljb24pO1xuICAgIHRoaXMuc3RvcmUubGF5ZXIub2wuc2V0U3R5bGUoKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuY3JlYXRlRHJhd2luZ0xheWVyU3R5bGUoXG4gICAgICAgIGZlYXR1cmUsXG4gICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgIHRydWUsXG4gICAgICAgIHRoaXMuaWNvblxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5TaG9yY3V0c0RpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKERyYXdTaG9yY3V0c0NvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgZG91YmxlLWNsaWNrcyB0aGUgc2VsZWN0ZWQgZHJhd2luZ1xuICAgKi9cbiAgZWRpdExhYmVsRHJhd2luZygpIHtcbiAgICBjb25zdCBvbEdlb21ldHJ5ID0gZmVhdHVyZVRvT2woXG4gICAgICB0aGlzLnNlbGVjdGVkRmVhdHVyZXMkLnZhbHVlWzBdLFxuICAgICAgdGhpcy5tYXAub2wuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKS5nZXRDb2RlKClcbiAgICApO1xuICAgIHRoaXMub3BlbkRpYWxvZyhvbEdlb21ldHJ5LCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgZm9udCBzaXplIG9yL2FuZCBzdHlsZVxuICAgKiBAcGFyYW0gbGFiZWxzQXJlU2hvd24gd2hldGVyIHRoZSBsYWJlbHMgYXJlIHNob3duIG9yIG5vdFxuICAgKiBAcGFyYW0gc2l6ZSB0aGUgc2l6ZSBvZiB0aGUgZm9udFxuICAgKiBAcGFyYW0gc3R5bGUgdGhlIHN0eWxlIG9mIHRoZSBmb250XG4gICAqL1xuXG4gIG9uRm9udENoYW5nZShsYWJlbHNBcmVTaG93bjogYm9vbGVhbiwgc2l6ZTogc3RyaW5nLCBzdHlsZTogRm9udFR5cGUpIHtcbiAgICB0aGlzLmRyYXdTdHlsZVNlcnZpY2Uuc2V0Rm9udFNpemUoc2l6ZSk7XG4gICAgdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLnNldEZvbnRTdHlsZShzdHlsZSk7XG5cbiAgICB0aGlzLnN0b3JlLmxheWVyLm9sLnNldFN0eWxlKChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmNyZWF0ZURyYXdpbmdMYXllclN0eWxlKFxuICAgICAgICBmZWF0dXJlLFxuICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICBsYWJlbHNBcmVTaG93blxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmNyZWF0ZURyYXdDb250cm9sKCk7XG4gIH1cblxuICBnZXQgYWxsRm9udFN0eWxlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRm9udFR5cGUpO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ2VvbWV0cnktdHlwZS10b2dnbGUgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgKGNoYW5nZSk9XCJvbkdlb21ldHJ5VHlwZUNoYW5nZSgkZXZlbnQudmFsdWUpXCIgW3ZhbHVlXT1cImdlb21ldHJ5VHlwZS5Qb2ludFwiPlxuXG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImdlb21ldHJ5VHlwZS5Qb2ludFwiPlxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LicgKyBnZW9tZXRyeVR5cGUuUG9pbnQgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZ2VvbWV0cnlUeXBlLkxpbmVTdHJpbmdcIj5cbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy4nICsgZ2VvbWV0cnlUeXBlLkxpbmVTdHJpbmcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZ2VvbWV0cnlUeXBlLlBvbHlnb25cIj5cbiAgICAgICAge3sgJ2lnby5nZW8uZHJhdy4nICsgZ2VvbWV0cnlUeXBlLlBvbHlnb24gfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZ2VvbWV0cnlUeXBlLkNpcmNsZVwiPlxuICAgICAgICB7eyAnaWdvLmdlby5kcmF3LicgKyBnZW9tZXRyeVR5cGUuQ2lyY2xlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkcmF3LW9wdGlvbnMgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgW2Rpc2FibGVkXT1cImRyYXdDb250cm9sSXNEaXNhYmxlZFwiXG4gICAgICBbY2hlY2tlZF09XCJkcmF3Q29udHJvbElzQWN0aXZlXCJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcbiAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVEcmF3Q29udHJvbCgkZXZlbnQuY2hlY2tlZClcIj5cbiAgICAgIHt7ICdpZ28uZ2VvLnNwYXRpYWxGaWx0ZXIuZHJhd0NvbnRyb2wnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuXG4gICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgIFtjaGVja2VkXT1cImxhYmVsc0FyZVNob3duXCJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcbiAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVMYWJlbHMoKVwiPlxuICAgICAge3sgJ2lnby5nZW8uZHJhdy50b2dnbGVNYXBUb29sdGlwcycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvZGl2PlxuXG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsbC1jb2xvci1waWNrZXIgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgIDxzcGFuPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCIgc3ZnSWNvbj1cInNxdWFyZVwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpZ28uZ2VvLmRyYXcuZmlsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgIGNsYXNzPVwiZmlsbC1maWVsZFwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICAgICAgZmxvYXRMYWJlbD1cImFsd2F5c1wiXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kcmF3LmNvbG9yUGlja2VyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGZpbGxDb2xvciB9fTwvbWF0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpbGxcIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFsoY29sb3JQaWNrZXIpXT1cImZpbGxDb2xvclwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZmlsbENvbG9yXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgW2NvbG9yUGlja2VyXT1cImZpbGxDb2xvclwiXG4gICAgICAgICAgW2NwV2lkdGhdPVwiJzIwMHB4J1wiXG4gICAgICAgICAgW2NwT3V0cHV0Rm9ybWF0XT1cIidyZ2JhJ1wiXG4gICAgICAgICAgW2NwUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgIFtjcFBvc2l0aW9uT2Zmc2V0XT1cIictNzUlJ1wiXG4gICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFtjcENhbmNlbEJ1dHRvblRleHRdPVwiJ2lnby5nZW8uZHJhdy5jYW5jZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAoY29sb3JQaWNrZXJDaGFuZ2UpPVwib25Db2xvckNoYW5nZShsYWJlbHNBcmVTaG93biwgZmFsc2UpXCIvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzdHJva2UtY29sb3ItcGlja2VyIG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3Ryb2tlLXBhbGV0dGUtaWNvblwiIHN2Z0ljb249XCJzcXVhcmUtb3V0bGluZVwiPjwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpZ28uZ2VvLmRyYXcuc3Ryb2tlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgY2xhc3M9XCJzdHJva2UtZmllbGRcIlxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZHJhdy5jb2xvclBpY2tlcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBzdHJva2VDb2xvciB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdHJva2VcIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFsoY29sb3JQaWNrZXIpXT1cInN0cm9rZUNvbG9yXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJzdHJva2VDb2xvclwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgICAgICAgIFtjb2xvclBpY2tlcl09XCJzdHJva2VDb2xvclwiXG4gICAgICAgICAgW2NwV2lkdGhdPVwiJzIwMHB4J1wiXG4gICAgICAgICAgW2NwUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICAgIFtjcFBvc2l0aW9uT2Zmc2V0XT1cIictNzUlJ1wiXG4gICAgICAgICAgW2NwT3V0cHV0Rm9ybWF0XT1cIidyZ2JhJ1wiXG4gICAgICAgICAgW2NwQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFtjcENhbmNlbEJ1dHRvblRleHRdPVwiJ2lnby5nZW8uZHJhdy5jYW5jZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY3BPS0J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgICAoY29sb3JQaWNrZXJDaGFuZ2UpPVwib25Db2xvckNoYW5nZShsYWJlbHNBcmVTaG93biwgZmFsc2UpXCI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImljb25zLmxlbmd0aCA+PSAxXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uZHJhdy5pY29uJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdD5cbiAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImljb25cIiBjbGFzcz1cImJveFwiPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cInt7IGljb24gfX1cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiXCIgKGNsaWNrKT1cIm9uSWNvbkNoYW5nZSgpXCI+e3sgJ2lnby5nZW8uZHJhdy5ub0ljb24nIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaWNvbl9odG1sIG9mIGljb25zXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpY29uX2h0bWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSWNvbkNoYW5nZShpY29uX2h0bWwpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94XCI+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwie3sgaWNvbl9odG1sIH19XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cblxuXG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1mb250XCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJpZ28tZm9ybS1mb250U2l6ZVwiPlxuICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5kcmF3LmZvbnRTaXplJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgICN0ZXN0Rm9udFNpemVcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiMTBcIlxuICAgICAgICBtaW49XCIxMFwiXG4gICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSA2OVwiXG4gICAgICAgIFt2YWx1ZV09XCJmb250U2l6ZVwiXG4gICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICBvbkZvbnRDaGFuZ2UoXG4gICAgICAgICAgICBsYWJlbHNBcmVTaG93bixcbiAgICAgICAgICAgICRldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICB0ZXN0Rm9udFN0eWxlLnZhbHVlXG4gICAgICAgICAgKVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gbWF0U3VmZml4PnB4PC9zcGFuPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJpZ28tZm9ybS1mb250U3R5bGVcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uZHJhdy5mb250U3R5bGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAjdGVzdEZvbnRTdHlsZVxuICAgICAgICBbdmFsdWVdPVwiZm9udFN0eWxlXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkZvbnRDaGFuZ2UobGFiZWxzQXJlU2hvd24sIHRlc3RGb250U2l6ZS52YWx1ZSwgJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmb250U2VsZWN0IG9mIGFsbEZvbnRTdHlsZXNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJmb250U2VsZWN0XCI+XG4gICAgICAgICAge3sgZm9udFNlbGVjdCB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxkaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzdG9yZS5jb3VudCQuZ2V0VmFsdWUoKSA+IDBcIlxuICAgICAgY2xhc3M9XCJkZWxldGVCdG5cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZHJhdy5kZWxldGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCIoc2VsZWN0ZWRGZWF0dXJlcyQgfCBhc3luYykubGVuZ3RoID09PSAwXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVEcmF3aW5ncygpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aWdvLWVudGl0eS10YWJsZVxuICAgICAgI3RhYmxlXG4gICAgICBjbGFzcz1cInRhYmxlLWNvbXBhY3RcIlxuICAgICAgW3N0b3JlXT1cInN0b3JlXCJcbiAgICAgIFt0ZW1wbGF0ZV09XCJ0YWJsZVRlbXBsYXRlXCJcbiAgICAgIChkYmxjbGljayk9XCJlZGl0TGFiZWxEcmF3aW5nKClcIj5cbiAgICA8L2lnby1lbnRpdHktdGFibGU+XG4gIDwvZGl2PlxuXG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgZGlzYWJsZVJpcHBsZT1cInRydWVcIlxuICAgIChjbGljayk9XCJvcGVuU2hvcmN1dHNEaWFsb2coKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJzaG9ydGN1dHMtaWNvblwiXG4gICAgICBzdmdJY29uPVwia2V5Ym9hcmQtb3V0bGluZVwiXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kcmF3LnNob3J0Y3V0cycgfCB0cmFuc2xhdGVcIj5cbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -97,4 +97,4 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
97
97
  IgoLanguageModule,
98
98
  IgoEntityTableModule,
99
99
  ColorPickerModule], exports: [DrawComponent] }); })();
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVsRTs7R0FFRztBQStCSCxNQUFNLE9BQU8sYUFBYTs7MEVBQWIsYUFBYTsrREFBYixhQUFhO21FQTVCdEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixpQkFBaUI7dUZBV1IsYUFBYTtjQTlCekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsaUJBQWlCO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGFBQWE7aUJBQ2Q7YUFDRjs7d0ZBQ1ksYUFBYSxtQkFSdEIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixxQkFBcUIsYUF0QnJCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsaUJBQWlCLGFBUWpCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yLXBpY2tlcic7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ29FbnRpdHlUYWJsZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IERyYXdDb21wb25lbnQgfSBmcm9tICcuL2RyYXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERyYXdQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vZHJhdy1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmF3U2hvcmN1dHNDb21wb25lbnQgfSBmcm9tICcuL2RyYXctc2hvcmN1dHMuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29FbnRpdHlUYWJsZU1vZHVsZSxcclxuICAgIENvbG9yUGlja2VyTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERyYXdDb21wb25lbnQsXHJcbiAgICBEcmF3UG9wdXBDb21wb25lbnQsXHJcbiAgICBEcmF3U2hvcmN1dHNDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyYXdDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29EcmF3TW9kdWxlIHt9XHJcbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVsRTs7R0FFRztBQStCSCxNQUFNLE9BQU8sYUFBYTs7MEVBQWIsYUFBYTsrREFBYixhQUFhO21FQTVCdEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixpQkFBaUI7dUZBV1IsYUFBYTtjQTlCekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsaUJBQWlCO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGFBQWE7aUJBQ2Q7YUFDRjs7d0ZBQ1ksYUFBYSxtQkFSdEIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixxQkFBcUIsYUF0QnJCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsaUJBQWlCLGFBUWpCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29sb3JQaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtY29sb3ItcGlja2VyJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IElnb0VudGl0eVRhYmxlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IERyYXdDb21wb25lbnQgfSBmcm9tICcuL2RyYXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJhd1BvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmF3U2hvcmN1dHNDb21wb25lbnQgfSBmcm9tICcuL2RyYXctc2hvcmN1dHMuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb0VudGl0eVRhYmxlTW9kdWxlLFxuICAgIENvbG9yUGlja2VyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERyYXdDb21wb25lbnQsXG4gICAgRHJhd1BvcHVwQ29tcG9uZW50LFxuICAgIERyYXdTaG9yY3V0c0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJhd0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb0RyYXdNb2R1bGUge31cbiJdfQ==
@@ -17,4 +17,4 @@ IgoDrawingToolModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Igo
17
17
  }]
18
18
  }], null, null); })();
19
19
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDrawingToolModule, { exports: [IgoDrawModule] }); })();
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZ1Rvb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZHJhdy9kcmF3aW5nVG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBYW5ELE1BQU0sT0FBTyxvQkFBb0I7O3dGQUFwQixvQkFBb0I7c0VBQXBCLG9CQUFvQjswRUFKekIsYUFBYTt1RkFJUixvQkFBb0I7Y0FYaEMsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUVSO2dCQUNELFlBQVksRUFBRSxFQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxhQUFhO2lCQUNoQjthQUNKOzt3RkFFWSxvQkFBb0IsY0FKekIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElnb0RyYXdNb2R1bGUgfSBmcm9tICcuL2RyYXcvZHJhdy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIElnb0RyYXdNb2R1bGVcclxuICAgIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJZ29EcmF3aW5nVG9vbE1vZHVsZSB7fVxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZ1Rvb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZHJhdy9kcmF3aW5nVG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBYW5ELE1BQU0sT0FBTyxvQkFBb0I7O3dGQUFwQixvQkFBb0I7c0VBQXBCLG9CQUFvQjswRUFKekIsYUFBYTt1RkFJUixvQkFBb0I7Y0FYaEMsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUVSO2dCQUNELFlBQVksRUFBRSxFQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxhQUFhO2lCQUNoQjthQUNKOzt3RkFFWSxvQkFBb0IsY0FKekIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ29EcmF3TW9kdWxlIH0gZnJvbSAnLi9kcmF3L2RyYXcubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG5cbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBJZ29EcmF3TW9kdWxlXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIElnb0RyYXdpbmdUb29sTW9kdWxlIHt9XG4iXX0=