@provoly/dashboard 0.19.1 → 0.19.3

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 (550) hide show
  1. package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +2 -1
  2. package/dataset/style/_o-pry-dataset-card.scss +49 -7
  3. package/dataset/style/_o-pry-dataset.scss +5 -7
  4. package/esm2022/admin/admin-routing.module.mjs +5 -5
  5. package/esm2022/admin/admin.module.mjs +5 -5
  6. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +4 -4
  7. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +4 -4
  8. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +4 -4
  9. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +4 -4
  10. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +4 -4
  11. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -4
  12. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +4 -4
  13. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +4 -4
  14. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +4 -4
  15. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +4 -4
  16. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +4 -4
  17. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +4 -4
  18. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +8 -7
  19. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +4 -4
  20. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +4 -4
  21. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +4 -4
  22. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +4 -4
  23. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +4 -4
  24. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +4 -4
  25. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +4 -4
  26. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +4 -4
  27. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +4 -4
  28. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +4 -4
  29. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +4 -4
  30. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +4 -4
  31. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +4 -4
  32. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +4 -4
  33. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +4 -4
  34. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +4 -4
  35. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +4 -4
  36. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +4 -4
  37. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +4 -4
  38. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +4 -4
  39. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +4 -4
  40. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +4 -4
  41. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +4 -4
  42. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +4 -4
  43. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +4 -4
  44. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +4 -4
  45. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +4 -4
  46. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +4 -4
  47. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +4 -4
  48. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +4 -4
  49. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +4 -4
  50. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +4 -4
  51. package/esm2022/admin/components/admin-links/admin-links.component.mjs +4 -4
  52. package/esm2022/admin/components/admin-links/store/links.effects.mjs +4 -4
  53. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +4 -4
  54. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +4 -4
  55. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +4 -4
  56. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +4 -4
  57. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +4 -4
  58. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -4
  59. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +5 -5
  60. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +4 -4
  61. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +4 -4
  62. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +4 -4
  63. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +4 -4
  64. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +4 -4
  65. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -4
  66. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +4 -4
  67. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +4 -4
  68. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +4 -4
  69. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +4 -4
  70. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +4 -4
  71. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +4 -4
  72. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +4 -4
  73. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +4 -4
  74. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +4 -4
  75. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +4 -4
  76. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +4 -4
  77. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +4 -4
  78. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -4
  79. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +4 -4
  80. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +4 -4
  81. package/esm2022/admin/components/admin-title/admin-title.component.mjs +4 -4
  82. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +4 -4
  83. package/esm2022/admin/components/admin-user/admin-user.component.mjs +4 -4
  84. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +4 -4
  85. package/esm2022/admin/components/admin.component.mjs +4 -4
  86. package/esm2022/admin/components/association/association.component.mjs +4 -4
  87. package/esm2022/admin/store/admin.effects.mjs +4 -4
  88. package/esm2022/admin/store/admin.service.mjs +4 -4
  89. package/esm2022/components/card/card.component.mjs +19 -19
  90. package/esm2022/components/card/card.module.mjs +5 -5
  91. package/esm2022/components/checkbox/checkbox.component.mjs +4 -4
  92. package/esm2022/components/checkbox/checkbox.module.mjs +5 -5
  93. package/esm2022/components/color-picker/color-picker.component.mjs +4 -4
  94. package/esm2022/components/color-picker/color-picker.module.mjs +5 -5
  95. package/esm2022/components/expand-panel/expand-panel.component.mjs +7 -7
  96. package/esm2022/components/expand-panel/expand-panel.module.mjs +5 -5
  97. package/esm2022/components/filter/filter.module.mjs +5 -5
  98. package/esm2022/components/filter/filter.pipe.mjs +4 -4
  99. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +4 -4
  100. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -5
  101. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +4 -4
  102. package/esm2022/components/metadata-editor/store/metadata.service.mjs +4 -4
  103. package/esm2022/components/metadata-editor/style/css.component.mjs +4 -4
  104. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +4 -4
  105. package/esm2022/components/scheme-picker/scheme-picker.module.mjs +5 -5
  106. package/esm2022/components/scheme-picker/scheme.service.mjs +4 -4
  107. package/esm2022/components/sinceDate/sinceDate.module.mjs +5 -5
  108. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +4 -4
  109. package/esm2022/components/stepper/step/step.component.mjs +4 -4
  110. package/esm2022/components/stepper/step-title.directive.mjs +4 -4
  111. package/esm2022/components/stepper/stepper.component.mjs +4 -4
  112. package/esm2022/components/stepper/stepper.module.mjs +5 -5
  113. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +7 -7
  114. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +14 -6
  115. package/esm2022/dataset/components/dataset.component.mjs +4 -4
  116. package/esm2022/dataset/dataset.module.mjs +5 -5
  117. package/esm2022/dataset/style/css.component.mjs +5 -5
  118. package/esm2022/filters/autocomplete/autocomplete.component.mjs +4 -4
  119. package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
  120. package/esm2022/filters/autocomplete/style/css.component.mjs +4 -4
  121. package/esm2022/filters/date/date-filter.component.mjs +4 -4
  122. package/esm2022/filters/date/date-filter.module.mjs +5 -5
  123. package/esm2022/filters/list/list-filter.component.mjs +4 -4
  124. package/esm2022/filters/list/list-filter.module.mjs +5 -5
  125. package/esm2022/filters/list/style/css.component.mjs +4 -4
  126. package/esm2022/filters/number/number-filter.component.mjs +4 -4
  127. package/esm2022/filters/number/number-filter.module.mjs +5 -5
  128. package/esm2022/filters/text/text-filter.component.mjs +4 -4
  129. package/esm2022/filters/text/text-filter.module.mjs +5 -5
  130. package/esm2022/import/components/import.component.mjs +4 -4
  131. package/esm2022/import/import-routing.module.mjs +5 -5
  132. package/esm2022/import/import.module.mjs +5 -5
  133. package/esm2022/import/store/import.effects.mjs +4 -4
  134. package/esm2022/import/store/import.service.mjs +4 -4
  135. package/esm2022/import/style/css.component.mjs +4 -4
  136. package/esm2022/lib/core/access/access.directive.mjs +4 -4
  137. package/esm2022/lib/core/access/access.guard.mjs +4 -4
  138. package/esm2022/lib/core/access/access.service.mjs +4 -4
  139. package/esm2022/lib/core/auth/geoAuth.service.mjs +4 -4
  140. package/esm2022/lib/core/components/about/about.component.mjs +4 -4
  141. package/esm2022/lib/core/components/about/pry-about.module.mjs +5 -5
  142. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
  143. package/esm2022/lib/core/components/accordion/accordion.component.mjs +4 -4
  144. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +4 -4
  145. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +4 -4
  146. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +4 -4
  147. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +4 -4
  148. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  149. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +5 -5
  150. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +4 -4
  151. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +4 -4
  152. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +4 -4
  153. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +4 -4
  154. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +5 -5
  155. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +7 -11
  156. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +4 -4
  157. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +5 -5
  158. package/esm2022/lib/core/components/icon/icon.component.mjs +4 -4
  159. package/esm2022/lib/core/components/icon/icon.module.mjs +5 -5
  160. package/esm2022/lib/core/components/modal/modal.component.mjs +4 -4
  161. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +5 -5
  162. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +4 -4
  163. package/esm2022/lib/core/components/modal-status/modal-status.module.mjs +5 -5
  164. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +4 -4
  165. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +4 -4
  166. package/esm2022/lib/core/components/overlay/dialog.service.mjs +4 -4
  167. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +4 -4
  168. package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -5
  169. package/esm2022/lib/core/components/range/range.component.mjs +4 -4
  170. package/esm2022/lib/core/components/range/range.module.mjs +5 -5
  171. package/esm2022/lib/core/components/select/select.component.mjs +4 -4
  172. package/esm2022/lib/core/components/select/select.module.mjs +5 -5
  173. package/esm2022/lib/core/components/select-image/select-image.component.mjs +4 -4
  174. package/esm2022/lib/core/components/share/share.component.mjs +4 -4
  175. package/esm2022/lib/core/components/share/share.module.mjs +5 -5
  176. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +4 -4
  177. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +5 -5
  178. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +4 -4
  179. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +4 -4
  180. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +4 -4
  181. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +4 -4
  182. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +4 -4
  183. package/esm2022/lib/core/components/sort/sort.module.mjs +5 -5
  184. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +4 -4
  185. package/esm2022/lib/core/components/tabs/tab.component.mjs +4 -4
  186. package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
  187. package/esm2022/lib/core/components/toggle/toggle.module.mjs +5 -5
  188. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +4 -4
  189. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +4 -4
  190. package/esm2022/lib/core/components/upload/upload.component.mjs +4 -4
  191. package/esm2022/lib/core/core.module.mjs +5 -5
  192. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +4 -4
  193. package/esm2022/lib/core/i18n/i18n.module.mjs +5 -5
  194. package/esm2022/lib/core/i18n/i18n.pipe.mjs +4 -4
  195. package/esm2022/lib/core/i18n/i18n.service.mjs +4 -4
  196. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  197. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  198. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +4 -4
  199. package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +4 -4
  200. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +4 -4
  201. package/esm2022/lib/core/store/category/category.effects.mjs +4 -4
  202. package/esm2022/lib/core/store/category/category.service.mjs +4 -4
  203. package/esm2022/lib/core/store/class/class.effects.mjs +4 -4
  204. package/esm2022/lib/core/store/class/class.service.mjs +4 -4
  205. package/esm2022/lib/core/store/config/config.actions.mjs +1 -2
  206. package/esm2022/lib/core/store/config/config.effects.mjs +4 -4
  207. package/esm2022/lib/core/store/config/config.reducer.mjs +1 -5
  208. package/esm2022/lib/core/store/config/config.selectors.mjs +1 -3
  209. package/esm2022/lib/core/store/config/config.service.mjs +4 -4
  210. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +4 -4
  211. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +4 -4
  212. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -5
  213. package/esm2022/lib/core/store/data-source/data-source.service.mjs +4 -4
  214. package/esm2022/lib/core/store/field/field.effects.mjs +4 -4
  215. package/esm2022/lib/core/store/field/field.interface.mjs +2 -1
  216. package/esm2022/lib/core/store/field/field.service.mjs +4 -4
  217. package/esm2022/lib/core/store/image/image.effects.mjs +4 -4
  218. package/esm2022/lib/core/store/image/image.service.mjs +4 -4
  219. package/esm2022/lib/core/store/item/item.effects.mjs +4 -4
  220. package/esm2022/lib/core/store/item/item.service.mjs +4 -4
  221. package/esm2022/lib/core/store/raw/raw.service.mjs +4 -4
  222. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +4 -4
  223. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +4 -4
  224. package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
  225. package/esm2022/lib/core/store/search/search.effects.mjs +5 -5
  226. package/esm2022/lib/core/store/search/search.service.mjs +8 -13
  227. package/esm2022/lib/core/symbol/symbol.service.mjs +4 -4
  228. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
  229. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +4 -4
  230. package/esm2022/lib/core/ws/websocket.service.mjs +4 -4
  231. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +4 -4
  232. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +4 -4
  233. package/esm2022/lib/dashboard/base-widget.module.mjs +5 -5
  234. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +4 -4
  235. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +4 -4
  236. package/esm2022/lib/dashboard/components/dashboard.component.mjs +8 -8
  237. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -8
  238. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +4 -4
  239. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +4 -4
  240. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +4 -4
  241. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +4 -4
  242. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +4 -4
  243. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +4 -4
  244. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +4 -4
  245. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -4
  246. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +4 -4
  247. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +4 -4
  248. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +8 -6
  249. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +4 -4
  250. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +4 -4
  251. package/esm2022/lib/dashboard/dashboard.module.mjs +12 -10
  252. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +4 -4
  253. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +5 -5
  254. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +4 -4
  255. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +4 -4
  256. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +4 -4
  257. package/esm2022/lib/dashboard/filter/style/css.component.mjs +4 -4
  258. package/esm2022/lib/dashboard/item-utils.mjs +15 -14
  259. package/esm2022/lib/dashboard/public-api.mjs +1 -2
  260. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +4 -4
  261. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -3
  262. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +51 -26
  263. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
  264. package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +10 -7
  265. package/esm2022/lib/dashboard/store/manifest.service.mjs +5 -5
  266. package/esm2022/lib/dashboard/store/proxy.utils.mjs +76 -0
  267. package/esm2022/lib/dashboard/store/refresh.service.mjs +12 -7
  268. package/esm2022/lib/dashboard/store/title.service.mjs +4 -4
  269. package/esm2022/lib/dashboard/store/wms.service.mjs +4 -4
  270. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +4 -4
  271. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +5 -5
  272. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +4 -4
  273. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +4 -4
  274. package/esm2022/notification/components/notification/content/notification-content.component.mjs +4 -4
  275. package/esm2022/notification/components/notification/notification.component.mjs +4 -4
  276. package/esm2022/notification/notification.module.mjs +5 -5
  277. package/esm2022/notification/store/notification.effects.mjs +4 -4
  278. package/esm2022/notification/store/notification.service.mjs +4 -4
  279. package/esm2022/notification/style/css.component.mjs +4 -4
  280. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +4 -4
  281. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +4 -4
  282. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +4 -4
  283. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +4 -4
  284. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +4 -4
  285. package/esm2022/pipeline/pipeline.module.mjs +5 -5
  286. package/esm2022/pipeline/store/pipeline.effects.mjs +4 -4
  287. package/esm2022/pipeline/store/pipeline.service.mjs +4 -4
  288. package/esm2022/pipeline/style/css.component.mjs +4 -4
  289. package/esm2022/pipeline-components/filter/component/filter.component.mjs +4 -4
  290. package/esm2022/pipeline-components/filter/filter.module.mjs +5 -5
  291. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +4 -4
  292. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +5 -5
  293. package/esm2022/pipeline-components/noop/component/noop.component.mjs +4 -4
  294. package/esm2022/pipeline-components/noop/noop.module.mjs +5 -5
  295. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +4 -4
  296. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +5 -5
  297. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +4 -4
  298. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +5 -5
  299. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +20 -30
  300. package/esm2022/presentation/components/presentation.component.mjs +40 -43
  301. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -4
  302. package/esm2022/presentation/i18n/en.translations.mjs +3 -1
  303. package/esm2022/presentation/i18n/fr.translations.mjs +3 -1
  304. package/esm2022/presentation/presentation.module.mjs +5 -5
  305. package/esm2022/presentation/style/css.component.mjs +5 -5
  306. package/esm2022/restitution/components/restitution/restitution.component.mjs +24 -8
  307. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +31 -9
  308. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +4 -4
  309. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +4 -4
  310. package/esm2022/restitution/i18n/en.translations.mjs +2 -1
  311. package/esm2022/restitution/i18n/fr.translations.mjs +3 -1
  312. package/esm2022/restitution/restitution.module.mjs +5 -5
  313. package/esm2022/restitution/style/css.component.mjs +5 -5
  314. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +4 -4
  315. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -5
  316. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +4 -4
  317. package/esm2022/search/components/save-query/save-query.component.mjs +4 -4
  318. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +4 -4
  319. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +4 -4
  320. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +4 -4
  321. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +4 -4
  322. package/esm2022/search/search-home/search-home.component.mjs +5 -5
  323. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +4 -4
  324. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
  325. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +4 -4
  326. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +4 -4
  327. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -4
  328. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +4 -4
  329. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
  330. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +4 -4
  331. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +4 -4
  332. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +4 -4
  333. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +4 -4
  334. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
  335. package/esm2022/search/search-tools/search-tools.component.mjs +4 -4
  336. package/esm2022/search/search.module.mjs +5 -5
  337. package/esm2022/search/style/css.component.mjs +4 -4
  338. package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +4 -4
  339. package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +4 -4
  340. package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +4 -4
  341. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +4 -4
  342. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +4 -4
  343. package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +4 -4
  344. package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +4 -4
  345. package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +4 -4
  346. package/esm2022/supervision/components/supervision.component.mjs +4 -4
  347. package/esm2022/supervision/store/supervision.effects.mjs +4 -4
  348. package/esm2022/supervision/store/supervision.service.mjs +4 -4
  349. package/esm2022/supervision/supervision-routing.module.mjs +5 -5
  350. package/esm2022/supervision/supervision.module.mjs +5 -5
  351. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +7 -5
  352. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +4 -4
  353. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +4 -4
  354. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +4 -4
  355. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +4 -4
  356. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +4 -4
  357. package/esm2022/toolbox/components/named-query/named-query.component.mjs +4 -4
  358. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +11 -7
  359. package/esm2022/toolbox/components/save-view/save-view.component.mjs +4 -4
  360. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +4 -4
  361. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +4 -4
  362. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +4 -4
  363. package/esm2022/toolbox/components/toolbox.component.mjs +4 -4
  364. package/esm2022/toolbox/style/css.component.mjs +4 -4
  365. package/esm2022/toolbox/toolbox.module.mjs +5 -5
  366. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +4 -4
  367. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -5
  368. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +4 -4
  369. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +5 -5
  370. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +23 -11
  371. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +4 -4
  372. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +5 -5
  373. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +4 -4
  374. package/esm2022/widgets/widget-chart/style/css.component.mjs +4 -4
  375. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +5 -5
  376. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +4 -4
  377. package/esm2022/widgets/widget-detail/style/css.component.mjs +4 -4
  378. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +5 -5
  379. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +4 -4
  380. package/esm2022/widgets/widget-graph/style/css.component.mjs +4 -4
  381. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +5 -5
  382. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +4 -4
  383. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +4 -4
  384. package/esm2022/widgets/widget-iframe/style/css.component.mjs +4 -4
  385. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +5 -5
  386. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +4 -4
  387. package/esm2022/widgets/widget-image/style/css.component.mjs +4 -4
  388. package/esm2022/widgets/widget-image/widget-image.module.mjs +5 -5
  389. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -4
  390. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +160 -18
  391. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +13 -2
  392. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +13 -2
  393. package/esm2022/widgets/widget-map/interaction/layer-slider.class.mjs +63 -0
  394. package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +21 -16
  395. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +4 -4
  396. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +24 -12
  397. package/esm2022/widgets/widget-map/public-api.mjs +2 -1
  398. package/esm2022/widgets/widget-map/style/css.component.mjs +5 -5
  399. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
  400. package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +42 -1
  401. package/esm2022/widgets/widget-map/widget-map.module.mjs +5 -5
  402. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +11 -6
  403. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +4 -4
  404. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -4
  405. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +4 -4
  406. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +5 -5
  407. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +4 -4
  408. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +4 -4
  409. package/esm2022/widgets/widget-table/style/css.component.mjs +4 -4
  410. package/esm2022/widgets/widget-table/widget-table.module.mjs +5 -5
  411. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +4 -4
  412. package/esm2022/widgets/widget-template/style/css.component.mjs +4 -4
  413. package/esm2022/widgets/widget-template/widget-template.module.mjs +5 -5
  414. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +4 -4
  415. package/esm2022/widgets/widget-tile/style/css.component.mjs +4 -4
  416. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +5 -5
  417. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +4 -4
  418. package/esm2022/widgets/widget-vega/style/css.component.mjs +4 -4
  419. package/esm2022/widgets/widget-vega/widget-vega.module.mjs +5 -5
  420. package/fesm2022/provoly-dashboard-admin.mjs +261 -260
  421. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  422. package/fesm2022/provoly-dashboard-components-card.mjs +22 -22
  423. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  424. package/fesm2022/provoly-dashboard-components-checkbox.mjs +7 -7
  425. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  426. package/fesm2022/provoly-dashboard-components-color-picker.mjs +7 -7
  427. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  428. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
  429. package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -1
  430. package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
  431. package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -1
  432. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +16 -16
  433. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  434. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +10 -10
  435. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  436. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +7 -7
  437. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  438. package/fesm2022/provoly-dashboard-components-stepper.mjs +13 -13
  439. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  440. package/fesm2022/provoly-dashboard-dataset.mjs +28 -20
  441. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  442. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +10 -10
  443. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  444. package/fesm2022/provoly-dashboard-filters-date.mjs +7 -7
  445. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  446. package/fesm2022/provoly-dashboard-filters-list.mjs +10 -10
  447. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  448. package/fesm2022/provoly-dashboard-filters-number.mjs +7 -7
  449. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  450. package/fesm2022/provoly-dashboard-filters-text.mjs +7 -7
  451. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  452. package/fesm2022/provoly-dashboard-import.mjs +20 -20
  453. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  454. package/fesm2022/provoly-dashboard-notification.mjs +19 -19
  455. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  456. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +7 -7
  457. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  458. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +7 -7
  459. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  460. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +7 -7
  461. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -1
  462. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +7 -7
  463. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  464. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +7 -7
  465. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -1
  466. package/fesm2022/provoly-dashboard-pipeline.mjs +28 -28
  467. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  468. package/fesm2022/provoly-dashboard-presentation.mjs +75 -84
  469. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  470. package/fesm2022/provoly-dashboard-restitution.mjs +71 -30
  471. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  472. package/fesm2022/provoly-dashboard-search.mjs +79 -75
  473. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  474. package/fesm2022/provoly-dashboard-supervision.mjs +41 -41
  475. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  476. package/fesm2022/provoly-dashboard-toolbox.mjs +56 -50
  477. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  478. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -7
  479. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  480. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
  481. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -1
  482. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +29 -17
  483. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  484. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  485. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  486. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -10
  487. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  488. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +10 -10
  489. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  490. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +13 -13
  491. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  492. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +10 -10
  493. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
  494. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +345 -63
  495. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  496. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +36 -31
  497. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  498. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +10 -10
  499. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  500. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +10 -10
  501. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  502. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +10 -10
  503. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  504. package/fesm2022/provoly-dashboard.mjs +806 -741
  505. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  506. package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +1 -5
  507. package/lib/core/model/manifest.interface.d.ts +0 -1
  508. package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
  509. package/lib/core/store/config/config.actions.d.ts +0 -1
  510. package/lib/core/store/config/config.selectors.d.ts +0 -1
  511. package/lib/core/store/field/field.interface.d.ts +1 -0
  512. package/lib/core/store/search/search.actions.d.ts +4 -0
  513. package/lib/core/store/search/search.service.d.ts +1 -6
  514. package/lib/dashboard/components/manifests/manifests.component.d.ts +0 -1
  515. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +4 -1
  516. package/lib/dashboard/dashboard.module.d.ts +2 -0
  517. package/lib/dashboard/item-utils.d.ts +2 -3
  518. package/lib/dashboard/public-api.d.ts +0 -1
  519. package/lib/dashboard/store/dashboard.actions.d.ts +7 -7
  520. package/lib/dashboard/store/dashboard.effects.d.ts +15 -2
  521. package/lib/dashboard/store/dashboard.selectors.d.ts +13 -7
  522. package/lib/dashboard/store/manifest-utils.class.d.ts +4 -1
  523. package/lib/dashboard/store/proxy.utils.d.ts +24 -0
  524. package/package.json +7 -7
  525. package/presentation/components/presentation.component.d.ts +6 -6
  526. package/presentation/i18n/en.translations.d.ts +2 -0
  527. package/presentation/i18n/fr.translations.d.ts +2 -0
  528. package/presentation/style/_o-pry-presentation.scss +21 -7
  529. package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +5 -4
  530. package/restitution/i18n/en.translations.d.ts +1 -0
  531. package/restitution/i18n/fr.translations.d.ts +2 -0
  532. package/restitution/style/_o-restitution.scss +14 -0
  533. package/schematics/ng-update/version-0-13/index.spec.js +0 -1
  534. package/schematics/ng-update/version-0-13/index.spec.js.map +1 -1
  535. package/styles/components/_o-widget.scss +57 -2
  536. package/styles-theme/components-theme/_o-widget.theme.scss +1 -1
  537. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +8 -0
  538. package/widgets/widget-map/component/widget-map.component.d.ts +41 -3
  539. package/widgets/widget-map/i18n/en.translations.d.ts +11 -0
  540. package/widgets/widget-map/i18n/fr.translations.d.ts +11 -0
  541. package/widgets/widget-map/interaction/layer-slider.class.d.ts +10 -0
  542. package/widgets/widget-map/interaction/selection-interaction.class.d.ts +2 -3
  543. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +1 -0
  544. package/widgets/widget-map/public-api.d.ts +1 -0
  545. package/widgets/widget-map/style/_o-layer-legend.scss +16 -7
  546. package/widgets/widget-map/style/_o-widget-map.scss +83 -1
  547. package/widgets/widget-map/utils/xml-utils.class.d.ts +10 -0
  548. package/assets/svgs/more_vertical.svg +0 -5
  549. package/esm2022/lib/dashboard/guard/default-view.guard.mjs +0 -41
  550. package/lib/dashboard/guard/default-view.guard.d.ts +0 -14
@@ -1,11 +1,11 @@
1
1
  import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryWidgetMapCssComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetMapCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryWidgetMapCssComponent, selector: "pry-widget-map-css", ngImport: i0, template: '', isInline: true, styles: [":root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:\" \"}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.o-widget--map{display:flex;flex-direction:column}.o-widget--map div.ol-scale-bar{position:absolute;left:initial;right:8px;bottom:8px}.o-map-wrapper{display:flex;width:100%;flex:1 1}.o-map{width:100%;height:100%}#map,.map-frame{height:100%}.layer-switcher{top:5rem;left:.5rem;right:unset;border-width:.0625rem;border-style:solid;border-radius:.4375rem}.layer-switcher button{background-size:30px;background-position:unset;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTIwLjA4MyAxNS4ybDEuMjAyLjcyMWEuNS41IDAgMCAxIDAgLjg1OGwtOC43NyA1LjI2MmExIDEgMCAwIDEtMS4wMyAwbC04Ljc3LTUuMjYyYS41LjUgMCAwIDEgMC0uODU4bDEuMjAyLS43MjFMMTIgMjAuMDVsOC4wODMtNC44NXptMC00LjdsMS4yMDIuNzIxYS41LjUgMCAwIDEgMCAuODU4TDEyIDE3LjY1bC05LjI4NS01LjU3MWEuNS41IDAgMCAxIDAtLjg1OGwxLjIwMi0uNzIxTDEyIDE1LjM1bDguMDgzLTQuODV6bS03LjU2OS05LjE5MWw4Ljc3MSA1LjI2MmEuNS41IDAgMCAxIDAgLjg1OEwxMiAxMyAyLjcxNSA3LjQyOWEuNS41IDAgMCAxIDAtLjg1OGw4Ljc3LTUuMjYyYTEgMSAwIDAgMSAxLjAzIDB6TTEyIDMuMzMyTDUuODg3IDcgMTIgMTAuNjY4IDE4LjExMyA3IDEyIDMuMzMyeiIvPjwvc3ZnPg==)}.layer-switcher.shown.ol-control:hover{background-color:#fff9}.ol-attribution{top:.3125rem;bottom:unset}.a-form-field[type=radio]:read-only{pointer-events:auto}.a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 20px)}.a-tooltip--click[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 10px)}\n", ".m-layer-legend{z-index:2;left:.5rem;overflow:hidden}.m-layer-legend.ol-control{border:1px solid #bccad8}.m-layer-legend button{background-color:#fafafa!important;color:#000}.m-layer-legend .-hidden{display:none}.m-layer-legend__toggle{width:1.875rem;height:1.875rem}.m-layer-legend__title{display:flex;flex-direction:row;align-items:center;background-color:#fff;justify-content:space-between}.m-layer-legend__image{background:white;overflow:scroll}.m-layer-legend__error{font-style:italic;color:#c74646}.m-layer-switcher{z-index:2;left:.5rem;overflow:hidden}.m-layer-switcher.ol-control{border:1px solid #bccad8}.m-layer-switcher button{background-color:#fafafa!important;color:#000}.m-layer-switcher .-hidden{display:none}.m-layer-switcher__toggle{width:1.875rem;height:1.875rem}.m-layer-switcher__title{display:flex;flex-direction:row;background-color:#fff;justify-content:space-between;gap:.625rem;margin-left:2.1875rem;padding:5px}.m-layer-switcher__image{background:white;overflow:scroll}.m-layer-switcher__error{font-style:italic;color:#c74646}\n"], encapsulation: i0.ViewEncapsulation.None }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetMapCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetMapCssComponent, selector: "pry-widget-map-css", ngImport: i0, template: '', isInline: true, styles: [":root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:\" \"}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.o-widget--map{display:flex;flex-direction:column}.o-widget--map div.ol-scale-bar{position:absolute;left:initial;right:8px;bottom:8px}.o-map-wrapper{display:flex;width:100%;flex:1 1}.o-map{width:100%;height:100%}#map,.map-frame{height:100%}.layer-switcher{top:5rem;left:.5rem;right:unset;border-width:.0625rem;border-style:solid;border-radius:.4375rem}.layer-switcher button{background-size:30px;background-position:unset;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTIwLjA4MyAxNS4ybDEuMjAyLjcyMWEuNS41IDAgMCAxIDAgLjg1OGwtOC43NyA1LjI2MmExIDEgMCAwIDEtMS4wMyAwbC04Ljc3LTUuMjYyYS41LjUgMCAwIDEgMC0uODU4bDEuMjAyLS43MjFMMTIgMjAuMDVsOC4wODMtNC44NXptMC00LjdsMS4yMDIuNzIxYS41LjUgMCAwIDEgMCAuODU4TDEyIDE3LjY1bC05LjI4NS01LjU3MWEuNS41IDAgMCAxIDAtLjg1OGwxLjIwMi0uNzIxTDEyIDE1LjM1bDguMDgzLTQuODV6bS03LjU2OS05LjE5MWw4Ljc3MSA1LjI2MmEuNS41IDAgMCAxIDAgLjg1OEwxMiAxMyAyLjcxNSA3LjQyOWEuNS41IDAgMCAxIDAtLjg1OGw4Ljc3LTUuMjYyYTEgMSAwIDAgMSAxLjAzIDB6TTEyIDMuMzMyTDUuODg3IDcgMTIgMTAuNjY4IDE4LjExMyA3IDEyIDMuMzMyeiIvPjwvc3ZnPg==)}.layer-switcher.shown.ol-control:hover{background-color:#fff9}.ol-attribution,.ol-zoom{top:.3125rem;bottom:unset;border-radius:.375rem;padding:0;border:none;background:white}.ol-attribution>button,.ol-zoom>button{padding:0;border:none;background:white}.ol-zoom{top:.3125rem;right:.5rem;left:unset;bottom:unset;border-radius:.375rem;padding:0;border:none;background:white}.ol-zoom>button{padding:0;border:none;background:white}.a-form-field[type=radio]:read-only{pointer-events:auto}.a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 20px)}.a-tooltip--click[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 10px)}.a-tooltip[data-tooltip].--absolute{position:absolute}.a-tooltip[data-tooltip].--nopos{position:unset}.o-map-slider{position:absolute;width:100%;margin-top:-.625rem;z-index:1;-webkit-appearance:none;appearance:none;background:transparent;cursor:grab}.o-map-slider.-hidden{visibility:hidden;pointer-events:none}.o-map-slider::-webkit-slider-runnable-track{background:none}.o-map-slider::-moz-range-track{background:none}.o-map-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#113b6e;height:125rem;margin-top:-121.875rem;width:.25rem}.o-map-slider::-moz-range-thumb{border:none;border-radius:0;background-color:#113b6e;height:125rem;margin-top:-121.875rem;width:.25rem}\n", ".m-layer-legend{z-index:2;right:.5rem}.m-layer-legend.ol-control{display:flex;flex-direction:column;align-items:flex-start;border:none;background:white}.m-layer-legend button{background-color:#fafafa!important;color:#000}.m-layer-legend .-hidden{display:none}.m-layer-legend__toggle{align-self:flex-end;width:1.875rem;height:1.875rem}.m-layer-legend__title{display:flex;flex-direction:row;align-items:center;background-color:#fff;justify-content:space-between}.m-layer-legend__image{background:white;overflow:scroll}.m-layer-legend__error{font-style:italic;color:#c74646}.m-layer-switcher{z-index:2;right:.5rem;display:flex;flex-direction:column;align-items:normal}.m-layer-switcher.ol-control{border:none;background:white;align-self:flex-end}.m-layer-switcher button{background-color:#fafafa!important;color:#000}.m-layer-switcher .-hidden{display:none}.m-layer-switcher__toggle{width:1.875rem;height:1.875rem;align-self:flex-end}.m-layer-switcher__title{display:flex;flex-direction:row;background-color:#fff;justify-content:space-between;gap:.625rem;padding:5px}.m-layer-switcher__image{background:white;overflow:scroll}.m-layer-switcher__error{font-style:italic;color:#c74646}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetMapCssComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetMapCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-widget-map-css', template: '', encapsulation: ViewEncapsulation.None, styles: [":root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:\" \"}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.o-widget--map{display:flex;flex-direction:column}.o-widget--map div.ol-scale-bar{position:absolute;left:initial;right:8px;bottom:8px}.o-map-wrapper{display:flex;width:100%;flex:1 1}.o-map{width:100%;height:100%}#map,.map-frame{height:100%}.layer-switcher{top:5rem;left:.5rem;right:unset;border-width:.0625rem;border-style:solid;border-radius:.4375rem}.layer-switcher button{background-size:30px;background-position:unset;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTIwLjA4MyAxNS4ybDEuMjAyLjcyMWEuNS41IDAgMCAxIDAgLjg1OGwtOC43NyA1LjI2MmExIDEgMCAwIDEtMS4wMyAwbC04Ljc3LTUuMjYyYS41LjUgMCAwIDEgMC0uODU4bDEuMjAyLS43MjFMMTIgMjAuMDVsOC4wODMtNC44NXptMC00LjdsMS4yMDIuNzIxYS41LjUgMCAwIDEgMCAuODU4TDEyIDE3LjY1bC05LjI4NS01LjU3MWEuNS41IDAgMCAxIDAtLjg1OGwxLjIwMi0uNzIxTDEyIDE1LjM1bDguMDgzLTQuODV6bS03LjU2OS05LjE5MWw4Ljc3MSA1LjI2MmEuNS41IDAgMCAxIDAgLjg1OEwxMiAxMyAyLjcxNSA3LjQyOWEuNS41IDAgMCAxIDAtLjg1OGw4Ljc3LTUuMjYyYTEgMSAwIDAgMSAxLjAzIDB6TTEyIDMuMzMyTDUuODg3IDcgMTIgMTAuNjY4IDE4LjExMyA3IDEyIDMuMzMyeiIvPjwvc3ZnPg==)}.layer-switcher.shown.ol-control:hover{background-color:#fff9}.ol-attribution{top:.3125rem;bottom:unset}.a-form-field[type=radio]:read-only{pointer-events:auto}.a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 20px)}.a-tooltip--click[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 10px)}\n", ".m-layer-legend{z-index:2;left:.5rem;overflow:hidden}.m-layer-legend.ol-control{border:1px solid #bccad8}.m-layer-legend button{background-color:#fafafa!important;color:#000}.m-layer-legend .-hidden{display:none}.m-layer-legend__toggle{width:1.875rem;height:1.875rem}.m-layer-legend__title{display:flex;flex-direction:row;align-items:center;background-color:#fff;justify-content:space-between}.m-layer-legend__image{background:white;overflow:scroll}.m-layer-legend__error{font-style:italic;color:#c74646}.m-layer-switcher{z-index:2;left:.5rem;overflow:hidden}.m-layer-switcher.ol-control{border:1px solid #bccad8}.m-layer-switcher button{background-color:#fafafa!important;color:#000}.m-layer-switcher .-hidden{display:none}.m-layer-switcher__toggle{width:1.875rem;height:1.875rem}.m-layer-switcher__title{display:flex;flex-direction:row;background-color:#fff;justify-content:space-between;gap:.625rem;margin-left:2.1875rem;padding:5px}.m-layer-switcher__image{background:white;overflow:scroll}.m-layer-switcher__error{font-style:italic;color:#c74646}\n"] }]
9
+ args: [{ selector: 'pry-widget-map-css', template: '', encapsulation: ViewEncapsulation.None, styles: [":root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:\" \"}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.o-widget--map{display:flex;flex-direction:column}.o-widget--map div.ol-scale-bar{position:absolute;left:initial;right:8px;bottom:8px}.o-map-wrapper{display:flex;width:100%;flex:1 1}.o-map{width:100%;height:100%}#map,.map-frame{height:100%}.layer-switcher{top:5rem;left:.5rem;right:unset;border-width:.0625rem;border-style:solid;border-radius:.4375rem}.layer-switcher button{background-size:30px;background-position:unset;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTIwLjA4MyAxNS4ybDEuMjAyLjcyMWEuNS41IDAgMCAxIDAgLjg1OGwtOC43NyA1LjI2MmExIDEgMCAwIDEtMS4wMyAwbC04Ljc3LTUuMjYyYS41LjUgMCAwIDEgMC0uODU4bDEuMjAyLS43MjFMMTIgMjAuMDVsOC4wODMtNC44NXptMC00LjdsMS4yMDIuNzIxYS41LjUgMCAwIDEgMCAuODU4TDEyIDE3LjY1bC05LjI4NS01LjU3MWEuNS41IDAgMCAxIDAtLjg1OGwxLjIwMi0uNzIxTDEyIDE1LjM1bDguMDgzLTQuODV6bS03LjU2OS05LjE5MWw4Ljc3MSA1LjI2MmEuNS41IDAgMCAxIDAgLjg1OEwxMiAxMyAyLjcxNSA3LjQyOWEuNS41IDAgMCAxIDAtLjg1OGw4Ljc3LTUuMjYyYTEgMSAwIDAgMSAxLjAzIDB6TTEyIDMuMzMyTDUuODg3IDcgMTIgMTAuNjY4IDE4LjExMyA3IDEyIDMuMzMyeiIvPjwvc3ZnPg==)}.layer-switcher.shown.ol-control:hover{background-color:#fff9}.ol-attribution,.ol-zoom{top:.3125rem;bottom:unset;border-radius:.375rem;padding:0;border:none;background:white}.ol-attribution>button,.ol-zoom>button{padding:0;border:none;background:white}.ol-zoom{top:.3125rem;right:.5rem;left:unset;bottom:unset;border-radius:.375rem;padding:0;border:none;background:white}.ol-zoom>button{padding:0;border:none;background:white}.a-form-field[type=radio]:read-only{pointer-events:auto}.a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 20px)}.a-tooltip--click[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 10px)}.a-tooltip[data-tooltip].--absolute{position:absolute}.a-tooltip[data-tooltip].--nopos{position:unset}.o-map-slider{position:absolute;width:100%;margin-top:-.625rem;z-index:1;-webkit-appearance:none;appearance:none;background:transparent;cursor:grab}.o-map-slider.-hidden{visibility:hidden;pointer-events:none}.o-map-slider::-webkit-slider-runnable-track{background:none}.o-map-slider::-moz-range-track{background:none}.o-map-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#113b6e;height:125rem;margin-top:-121.875rem;width:.25rem}.o-map-slider::-moz-range-thumb{border:none;border-radius:0;background-color:#113b6e;height:125rem;margin-top:-121.875rem;width:.25rem}\n", ".m-layer-legend{z-index:2;right:.5rem}.m-layer-legend.ol-control{display:flex;flex-direction:column;align-items:flex-start;border:none;background:white}.m-layer-legend button{background-color:#fafafa!important;color:#000}.m-layer-legend .-hidden{display:none}.m-layer-legend__toggle{align-self:flex-end;width:1.875rem;height:1.875rem}.m-layer-legend__title{display:flex;flex-direction:row;align-items:center;background-color:#fff;justify-content:space-between}.m-layer-legend__image{background:white;overflow:scroll}.m-layer-legend__error{font-style:italic;color:#c74646}.m-layer-switcher{z-index:2;right:.5rem;display:flex;flex-direction:column;align-items:normal}.m-layer-switcher.ol-control{border:none;background:white;align-self:flex-end}.m-layer-switcher button{background-color:#fafafa!important;color:#000}.m-layer-switcher .-hidden{display:none}.m-layer-switcher__toggle{width:1.875rem;height:1.875rem;align-self:flex-end}.m-layer-switcher__title{display:flex;flex-direction:row;background-color:#fff;justify-content:space-between;gap:.625rem;padding:5px}.m-layer-switcher__image{background:white;overflow:scroll}.m-layer-switcher__error{font-style:italic;color:#c74646}\n"] }]
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDBEQUp6QixFQUFFOzsyRkFJRCx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC1tYXAtY3NzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi9fby13aWRnZXQtbWFwLnNjc3MnLCAnLi9fby1sYXllci1sZWdlbmQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeVdpZGdldE1hcENzc0NvbXBvbmVudCB7fVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCLDBEQUp6QixFQUFFOzs0RkFJRCx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC1tYXAtY3NzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi9fby13aWRnZXQtbWFwLnNjc3MnLCAnLi9fby1sYXllci1sZWdlbmQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeVdpZGdldE1hcENzc0NvbXBvbmVudCB7fVxuIl19
@@ -231,7 +231,7 @@ export class WidgetMapUtils {
231
231
  return layers.sort((l1, l2) => (l1.order ?? 1) - (l2.order ?? 1));
232
232
  }
233
233
  static readGeometry(projection, item, type, attribute) {
234
- if (!attribute || !item.attributes[attribute.name]) {
234
+ if (!attribute) {
235
235
  // @ts-ignore
236
236
  return null;
237
237
  }
@@ -312,4 +312,4 @@ export class WidgetMapUtils {
312
312
  static { this.DEFAULT_MAP_CENTER = [2.2827217347381525, 48.864706031557716]; }
313
313
  static { this.BACKGROUND_ORDER = 9999; }
314
314
  }
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxrQkFBa0IsRUFFbEIsU0FBUyxFQUdULFNBQVMsRUFRVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQWtCLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMseUJBQXlCLENBQzlCLEtBQTRCLEVBQzVCLFNBQW9CLEVBQ3BCLGtCQUEyQixFQUMzQixNQUFlO1FBRWYsSUFDRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUN6RyxLQUFLLENBQUMsSUFBSSxDQUNYO1lBQ0QsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsa0JBQWtCO1lBQ3BCLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzdCO1lBQ0EsTUFBTSxhQUFhLEdBQUcsS0FHUyxDQUFDO1lBRWhDLE1BQU0sT0FBTyxHQUFH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QyxDQUFDO2FBQ3JCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQzthQUN4QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7YUFDdEIsdUJBQWtCLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBRTlELHFCQUFnQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBBdHRyaWJ1dGUsXG4gIEF0dHJpYnV0ZVNpbXBsZVZhbHVlLFxuICBDbGFzcyxcbiAgREVGQVVMVF9QUk9KRUNUSU9OLFxuICBGaWVsZCxcbiAgRmllbGRUeXBlLFxuICBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSxcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBNYXBHZW9TZXJ2ZXJMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0SGVhdE1hcExheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICBNYXBXaWRnZXRNYXJrZXJMYXllck9wdGlvbnMsXG4gIFJlbGF0aW9uLFxuICBSZXN1bHRTZXRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgTGluZVN0cmluZywgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgV2lkZ2V0TWFwTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50L3dpZGdldC1tYXAtbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgUHJvamVjdGlvbkxpa2UsIHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IEdlb21ldHJ5IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IHsgR2VvSlNPTiB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBYTUxVdGlscyB9IGZyb20gJy4veG1sLXV0aWxzLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIFdpZGdldE1hcFV0aWxzIHtcbiAgc3RhdGljIHBvcHVsYXRlTG9jYXRpb25BdHRyaWJ1dGUoXG4gICAgbGF5ZXI6IE1hcFdpZGdldExheWVyT3B0aW9ucyxcbiAgICByZXN1bHRTZXQ6IFJlc3VsdFNldCxcbiAgICBjbGFzc2VzTm90RmlsdGVyZWQ6IENsYXNzW10sXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICkge1xuICAgIGlmIChcbiAgICAgIFsnaGVhdG1hcCcsICdtYXJrZXInLCAnYnViYmxlJywgJ3BvaW50JywgJ2xpbmUnLCAncG9seWdvbicsICdtdWx0aS1saW5lJywgJ211bHRpLXBvbHlnb24nLCAnYXV0byddLmluY2x1ZGVzKFxuICAgICAgICBsYXllci50eXBlXG4gICAgICApICYmXG4gICAgICAhIXJlc3VsdFNldCAmJlxuICAgICAgISFjbGFzc2VzTm90RmlsdGVyZWQgJiZcbiAgICAgIGNsYXNzZXNOb3RGaWx0ZXJlZC5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzcGVjaWZpY0xheWVyID0gbGF5ZXIgYXNcbiAgICAgICAgfCBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zXG4gICAgICAgIHwgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zXG4gICAgICAgIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zO1xuXG4gICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgICAgKGNsKSA9PiBzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDBcbiAgICAgICk7XG5cbiAgICAgIGlmICghc3BlY2lmaWNMYXllci5hdHRyaWJ1dGUpIHtcbiAgICAgICAgLy8gTm8gbG9jYXRpb24gYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0cnkgdG8gZ3Vlc3Mgb25lIHRoYXQgd2lsbCBiZSBva1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gV2lkZ2V0TWFwVXRpbHMuZ2VvbWV0cnlGb3JMYXllcihsYXllcik7XG5cbiAgICAgICAgbGV0IGNhbmRpZGF0ZXMgPSBbXSBhcyB7XG4gICAgICAgICAgYXR0cjogQXR0cmlidXRlO1xuICAgICAgICAgIGZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZDtcbiAgICAgICAgfVtdO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgLy8gQmFzZWQgb24gaXRlbXMgdGhhdCB3ZSBoYXZlIHRvIGRpc3BsYXlcblxuICAgICAgICAgIGNhbmRpZGF0ZXMgPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgICAubWFwKChrZXkpID0+ICh7IGl0ZW1zOiByZXN1bHRTZXQuaXRlbXNba2V5XSwgb0NsYXNzOiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0ga2V5KSB9KSlcbiAgICAgICAgICAgIC5tYXAoKHsgaXRlbXMsIG9DbGFzcyB9KSA9PlxuICAgICAgICAgICAgICAob0NsYXNzID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gYXR0ci5maWVsZD8udHlwZSA9PT0gZ2VvbWV0cnkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGFueSBpdGVtcyB0byBkaXNwbGF5LCBzbyBhbGxvdyBhbGwgY29ycmVzcG9uZGluZyBnZW9tZXRyeSBmaWVsZHNcbiAgICAgICAgICBjYW5kaWRhdGVzID0gY2xhc3Nlc05vdEZpbHRlcmVkXG4gICAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcylcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgYXR0ciwgZmllbGQgfSkgPT4gZmllbGQ/LnR5cGUgPT09IGdlb21ldHJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzcGVjaWZpY0xheWVyLmF0dHJpYnV0ZSA9IGNhbmRpZGF0ZXNbMF0uYXR0ci5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIHBvcHVsYXRlSW50ZW5zaXR5QXR0cmlidXRlKFxuICAgIGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gICAgcmVzdWx0U2V0OiBSZXN1bHRTZXQsXG4gICAgY2xhc3Nlc05vdEZpbHRlcmVkOiBDbGFzc1tdLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApIHtcbiAgICBpZiAoXG4gICAgICBbJ2hlYXRtYXAnLCAnYnViYmxlJ10uaW5jbHVkZXMobGF5ZXIudHlwZSkgJiZcbiAgICAgICEhcmVzdWx0U2V0ICYmXG4gICAgICAhIWNsYXNzZXNOb3RGaWx0ZXJlZCAmJlxuICAgICAgY2xhc3Nlc05vdEZpbHRlcmVkLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IHNwZWNpZmljTGF5ZXIgPSBsYXllciBhcyBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zO1xuXG4gICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgICAgKGNsKSA9PlxuICAgICAgICAgIChzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDApICYmXG4gICAgICAgICAgY2wuYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLm5hbWUgPT09IChzcGVjaWZpY0xheWVyPy5hdHRyaWJ1dGUgPz8gW10pKVxuICAgICAgKTtcblxuICAgICAgaWYgKCFzcGVjaWZpY0xheWVyLmludGVuc2l0eUF0dHJpYnV0ZSkge1xuICAgICAgICAvLyBObyBpbnRlbnNpdHkgYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0YWtlIHRoZSBtYXhpbXVtIGludGVuc2l0eSBtYXRjaGluZyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlc0RyeSA9IE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcylcbiAgICAgICAgICAubWFwKChrZXkpID0+ICh7IGl0ZW1zOiByZXN1bHRTZXQuaXRlbXNba2V5XSwgb0NsYXNzOiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0ga2V5KSB9KSlcbiAgICAgICAgICAubWFwKCh7IGl0ZW1zLCBvQ2xhc3MgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChvQ2xhc3MgPz8geyBhdHRyaWJ1dGVzOiBbXSB9KS5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5ERUNJTUFMIHx8IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5JTlRFR0VSKVxuICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0clZhbHVlcyA9IEl0ZW1VdGlscy5wZXJ0aW5lbnRWYWx1ZShpdGVtcywgYXR0ci5hdHRyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgbWluOiBNYXRoLm1pbiguLi5hdHRyVmFsdWVzKSxcbiAgICAgICAgICAgICAgICAgIG1heDogTWF0aC5tYXgoLi4uYXR0clZhbHVlcyksXG4gICAgICAgICAgICAgICAgICBuYW1lOiBhdHRyLmF0dHIubmFtZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5tYXggLSBhLm1heCk7XG5cbiAgICAgICAgaWYgKGNhbmRpZGF0ZXNEcnkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXR0cmlidXRlID0gY2FuZGlkYXRlc0RyeVswXS5uYW1lO1xuICAgICAgICAgIHNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXNjID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRGZWF0dXJlRnJvbUl0ZW0oXG4gICAgcHJvamVjdGlvbjogUHJvamVjdGlvbkxpa2UsXG4gICAgaXRlbTogSXRlbSxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgICBpY29uU3R5bGU/OiBTdHlsZSxcbiAgICBzZWxlY3RlZEljb25TdHlsZT86IFN0eWxlXG4gICkge1xuICAgIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgdHlwZSxcbiAgICAgIGdlb21ldHJ5OiBXaWRnZXRNYXBVdGlscy5yZWFkR2VvbWV0cnkocHJvamVjdGlvbiwgaXRlbSwgJ3BvaW50JywgbG9jYXRpb25BdHRyaWJ1dGUpID8/IHVuZGVmaW5lZCxcbiAgICAgIGNsYXNzaWNTdHlsZTogaWNvblN0eWxlID8/IG51bGwsXG4gICAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSA/PyBudWxsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q2lyY2xlRmVhdHVyZUZyb21JdGVtKFxuICAgIHByb2plY3Rpb246IFByb2plY3Rpb25MaWtlLFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgICByYWRpdXM6IG51bWJlcixcbiAgICBpY29uU3R5bGU6IFN0eWxlLFxuICAgIHNlbGVjdGVkSWNvblN0eWxlOiBTdHlsZVxuICApIHtcbiAgICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGdlb21ldHJ5OiBuZXcgQ2lyY2xlKFxuICAgICAgICAoV2lkZ2V0TWFwVXRpbHMucmVhZEdlb21ldHJ5KHByb2plY3Rpb24sIGl0ZW0sICdwb2ludCcsIGxvY2F0aW9uQXR0cmlidXRlKSBhcyBQb2ludCkuZ2V0Q29vcmRpbmF0ZXMoKSxcbiAgICAgICAgcmFkaXVzXG4gICAgICApLFxuICAgICAgY2xhc3NpY1N0eWxlOiBpY29uU3R5bGUsXG4gICAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSxcbiAgICAgIHR5cGU6ICdidWJibGUnXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TGlua0ZlYXR1cmUocmVsYXRpb246IFJlbGF0aW9uLCBmZWF0dXJlU291cmNlOiBGZWF0dXJlPFBvaW50PiwgZmVhdHVyZURlc3RpbmF0aW9uOiBGZWF0dXJlPFBvaW50Pikge1xuICAgIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgICAuLi5yZWxhdGlvbixcbiAgICAgIGdlb21ldHJ5OiBuZXcgTGluZVN0cmluZyhbXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZmVhdHVyZVNvdXJjZS5nZXRHZW9tZXRyeSgpPy5nZXRDb29yZGluYXRlcygpID8/IGZlYXR1cmVTb3VyY2UuZ2V0R2VvbWV0cnkoKT8uZ2V0Q2VudGVyKCkgPz8gWzAsIDBdLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZlYXR1cmVEZXN0aW5hdGlvbi5nZXRHZW9tZXRyeSgpPy5nZXRDb29yZGluYXRlcygpID8/IGZlYXR1cmVEZXN0aW5hdGlvbi5nZXRHZW9tZXRyeSgpPy5nZXRDZW50ZXIoKSA/PyBbMCwgMF1cbiAgICAgIF0pLFxuICAgICAgc291cmNlOiBmZWF0dXJlU291cmNlLFxuICAgICAgZGVzdGluYXRpb246IGZlYXR1cmVEZXN0aW5hdGlvbixcbiAgICAgIHR5cGU6ICdsaW5rJ1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldE1hcEFzUG5nKG1hcDogTWFwKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbWFwLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBtYXBDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IG1hcC5nZXRTaXplKCkgfHwgWzEwMCwgMTAwXTtcbiAgICAgICAgbWFwQ2FudmFzLndpZHRoID0gc2l6ZVswXTtcbiAgICAgICAgbWFwQ2FudmFzLmhlaWdodCA9IHNpemVbMV07XG4gICAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBtYXBDYW52YXMuZ2V0Q29udGV4dCgnMmQnKSB8fCAobnVsbCBhcyB1bmtub3duIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7XG4gICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9sLWxheWVyIGNhbnZhcywgY2FudmFzLm9sLWxheWVyJyksIChjYW52YXMpID0+IHtcbiAgICAgICAgICBpZiAoY2FudmFzLndpZHRoID4gMCkge1xuICAgICAgICAgICAgY29uc3Qgb3BhY2l0eSA9IGNhbnZhcy5wYXJlbnROb2RlLnN0eWxlLm9wYWNpdHkgfHwgY2FudmFzLnN0eWxlLm9wYWNpdHk7XG4gICAgICAgICAgICBtYXBDb250ZXh0Lmdsb2JhbEFscGhhID0gb3BhY2l0eSA9PT0gJycgPyAxIDogTnVtYmVyKG9wYWNpdHkpO1xuXG4gICAgICAgICAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3IgPSBjYW52YXMucGFyZW50Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgICAgIG1hcENvbnRleHQuZmlsbFN0eWxlID0gYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICBtYXBDb250ZXh0LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBtYXRyaXg7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBjYW52YXMuc3R5bGUudHJhbnNmb3JtO1xuICAgICAgICAgICAgaWYgKHRyYW5zZm9ybSkge1xuICAgICAgICAgICAgICAvLyBHZXQgdGhlIHRyYW5zZm9ybSBwYXJhbWV0ZXJzIGZyb20gdGhlIHN0eWxlJ3MgdHJhbnNmb3JtIG1hdHJpeFxuICAgICAgICAgICAgICBtYXRyaXggPSB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAubWF0Y2goL15tYXRyaXhcXCgoW14oXSopXFwpJC8pWzFdXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAubWFwKE51bWJlcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtYXRyaXggPSBbXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdChjYW52YXMuc3R5bGUud2lkdGgpIC8gY2FudmFzLndpZHRoLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNhbnZhcy5zdHlsZS5oZWlnaHQpIC8gY2FudmFzLmhlaWdodCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8gdGhlIGV4cG9ydCBtYXAgY29udGV4dFxuICAgICAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZS5zZXRUcmFuc2Zvcm0uYXBwbHkobWFwQ29udGV4dCwgbWF0cml4KTtcbiAgICAgICAgICAgIG1hcENvbnRleHQuZHJhd0ltYWdlKGNhbnZhcywgMCwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWFwQ29udGV4dC5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHJlc29sdmUobWFwQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJykpO1xuICAgICAgfSk7XG4gICAgICBtYXAucmVuZGVyU3luYygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGV4cG9ydE1hcEFzSW1hZ2UobWFwOiBNYXAsIGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICBXaWRnZXRNYXBVdGlscy5nZXRNYXBBc1BuZyhtYXApLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgICBsaW5rLmhyZWYgPSBkYXRhO1xuICAgICAgbGluay5jbGljaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdlb21ldHJ5Rm9yTGF5ZXIobGF5ZXI6IE1hcFdpZGdldExheWVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsYXllci50eXBlKSB7XG4gICAgICBjYXNlICdtYXJrZXInOlxuICAgICAgY2FzZSAnaGVhdG1hcCc6XG4gICAgICBjYXNlICdidWJibGUnOlxuICAgICAgY2FzZSAncG9pbnQnOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICAgICAgY2FzZSAnbGluZSc6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuTElORTtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPTFlHT047XG4gICAgICBjYXNlICdtdWx0aS1saW5lJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5NVUxUSUxJTkU7XG4gICAgICBjYXNlICdtdWx0aS1wb2x5Z29uJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5NVUxUSVBPTFlHT047XG4gICAgICBjYXNlICdhdXRvJzpcbiAgICAgICAgcmV0dXJuIFdpZGdldE1hcFV0aWxzLmdlb21ldHJ5Rm9yTGF5ZXIoe1xuICAgICAgICAgIHR5cGU6IFdpZGdldE1hcExheWVyU2VydmljZS50cmFuc2xhdGVGaWVsZFR5cGVUb0xheWVyVHlwZShsYXllci5zdWJUeXBlKVxuICAgICAgICB9IGFzIE1hcFdpZGdldExheWVyT3B0aW9ucyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBhc3NpZ25MYXllcnNPcmRlcihfbGF5ZXJzOiBNYXBXaWRnZXRMYXllck9wdGlvbnNbXSkge1xuICAgIGNvbnN0IGxheWVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoX2xheWVycykpIGFzIE1hcFdpZGdldExheWVyT3B0aW9uc1tdO1xuXG4gICAgbGF5ZXJzLnNvcnQoKGwxLCBsMikgPT4gKGwyLmJhY2tncm91bmQgPyAwIDogMSkgLSAobDEuYmFja2dyb3VuZCA/IDAgOiAxKSk7XG5cbiAgICAvLyBBc3NpZ24gc3VyZSB0aGluZ3NcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAobGF5ZXIuYmFja2dyb3VuZCkge1xuICAgICAgICBsYXllci5vcmRlciA9IFdpZGdldE1hcFV0aWxzLkJBQ0tHUk9VTkRfT1JERVI7XG4gICAgICB9XG4gICAgICBpZiAoaW5kZXggPT09IDAgJiYgIWxheWVyLm9yZGVyKSB7XG4gICAgICAgIGxheWVyLm9yZGVyID0gMDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxheWVycy5mb3JFYWNoKChsYXllciwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChsYXllci5vcmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBbZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciwgZGlzdGFuY2VUb0ZpcnN0TmV4dE9yZGVyXSA9IFtcbiAgICAgICAgICBsYXllcnNcbiAgICAgICAgICAgIC5zbGljZSgwLCBpbmRleClcbiAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgIC5maW5kSW5kZXgoKGVsZW1lbnQpID0+IGVsZW1lbnQub3JkZXIgIT09IHVuZGVmaW5lZCkgKyAxLFxuICAgICAgICAgIGxheWVycy5zbGljZShpbmRleCArIDEpLmZpbmRJbmRleCgoZWxlbWVudCkgPT4gZWxlbWVudC5vcmRlciAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCBbcHJldmlvdXNPcmRlckluZGV4LCBuZXh0T3JkZXJJbmRleF0gPSBbXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciA+IC0xID8gaW5kZXggLSBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyIDogMCxcbiAgICAgICAgICBkaXN0YW5jZVRvRmlyc3ROZXh0T3JkZXIgKyBpbmRleCArIDFcbiAgICAgICAgXTtcbiAgICAgICAgbGV0IFtwcmV2aW91c09yZGVyLCBuZXh0T3JkZXJdID0gW1xuICAgICAgICAgIGRpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXIgPiAtMSA/IGxheWVyc1twcmV2aW91c09yZGVySW5kZXhdLm9yZGVyISA6IDAsXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0TmV4dE9yZGVyID4gLTEgPyBsYXllcnNbbmV4dE9yZGVySW5kZXhdLm9yZGVyISA6IC0xXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKG5leHRPcmRlciA+IDAgJiYgbmV4dE9yZGVyIDwgcHJldmlvdXNPcmRlcikge1xuICAgICAgICAgIGNvbnN0IG5ld09yZGVyID0gcHJldmlvdXNPcmRlciArIChuZXh0T3JkZXJJbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleCk7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYHRoZSBvcmRlciBwcm9wZXJ0eSBvZiBsYXllciBubyAke2luZGV4ICsgMn0gd2FzIHByZXNldCBidXQgZG9lc24ndCBmb2xsb3cgdGhlIG9yZGVyIG9mIHRoZSBvdGhlciBsYXllcnNgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBuZXh0T3JkZXIgPSBuZXdPcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXh0T3JkZXIgPiAwKSB7XG4gICAgICAgICAgbGV0IHJlbGF0aXZlSW5kZXggPSBpbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleDtcbiAgICAgICAgICBsYXllci5vcmRlciA9XG4gICAgICAgICAgICBwcmV2aW91c09yZGVyICsgKChuZXh0T3JkZXIgLSBwcmV2aW91c09yZGVyKSAvIChuZXh0T3JkZXJJbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleCkpICogcmVsYXRpdmVJbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsYXllci5vcmRlciA9IHByZXZpb3VzT3JkZXIgKyBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGF5ZXJzLnNvcnQoKGwxLCBsMikgPT4gKGwxLm9yZGVyID8/IDEpIC0gKGwyLm9yZGVyISA/PyAxKSk7XG4gIH1cblxuICBzdGF0aWMgcmVhZEdlb21ldHJ5PFQgZXh0ZW5kcyAncG9pbnQnIHwgJ2xpbmUnIHwgJ211bHRpLWxpbmUnIHwgJ3BvbHlnb24nIHwgJ211bHRpLXBvbHlnb24nPihcbiAgICBwcm9qZWN0aW9uOiBQcm9qZWN0aW9uTGlrZSxcbiAgICBpdGVtOiBJdGVtLFxuICAgIHR5cGU6IFQsXG4gICAgYXR0cmlidXRlOiBBdHRyaWJ1dGUgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgaWYgKCFhdHRyaWJ1dGUgfHwgIWl0ZW0uYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV0pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGl0ZW0uYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV07XG4gICAgaWYgKHZhbHVlLnR5cGUgPT09ICdNVUxUSScpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVzWzBdO1xuICAgIH1cbiAgICBsZXQgZ2VvbWV0cnk7XG4gICAgdHJ5IHtcbiAgICAgIGdlb21ldHJ5ID0gbmV3IEdlb0pTT04oKS5yZWFkR2VvbWV0cnkodmFsdWUudmFsdWUgYXMgYW55LCB7XG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXG4gICAgICB9KSBhcyBHZW9tZXRyeTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Vycm9yIHJlYWRpbmcgR2VvbWV0cnknLCB2YWx1ZS52YWx1ZSwgZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdlb21ldHJ5O1xuICB9XG5cbiAgc3RhdGljIGV4dHJhY3RHZW9tZXRyaWVzKHZhbHVlOiBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSwgcG9pbnRzOiBhbnlbXSwgdHlwZTogJ3BvaW50JyB8ICdsaW5lJyB8ICdwb2x5Z29uJykge1xuICAgIGNvbnN0IHZhbHVlU2ltcGxlID0gdmFsdWUudmFsdWU7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZVNpbXBsZSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlU2ltcGxlICE9PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHR5cGUgPT09ICdwb2ludCcgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLlBPSU5UKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKHZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAncG9pbnQnICYmIHZhbHVlU2ltcGxlLnR5cGUgPT09IEZpZWxkVHlwZS5NVUxUSVBPSU5UKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAnbGluZScgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLkxJTkUpIHtcbiAgICAgICAgcG9pbnRzLnB1c2godmFsdWVTaW1wbGUuY29vcmRpbmF0ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdsaW5lJyAmJiB2YWx1ZVNpbXBsZS50eXBlID09PSBGaWVsZFR5cGUuTVVMVElMSU5FKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAncG9seWdvbicgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLlBPTFlHT04pIHtcbiAgICAgICAgcG9pbnRzLnB1c2godmFsdWVTaW1wbGUuY29vcmRpbmF0ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdwb2x5Z29uJyAmJiB2YWx1ZVNpbXBsZS50eXBlID09PSBGaWVsZFR5cGUuTVVMVElQT0xZR09OKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcHJvamVjdEV4dGVudEFnZ3JlZ2F0aW9uUmVzcG9uc2UoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGV4dGVudFJlc3BvbnNlOiBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgICBsYXllcjogTWFwR2VvU2VydmVyTGF5ZXJPcHRpb25zLFxuICAgIHdtc0NhcGFiaWxpdGllczogeyBbcDogc3RyaW5nXTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0gfCB1bmRlZmluZWQsXG4gICAgbWFwOiBNYXBcbiAgKSB7XG4gICAgY29uc3QgcHJvakJveCA9IGdldFByb2plY3Rpb24oZmllbGQhLmNycyA/PyBERUZBVUxUX1BST0pFQ1RJT04pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZXh0ZW50UmVzcG9uc2UudmFsdWVzIGFzIHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgIGxhdDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9W107XG4gICAgaWYgKFxuICAgICAgcHJvakJveCAmJlxuICAgICAgcmVzcG9uc2UubGVuZ3RoID4gMCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLnRvcF9sZWZ0ICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS50b3BfbGVmdC5sYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUudG9wX2xlZnQubG9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLmJvdHRvbV9yaWdodCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUuYm90dG9tX3JpZ2h0LmxhdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS5ib3R0b21fcmlnaHQubG9uICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IGxheWVyLmRhdGFzb3VyY2VJZCxcbiAgICAgICAgZXh0ZW50OiBbXG4gICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIGV4dGVudFJlc3BvbnNlLnZhbHVlc1swXSBhcyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wX2xlZnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS52YWx1ZS50b3BfbGVmdC5sb25cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkudmFsdWUudG9wX2xlZnQubGF0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgbWFwLmdldFZpZXcoKS5nZXRQcm9qZWN0aW9uKClcbiAgICAgICAgICApLFxuICAgICAgICAgIHRyYW5zZm9ybShcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLmJvdHRvbV9yaWdodC5sb25cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLmJvdHRvbV9yaWdodC5sYXRcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHByb2pCb3gsXG4gICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YXNvdXJjZTogbGF5ZXIuZGF0YXNvdXJjZUlkLFxuICAgICAgZXh0ZW50OiBYTUxVdGlscy5nZXRMYXllckV4dGVudChsYXllci5wYXJhbUxheWVyLCBtYXAsIHdtc0NhcGFiaWxpdGllcyFbbGF5ZXIudXJsXT8uZG9jKSA/PyBbXVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgREVGQVVMVF9IRUFUTUFQX1JBRElVUyA9IDI1O1xuICBzdGF0aWMgREVGQVVMVF9SQURJVVNfSU5URU5TSVRZX0ZBQ1RPUiA9IDEwMDAwO1xuICBzdGF0aWMgREVGQVVMVF9aT09NX01JTiA9IDM7XG4gIHN0YXRpYyBERUZBVUxUX1pPT01fU1RBUlQgPSAxMDtcbiAgc3RhdGljIERFRkFVTFRfWk9PTV9NQVggPSAxODtcbiAgc3RhdGljIERFRkFVTFRfTUFQX0NFTlRFUiA9IFsyLjI4MjcyMTczNDczODE1MjUsIDQ4Ljg2NDcwNjAzMTU1NzcxNl07XG5cbiAgc3RhdGljIEJBQ0tHUk9VTkRfT1JERVIgPSA5OTk5O1xufVxuIl19
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxrQkFBa0IsRUFFbEIsU0FBUyxFQUdULFNBQVMsRUFRVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQWtCLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMseUJBQXlCLENBQzlCLEtBQTRCLEVBQzVCLFNBQW9CLEVBQ3BCLGtCQUEyQixFQUMzQixNQUFlO1FBRWYsSUFDRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUN6RyxLQUFLLENBQUMsSUFBSSxDQUNYO1lBQ0QsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsa0JBQWtCO1lBQ3BCLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzdCO1lBQ0EsTUFBTSxhQUFhLEdBQUcsS0FHUyxDQUFDO1lBRWhDLE1BQU0sT0FBTyxHQUFH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RyxFQUFFLENBQUM7YUFDdEIsdUJBQWtCLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBRTlELHFCQUFnQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBBdHRyaWJ1dGUsXG4gIEF0dHJpYnV0ZVNpbXBsZVZhbHVlLFxuICBDbGFzcyxcbiAgREVGQVVMVF9QUk9KRUNUSU9OLFxuICBGaWVsZCxcbiAgRmllbGRUeXBlLFxuICBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSxcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBNYXBHZW9TZXJ2ZXJMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0SGVhdE1hcExheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICBNYXBXaWRnZXRNYXJrZXJMYXllck9wdGlvbnMsXG4gIFJlbGF0aW9uLFxuICBSZXN1bHRTZXRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgTGluZVN0cmluZywgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgV2lkZ2V0TWFwTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50L3dpZGdldC1tYXAtbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgUHJvamVjdGlvbkxpa2UsIHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IEdlb21ldHJ5IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IHsgR2VvSlNPTiB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBYTUxVdGlscyB9IGZyb20gJy4veG1sLXV0aWxzLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIFdpZGdldE1hcFV0aWxzIHtcbiAgc3RhdGljIHBvcHVsYXRlTG9jYXRpb25BdHRyaWJ1dGUoXG4gICAgbGF5ZXI6IE1hcFdpZGdldExheWVyT3B0aW9ucyxcbiAgICByZXN1bHRTZXQ6IFJlc3VsdFNldCxcbiAgICBjbGFzc2VzTm90RmlsdGVyZWQ6IENsYXNzW10sXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICkge1xuICAgIGlmIChcbiAgICAgIFsnaGVhdG1hcCcsICdtYXJrZXInLCAnYnViYmxlJywgJ3BvaW50JywgJ2xpbmUnLCAncG9seWdvbicsICdtdWx0aS1saW5lJywgJ211bHRpLXBvbHlnb24nLCAnYXV0byddLmluY2x1ZGVzKFxuICAgICAgICBsYXllci50eXBlXG4gICAgICApICYmXG4gICAgICAhIXJlc3VsdFNldCAmJlxuICAgICAgISFjbGFzc2VzTm90RmlsdGVyZWQgJiZcbiAgICAgIGNsYXNzZXNOb3RGaWx0ZXJlZC5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzcGVjaWZpY0xheWVyID0gbGF5ZXIgYXNcbiAgICAgICAgfCBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zXG4gICAgICAgIHwgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zXG4gICAgICAgIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zO1xuXG4gICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgICAgKGNsKSA9PiBzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDBcbiAgICAgICk7XG5cbiAgICAgIGlmICghc3BlY2lmaWNMYXllci5hdHRyaWJ1dGUpIHtcbiAgICAgICAgLy8gTm8gbG9jYXRpb24gYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0cnkgdG8gZ3Vlc3Mgb25lIHRoYXQgd2lsbCBiZSBva1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gV2lkZ2V0TWFwVXRpbHMuZ2VvbWV0cnlGb3JMYXllcihsYXllcik7XG5cbiAgICAgICAgbGV0IGNhbmRpZGF0ZXMgPSBbXSBhcyB7XG4gICAgICAgICAgYXR0cjogQXR0cmlidXRlO1xuICAgICAgICAgIGZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZDtcbiAgICAgICAgfVtdO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgLy8gQmFzZWQgb24gaXRlbXMgdGhhdCB3ZSBoYXZlIHRvIGRpc3BsYXlcblxuICAgICAgICAgIGNhbmRpZGF0ZXMgPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgICAubWFwKChrZXkpID0+ICh7IGl0ZW1zOiByZXN1bHRTZXQuaXRlbXNba2V5XSwgb0NsYXNzOiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0ga2V5KSB9KSlcbiAgICAgICAgICAgIC5tYXAoKHsgaXRlbXMsIG9DbGFzcyB9KSA9PlxuICAgICAgICAgICAgICAob0NsYXNzID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gYXR0ci5maWVsZD8udHlwZSA9PT0gZ2VvbWV0cnkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGFueSBpdGVtcyB0byBkaXNwbGF5LCBzbyBhbGxvdyBhbGwgY29ycmVzcG9uZGluZyBnZW9tZXRyeSBmaWVsZHNcbiAgICAgICAgICBjYW5kaWRhdGVzID0gY2xhc3Nlc05vdEZpbHRlcmVkXG4gICAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcylcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgYXR0ciwgZmllbGQgfSkgPT4gZmllbGQ/LnR5cGUgPT09IGdlb21ldHJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYW5kaWRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzcGVjaWZpY0xheWVyLmF0dHJpYnV0ZSA9IGNhbmRpZGF0ZXNbMF0uYXR0ci5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIHBvcHVsYXRlSW50ZW5zaXR5QXR0cmlidXRlKFxuICAgIGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gICAgcmVzdWx0U2V0OiBSZXN1bHRTZXQsXG4gICAgY2xhc3Nlc05vdEZpbHRlcmVkOiBDbGFzc1tdLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApIHtcbiAgICBpZiAoXG4gICAgICBbJ2hlYXRtYXAnLCAnYnViYmxlJ10uaW5jbHVkZXMobGF5ZXIudHlwZSkgJiZcbiAgICAgICEhcmVzdWx0U2V0ICYmXG4gICAgICAhIWNsYXNzZXNOb3RGaWx0ZXJlZCAmJlxuICAgICAgY2xhc3Nlc05vdEZpbHRlcmVkLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IHNwZWNpZmljTGF5ZXIgPSBsYXllciBhcyBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zO1xuXG4gICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgICAgKGNsKSA9PlxuICAgICAgICAgIChzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDApICYmXG4gICAgICAgICAgY2wuYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLm5hbWUgPT09IChzcGVjaWZpY0xheWVyPy5hdHRyaWJ1dGUgPz8gW10pKVxuICAgICAgKTtcblxuICAgICAgaWYgKCFzcGVjaWZpY0xheWVyLmludGVuc2l0eUF0dHJpYnV0ZSkge1xuICAgICAgICAvLyBObyBpbnRlbnNpdHkgYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0YWtlIHRoZSBtYXhpbXVtIGludGVuc2l0eSBtYXRjaGluZyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlc0RyeSA9IE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcylcbiAgICAgICAgICAubWFwKChrZXkpID0+ICh7IGl0ZW1zOiByZXN1bHRTZXQuaXRlbXNba2V5XSwgb0NsYXNzOiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0ga2V5KSB9KSlcbiAgICAgICAgICAubWFwKCh7IGl0ZW1zLCBvQ2xhc3MgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChvQ2xhc3MgPz8geyBhdHRyaWJ1dGVzOiBbXSB9KS5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5ERUNJTUFMIHx8IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5JTlRFR0VSKVxuICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0clZhbHVlcyA9IEl0ZW1VdGlscy5wZXJ0aW5lbnRWYWx1ZShpdGVtcywgYXR0ci5hdHRyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgbWluOiBNYXRoLm1pbiguLi5hdHRyVmFsdWVzKSxcbiAgICAgICAgICAgICAgICAgIG1heDogTWF0aC5tYXgoLi4uYXR0clZhbHVlcyksXG4gICAgICAgICAgICAgICAgICBuYW1lOiBhdHRyLmF0dHIubmFtZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5tYXggLSBhLm1heCk7XG5cbiAgICAgICAgaWYgKGNhbmRpZGF0ZXNEcnkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXR0cmlidXRlID0gY2FuZGlkYXRlc0RyeVswXS5uYW1lO1xuICAgICAgICAgIHNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXNjID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRGZWF0dXJlRnJvbUl0ZW0oXG4gICAgcHJvamVjdGlvbjogUHJvamVjdGlvbkxpa2UsXG4gICAgaXRlbTogSXRlbSxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgICBpY29uU3R5bGU/OiBTdHlsZSxcbiAgICBzZWxlY3RlZEljb25TdHlsZT86IFN0eWxlXG4gICkge1xuICAgIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgdHlwZSxcbiAgICAgIGdlb21ldHJ5OiBXaWRnZXRNYXBVdGlscy5yZWFkR2VvbWV0cnkocHJvamVjdGlvbiwgaXRlbSwgJ3BvaW50JywgbG9jYXRpb25BdHRyaWJ1dGUpID8/IHVuZGVmaW5lZCxcbiAgICAgIGNsYXNzaWNTdHlsZTogaWNvblN0eWxlID8/IG51bGwsXG4gICAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSA/PyBudWxsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q2lyY2xlRmVhdHVyZUZyb21JdGVtKFxuICAgIHByb2plY3Rpb246IFByb2plY3Rpb25MaWtlLFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgICByYWRpdXM6IG51bWJlcixcbiAgICBpY29uU3R5bGU6IFN0eWxlLFxuICAgIHNlbGVjdGVkSWNvblN0eWxlOiBTdHlsZVxuICApIHtcbiAgICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGdlb21ldHJ5OiBuZXcgQ2lyY2xlKFxuICAgICAgICAoV2lkZ2V0TWFwVXRpbHMucmVhZEdlb21ldHJ5KHByb2plY3Rpb24sIGl0ZW0sICdwb2ludCcsIGxvY2F0aW9uQXR0cmlidXRlKSBhcyBQb2ludCkuZ2V0Q29vcmRpbmF0ZXMoKSxcbiAgICAgICAgcmFkaXVzXG4gICAgICApLFxuICAgICAgY2xhc3NpY1N0eWxlOiBpY29uU3R5bGUsXG4gICAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSxcbiAgICAgIHR5cGU6ICdidWJibGUnXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TGlua0ZlYXR1cmUocmVsYXRpb246IFJlbGF0aW9uLCBmZWF0dXJlU291cmNlOiBGZWF0dXJlPFBvaW50PiwgZmVhdHVyZURlc3RpbmF0aW9uOiBGZWF0dXJlPFBvaW50Pikge1xuICAgIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgICAuLi5yZWxhdGlvbixcbiAgICAgIGdlb21ldHJ5OiBuZXcgTGluZVN0cmluZyhbXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZmVhdHVyZVNvdXJjZS5nZXRHZW9tZXRyeSgpPy5nZXRDb29yZGluYXRlcygpID8/IGZlYXR1cmVTb3VyY2UuZ2V0R2VvbWV0cnkoKT8uZ2V0Q2VudGVyKCkgPz8gWzAsIDBdLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZlYXR1cmVEZXN0aW5hdGlvbi5nZXRHZW9tZXRyeSgpPy5nZXRDb29yZGluYXRlcygpID8/IGZlYXR1cmVEZXN0aW5hdGlvbi5nZXRHZW9tZXRyeSgpPy5nZXRDZW50ZXIoKSA/PyBbMCwgMF1cbiAgICAgIF0pLFxuICAgICAgc291cmNlOiBmZWF0dXJlU291cmNlLFxuICAgICAgZGVzdGluYXRpb246IGZlYXR1cmVEZXN0aW5hdGlvbixcbiAgICAgIHR5cGU6ICdsaW5rJ1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldE1hcEFzUG5nKG1hcDogTWFwKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbWFwLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBtYXBDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IG1hcC5nZXRTaXplKCkgfHwgWzEwMCwgMTAwXTtcbiAgICAgICAgbWFwQ2FudmFzLndpZHRoID0gc2l6ZVswXTtcbiAgICAgICAgbWFwQ2FudmFzLmhlaWdodCA9IHNpemVbMV07XG4gICAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBtYXBDYW52YXMuZ2V0Q29udGV4dCgnMmQnKSB8fCAobnVsbCBhcyB1bmtub3duIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7XG4gICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9sLWxheWVyIGNhbnZhcywgY2FudmFzLm9sLWxheWVyJyksIChjYW52YXMpID0+IHtcbiAgICAgICAgICBpZiAoY2FudmFzLndpZHRoID4gMCkge1xuICAgICAgICAgICAgY29uc3Qgb3BhY2l0eSA9IGNhbnZhcy5wYXJlbnROb2RlLnN0eWxlLm9wYWNpdHkgfHwgY2FudmFzLnN0eWxlLm9wYWNpdHk7XG4gICAgICAgICAgICBtYXBDb250ZXh0Lmdsb2JhbEFscGhhID0gb3BhY2l0eSA9PT0gJycgPyAxIDogTnVtYmVyKG9wYWNpdHkpO1xuXG4gICAgICAgICAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3IgPSBjYW52YXMucGFyZW50Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgICAgIG1hcENvbnRleHQuZmlsbFN0eWxlID0gYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICBtYXBDb250ZXh0LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBtYXRyaXg7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBjYW52YXMuc3R5bGUudHJhbnNmb3JtO1xuICAgICAgICAgICAgaWYgKHRyYW5zZm9ybSkge1xuICAgICAgICAgICAgICAvLyBHZXQgdGhlIHRyYW5zZm9ybSBwYXJhbWV0ZXJzIGZyb20gdGhlIHN0eWxlJ3MgdHJhbnNmb3JtIG1hdHJpeFxuICAgICAgICAgICAgICBtYXRyaXggPSB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAubWF0Y2goL15tYXRyaXhcXCgoW14oXSopXFwpJC8pWzFdXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAubWFwKE51bWJlcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtYXRyaXggPSBbXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdChjYW52YXMuc3R5bGUud2lkdGgpIC8gY2FudmFzLndpZHRoLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNhbnZhcy5zdHlsZS5oZWlnaHQpIC8gY2FudmFzLmhlaWdodCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8gdGhlIGV4cG9ydCBtYXAgY29udGV4dFxuICAgICAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZS5zZXRUcmFuc2Zvcm0uYXBwbHkobWFwQ29udGV4dCwgbWF0cml4KTtcbiAgICAgICAgICAgIG1hcENvbnRleHQuZHJhd0ltYWdlKGNhbnZhcywgMCwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWFwQ29udGV4dC5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHJlc29sdmUobWFwQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJykpO1xuICAgICAgfSk7XG4gICAgICBtYXAucmVuZGVyU3luYygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGV4cG9ydE1hcEFzSW1hZ2UobWFwOiBNYXAsIGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICBXaWRnZXRNYXBVdGlscy5nZXRNYXBBc1BuZyhtYXApLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgICBsaW5rLmhyZWYgPSBkYXRhO1xuICAgICAgbGluay5jbGljaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdlb21ldHJ5Rm9yTGF5ZXIobGF5ZXI6IE1hcFdpZGdldExheWVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsYXllci50eXBlKSB7XG4gICAgICBjYXNlICdtYXJrZXInOlxuICAgICAgY2FzZSAnaGVhdG1hcCc6XG4gICAgICBjYXNlICdidWJibGUnOlxuICAgICAgY2FzZSAncG9pbnQnOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICAgICAgY2FzZSAnbGluZSc6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuTElORTtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPTFlHT047XG4gICAgICBjYXNlICdtdWx0aS1saW5lJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5NVUxUSUxJTkU7XG4gICAgICBjYXNlICdtdWx0aS1wb2x5Z29uJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5NVUxUSVBPTFlHT047XG4gICAgICBjYXNlICdhdXRvJzpcbiAgICAgICAgcmV0dXJuIFdpZGdldE1hcFV0aWxzLmdlb21ldHJ5Rm9yTGF5ZXIoe1xuICAgICAgICAgIHR5cGU6IFdpZGdldE1hcExheWVyU2VydmljZS50cmFuc2xhdGVGaWVsZFR5cGVUb0xheWVyVHlwZShsYXllci5zdWJUeXBlKVxuICAgICAgICB9IGFzIE1hcFdpZGdldExheWVyT3B0aW9ucyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBhc3NpZ25MYXllcnNPcmRlcihfbGF5ZXJzOiBNYXBXaWRnZXRMYXllck9wdGlvbnNbXSkge1xuICAgIGNvbnN0IGxheWVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoX2xheWVycykpIGFzIE1hcFdpZGdldExheWVyT3B0aW9uc1tdO1xuXG4gICAgbGF5ZXJzLnNvcnQoKGwxLCBsMikgPT4gKGwyLmJhY2tncm91bmQgPyAwIDogMSkgLSAobDEuYmFja2dyb3VuZCA/IDAgOiAxKSk7XG5cbiAgICAvLyBBc3NpZ24gc3VyZSB0aGluZ3NcbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAobGF5ZXIuYmFja2dyb3VuZCkge1xuICAgICAgICBsYXllci5vcmRlciA9IFdpZGdldE1hcFV0aWxzLkJBQ0tHUk9VTkRfT1JERVI7XG4gICAgICB9XG4gICAgICBpZiAoaW5kZXggPT09IDAgJiYgIWxheWVyLm9yZGVyKSB7XG4gICAgICAgIGxheWVyLm9yZGVyID0gMDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxheWVycy5mb3JFYWNoKChsYXllciwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChsYXllci5vcmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBbZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciwgZGlzdGFuY2VUb0ZpcnN0TmV4dE9yZGVyXSA9IFtcbiAgICAgICAgICBsYXllcnNcbiAgICAgICAgICAgIC5zbGljZSgwLCBpbmRleClcbiAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgIC5maW5kSW5kZXgoKGVsZW1lbnQpID0+IGVsZW1lbnQub3JkZXIgIT09IHVuZGVmaW5lZCkgKyAxLFxuICAgICAgICAgIGxheWVycy5zbGljZShpbmRleCArIDEpLmZpbmRJbmRleCgoZWxlbWVudCkgPT4gZWxlbWVudC5vcmRlciAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCBbcHJldmlvdXNPcmRlckluZGV4LCBuZXh0T3JkZXJJbmRleF0gPSBbXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciA+IC0xID8gaW5kZXggLSBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyIDogMCxcbiAgICAgICAgICBkaXN0YW5jZVRvRmlyc3ROZXh0T3JkZXIgKyBpbmRleCArIDFcbiAgICAgICAgXTtcbiAgICAgICAgbGV0IFtwcmV2aW91c09yZGVyLCBuZXh0T3JkZXJdID0gW1xuICAgICAgICAgIGRpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXIgPiAtMSA/IGxheWVyc1twcmV2aW91c09yZGVySW5kZXhdLm9yZGVyISA6IDAsXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0TmV4dE9yZGVyID4gLTEgPyBsYXllcnNbbmV4dE9yZGVySW5kZXhdLm9yZGVyISA6IC0xXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKG5leHRPcmRlciA+IDAgJiYgbmV4dE9yZGVyIDwgcHJldmlvdXNPcmRlcikge1xuICAgICAgICAgIGNvbnN0IG5ld09yZGVyID0gcHJldmlvdXNPcmRlciArIChuZXh0T3JkZXJJbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleCk7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYHRoZSBvcmRlciBwcm9wZXJ0eSBvZiBsYXllciBubyAke2luZGV4ICsgMn0gd2FzIHByZXNldCBidXQgZG9lc24ndCBmb2xsb3cgdGhlIG9yZGVyIG9mIHRoZSBvdGhlciBsYXllcnNgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBuZXh0T3JkZXIgPSBuZXdPcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXh0T3JkZXIgPiAwKSB7XG4gICAgICAgICAgbGV0IHJlbGF0aXZlSW5kZXggPSBpbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleDtcbiAgICAgICAgICBsYXllci5vcmRlciA9XG4gICAgICAgICAgICBwcmV2aW91c09yZGVyICsgKChuZXh0T3JkZXIgLSBwcmV2aW91c09yZGVyKSAvIChuZXh0T3JkZXJJbmRleCAtIHByZXZpb3VzT3JkZXJJbmRleCkpICogcmVsYXRpdmVJbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsYXllci5vcmRlciA9IHByZXZpb3VzT3JkZXIgKyBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGF5ZXJzLnNvcnQoKGwxLCBsMikgPT4gKGwxLm9yZGVyID8/IDEpIC0gKGwyLm9yZGVyISA/PyAxKSk7XG4gIH1cblxuICBzdGF0aWMgcmVhZEdlb21ldHJ5PFQgZXh0ZW5kcyAncG9pbnQnIHwgJ2xpbmUnIHwgJ211bHRpLWxpbmUnIHwgJ3BvbHlnb24nIHwgJ211bHRpLXBvbHlnb24nPihcbiAgICBwcm9qZWN0aW9uOiBQcm9qZWN0aW9uTGlrZSxcbiAgICBpdGVtOiBJdGVtLFxuICAgIHR5cGU6IFQsXG4gICAgYXR0cmlidXRlOiBBdHRyaWJ1dGUgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgaWYgKCFhdHRyaWJ1dGUpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGl0ZW0uYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV07XG4gICAgaWYgKHZhbHVlLnR5cGUgPT09ICdNVUxUSScpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVzWzBdO1xuICAgIH1cbiAgICBsZXQgZ2VvbWV0cnk7XG4gICAgdHJ5IHtcbiAgICAgIGdlb21ldHJ5ID0gbmV3IEdlb0pTT04oKS5yZWFkR2VvbWV0cnkodmFsdWUudmFsdWUgYXMgYW55LCB7XG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uXG4gICAgICB9KSBhcyBHZW9tZXRyeTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Vycm9yIHJlYWRpbmcgR2VvbWV0cnknLCB2YWx1ZS52YWx1ZSwgZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdlb21ldHJ5O1xuICB9XG5cbiAgc3RhdGljIGV4dHJhY3RHZW9tZXRyaWVzKHZhbHVlOiBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSwgcG9pbnRzOiBhbnlbXSwgdHlwZTogJ3BvaW50JyB8ICdsaW5lJyB8ICdwb2x5Z29uJykge1xuICAgIGNvbnN0IHZhbHVlU2ltcGxlID0gdmFsdWUudmFsdWU7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZVNpbXBsZSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlU2ltcGxlICE9PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHR5cGUgPT09ICdwb2ludCcgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLlBPSU5UKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKHZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAncG9pbnQnICYmIHZhbHVlU2ltcGxlLnR5cGUgPT09IEZpZWxkVHlwZS5NVUxUSVBPSU5UKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAnbGluZScgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLkxJTkUpIHtcbiAgICAgICAgcG9pbnRzLnB1c2godmFsdWVTaW1wbGUuY29vcmRpbmF0ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdsaW5lJyAmJiB2YWx1ZVNpbXBsZS50eXBlID09PSBGaWVsZFR5cGUuTVVMVElMSU5FKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAncG9seWdvbicgJiYgdmFsdWVTaW1wbGUudHlwZSA9PT0gRmllbGRUeXBlLlBPTFlHT04pIHtcbiAgICAgICAgcG9pbnRzLnB1c2godmFsdWVTaW1wbGUuY29vcmRpbmF0ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdwb2x5Z29uJyAmJiB2YWx1ZVNpbXBsZS50eXBlID09PSBGaWVsZFR5cGUuTVVMVElQT0xZR09OKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKC4uLnZhbHVlU2ltcGxlLmNvb3JkaW5hdGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcHJvamVjdEV4dGVudEFnZ3JlZ2F0aW9uUmVzcG9uc2UoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGV4dGVudFJlc3BvbnNlOiBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgICBsYXllcjogTWFwR2VvU2VydmVyTGF5ZXJPcHRpb25zLFxuICAgIHdtc0NhcGFiaWxpdGllczogeyBbcDogc3RyaW5nXTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0gfCB1bmRlZmluZWQsXG4gICAgbWFwOiBNYXBcbiAgKSB7XG4gICAgY29uc3QgcHJvakJveCA9IGdldFByb2plY3Rpb24oZmllbGQhLmNycyA/PyBERUZBVUxUX1BST0pFQ1RJT04pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZXh0ZW50UmVzcG9uc2UudmFsdWVzIGFzIHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgIGxhdDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9W107XG4gICAgaWYgKFxuICAgICAgcHJvakJveCAmJlxuICAgICAgcmVzcG9uc2UubGVuZ3RoID4gMCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLnRvcF9sZWZ0ICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS50b3BfbGVmdC5sYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUudG9wX2xlZnQubG9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLmJvdHRvbV9yaWdodCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUuYm90dG9tX3JpZ2h0LmxhdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS5ib3R0b21fcmlnaHQubG9uICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IGxheWVyLmRhdGFzb3VyY2VJZCxcbiAgICAgICAgZXh0ZW50OiBbXG4gICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIGV4dGVudFJlc3BvbnNlLnZhbHVlc1swXSBhcyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wX2xlZnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS52YWx1ZS50b3BfbGVmdC5sb25cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkudmFsdWUudG9wX2xlZnQubGF0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgbWFwLmdldFZpZXcoKS5nZXRQcm9qZWN0aW9uKClcbiAgICAgICAgICApLFxuICAgICAgICAgIHRyYW5zZm9ybShcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLmJvdHRvbV9yaWdodC5sb25cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLmJvdHRvbV9yaWdodC5sYXRcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHByb2pCb3gsXG4gICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YXNvdXJjZTogbGF5ZXIuZGF0YXNvdXJjZUlkLFxuICAgICAgZXh0ZW50OiBYTUxVdGlscy5nZXRMYXllckV4dGVudChsYXllci5wYXJhbUxheWVyLCBtYXAsIHdtc0NhcGFiaWxpdGllcyFbbGF5ZXIudXJsXT8uZG9jKSA/PyBbXVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgREVGQVVMVF9IRUFUTUFQX1JBRElVUyA9IDI1O1xuICBzdGF0aWMgREVGQVVMVF9SQURJVVNfSU5URU5TSVRZX0ZBQ1RPUiA9IDEwMDAwO1xuICBzdGF0aWMgREVGQVVMVF9aT09NX01JTiA9IDM7XG4gIHN0YXRpYyBERUZBVUxUX1pPT01fU1RBUlQgPSAxMDtcbiAgc3RhdGljIERFRkFVTFRfWk9PTV9NQVggPSAxODtcbiAgc3RhdGljIERFRkFVTFRfTUFQX0NFTlRFUiA9IFsyLjI4MjcyMTczNDczODE1MjUsIDQ4Ljg2NDcwNjAzMTU1NzcxNl07XG5cbiAgc3RhdGljIEJBQ0tHUk9VTkRfT1JERVIgPSA5OTk5O1xufVxuIl19
@@ -53,6 +53,27 @@ export class XMLUtils {
53
53
  }
54
54
  return null;
55
55
  }
56
+ static allLayers(doc) {
57
+ const result = [];
58
+ if (doc) {
59
+ const WMSCapability = XMLUtils.find(doc.childNodes, 'WMS_Capabilities');
60
+ if (WMSCapability) {
61
+ const Capabilities = XMLUtils.find(WMSCapability.childNodes, 'Capability');
62
+ if (Capabilities) {
63
+ const layerBloc = XMLUtils.find(Capabilities.childNodes, 'Layer');
64
+ if (layerBloc && layerBloc.childNodes) {
65
+ for (let i = 0; i < layerBloc.childNodes.length; i++) {
66
+ const node = layerBloc.childNodes[i];
67
+ if (node.nodeName === 'Layer') {
68
+ result.push(node);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return result;
76
+ }
56
77
  static getLayerExtent(paramLayer, map, doc) {
57
78
  if (!doc) {
58
79
  return null;
@@ -74,5 +95,25 @@ export class XMLUtils {
74
95
  }
75
96
  return null;
76
97
  }
98
+ static getPossibleLayerStyles(doc) {
99
+ if (!doc) {
100
+ return {};
101
+ }
102
+ const layers = XMLUtils.allLayers(doc);
103
+ return layers.map((layer) => {
104
+ const layerName = XMLUtils.find(layer.childNodes, 'Name')?.textContent ?? '';
105
+ const styles = XMLUtils.findAll(layer.childNodes, 'Style');
106
+ const stylesArray = styles.map((style) => ({
107
+ id: XMLUtils.find(style.childNodes, 'Name')?.textContent,
108
+ label: XMLUtils.find(style.childNodes, 'Title')?.textContent ??
109
+ XMLUtils.find(style.childNodes, 'Name')?.textContent
110
+ }));
111
+ const uniquesStyles = [...new Set(stylesArray.map((style) => style.id))].map((styleId) => stylesArray.find((styleInArray) => styleInArray.id === styleId));
112
+ return {
113
+ param: layerName,
114
+ styles: uniquesStyles
115
+ };
116
+ }).reduce((p, c) => ({ ...p, [c.param]: c }), {});
117
+ }
77
118
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL3htbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtvQkFDMUIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDeEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxD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LFNBQVMsQ0FDUCxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xGLE9BQU8sRUFDUCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQzlCO3FCQUNGLENBQUM7aUJBQ0g7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX1BST0pFQ1RJT04gfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgZ2V0IGFzIGdldFByb2plY3Rpb24sIHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuXG5leHBvcnQgY2xhc3MgWE1MVXRpbHMge1xuICBzdGF0aWMgZmluZChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCEhY2hpbGRzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBub2RlID0gY2hpbGRzW2ldO1xuICAgICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZpbmRBbGwoY2hpbGRzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4sIG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBub2RlID0gY2hpbGRzW2ldO1xuICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmluZFdpdGgoY2hpbGRzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4sIGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICBjb25zdCBhdHRyTm9kZSA9IFhNTFV0aWxzLmZpbmQobm9kZS5jaGlsZE5vZGVzLCBhdHRyaWJ1dGUpO1xuICAgICAgaWYgKGF0dHJOb2RlPy50ZXh0Q29udGVudCA9PT0gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGdldE1hdGNoaW5nTGF5ZXIocGFyYW1MYXllcjogc3RyaW5nLCBkb2M/OiBEb2N1bWVudCkge1xuICAgIGlmIChkb2MpIHtcbiAgICAgIGNvbnN0IFdNU0NhcGFiaWxpdHkgPSBYTUxVdGlscy5maW5kKGRvYy5jaGlsZE5vZGVzLCAnV01TX0NhcGFiaWxpdGllcycpO1xuICAgICAgaWYgKFdNU0NhcGFiaWxpdHkpIHtcbiAgICAgICAgY29uc3QgQ2FwYWJpbGl0aWVzID0gWE1MVXRpbHMuZmluZChXTVNDYXBhYmlsaXR5LmNoaWxkTm9kZXMsICdDYXBhYmlsaXR5Jyk7XG4gICAgICAgIGlmIChDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBjb25zdCBMYXllciA9IFhNTFV0aWxzLmZpbmQoQ2FwYWJpbGl0aWVzLmNoaWxkTm9kZXMsICdMYXllcicpO1xuICAgICAgICAgIGlmIChMYXllcikge1xuICAgICAgICAgICAgbGV0IG1hdGNoaW5nTGF5ZXIgPSBYTUxVdGlscy5maW5kV2l0aChMYXllci5jaGlsZE5vZGVzLCAnTmFtZScsIHBhcmFtTGF5ZXIpO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXQgPSBwYXJhbUxheWVyLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICBpZiAoIW1hdGNoaW5nTGF5ZXIgJiYgc3BsaXQubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgLy8gVHJ5IGFnYWluLCBzcGxpdHRpbmcgb24gXCI6XCIgaW4gdGhlIG5hbWUgdG8gaWdub3JlIG5hbWVzcGFjZSBpZiBwcmVzZW50XG4gICAgICAgICAgICAgIG1hdGNoaW5nTGF5ZXIgPSBYTUxVdGlscy5maW5kV2l0aChMYXllci5jaGlsZE5vZGVzLCAnTmFtZScsIHNwbGl0W3NwbGl0Lmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYXRjaGluZ0xheWVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRMYXllckV4dGVudChwYXJhbUxheWVyOiBzdHJpbmcsIG1hcDogTWFwLCBkb2M/OiBEb2N1bWVudCkge1xuICAgIGlmICghZG9jKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmdldE1hdGNoaW5nTGF5ZXIocGFyYW1MYXllciwgZG9jKTtcbiAgICBpZiAobWF0Y2hpbmdMYXllcikge1xuICAgICAgY29uc3QgYm91bmRpbmdCb3ggPSBYTUxVdGlscy5maW5kKG1hdGNoaW5nTGF5ZXIuY2hpbGROb2RlcywgJ0JvdW5kaW5nQm94Jyk7XG4gICAgICBpZiAoYm91bmRpbmdCb3gpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gYm91bmRpbmdCb3guYXR0cmlidXRlcztcbiAgICAgICAgY29uc3QgcHJvakJveCA9IGdldFByb2plY3Rpb24oYXR0cmlidXRlcy5DUlMudGV4dENvbnRlbnQgPz8gREVGQVVMVF9QUk9KRUNUSU9OKTtcbiAgICAgICAgaWYgKHByb2pCb3gpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgICBbcGFyc2VGbG9hdChhdHRyaWJ1dGVzLm1pbngudGV4dENvbnRlbnQpLCBwYXJzZUZsb2F0KGF0dHJpYnV0ZXMubWlueS50ZXh0Q29udGVudCldLFxuICAgICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zZm9ybShcbiAgICAgICAgICAgICAgW3BhcnNlRmxvYXQoYXR0cmlidXRlcy5tYXh4LnRleHRDb250ZW50KSwgcGFyc2VGbG9hdChhdHRyaWJ1dGVzLm1heHkudGV4dENvbnRlbnQpXSxcbiAgICAgICAgICAgICAgcHJvakJveCxcbiAgICAgICAgICAgICAgbWFwLmdldFZpZXcoKS5nZXRQcm9qZWN0aW9uKClcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL3htbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtvQkFDMUIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDeEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxD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QUFZLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUNoRSxDQUFDO1lBQ0YsT0FBTztnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLGFBQWE7YUFDdEIsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfUFJPSkVDVElPTiB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5cbmV4cG9ydCBjbGFzcyBYTUxVdGlscyB7XG4gIHN0YXRpYyBmaW5kKGNoaWxkczogTm9kZUxpc3RPZjxDaGlsZE5vZGU+LCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoISFjaGlsZHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZmluZEFsbChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kV2l0aChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkc1tpXTtcbiAgICAgIGNvbnN0IGF0dHJOb2RlID0gWE1MVXRpbHMuZmluZChub2RlLmNoaWxkTm9kZXMsIGF0dHJpYnV0ZSk7XG4gICAgICBpZiAoYXR0ck5vZGU/LnRleHRDb250ZW50ID09PSB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWF0Y2hpbmdMYXllcihwYXJhbUxheWVyOiBzdHJpbmcsIGRvYz86IERvY3VtZW50KSB7XG4gICAgaWYgKGRvYykge1xuICAgICAgY29uc3QgV01TQ2FwYWJpbGl0eSA9IFhNTFV0aWxzLmZpbmQoZG9jLmNoaWxkTm9kZXMsICdXTVNfQ2FwYWJpbGl0aWVzJyk7XG4gICAgICBpZiAoV01TQ2FwYWJpbGl0eSkge1xuICAgICAgICBjb25zdCBDYXBhYmlsaXRpZXMgPSBYTUxVdGlscy5maW5kKFdNU0NhcGFiaWxpdHkuY2hpbGROb2RlcywgJ0NhcGFiaWxpdHknKTtcbiAgICAgICAgaWYgKENhcGFiaWxpdGllcykge1xuICAgICAgICAgIGNvbnN0IExheWVyID0gWE1MVXRpbHMuZmluZChDYXBhYmlsaXRpZXMuY2hpbGROb2RlcywgJ0xheWVyJyk7XG4gICAgICAgICAgaWYgKExheWVyKSB7XG4gICAgICAgICAgICBsZXQgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmZpbmRXaXRoKExheWVyLmNoaWxkTm9kZXMsICdOYW1lJywgcGFyYW1MYXllcik7XG4gICAgICAgICAgICBjb25zdCBzcGxpdCA9IHBhcmFtTGF5ZXIuc3BsaXQoJzonKTtcbiAgICAgICAgICAgIGlmICghbWF0Y2hpbmdMYXllciAmJiBzcGxpdC5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgICAvLyBUcnkgYWdhaW4sIHNwbGl0dGluZyBvbiBcIjpcIiBpbiB0aGUgbmFtZSB0byBpZ25vcmUgbmFtZXNwYWNlIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmZpbmRXaXRoKExheWVyLmNoaWxkTm9kZXMsICdOYW1lJywgc3BsaXRbc3BsaXQubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoaW5nTGF5ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGFsbExheWVycyhkb2M/OiBEb2N1bWVudCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGlmIChkb2MpIHtcbiAgICAgIGNvbnN0IFdNU0NhcGFiaWxpdHkgPSBYTUxVdGlscy5maW5kKGRvYy5jaGlsZE5vZGVzLCAnV01TX0NhcGFiaWxpdGllcycpO1xuICAgICAgaWYgKFdNU0NhcGFiaWxpdHkpIHtcbiAgICAgICAgY29uc3QgQ2FwYWJpbGl0aWVzID0gWE1MVXRpbHMuZmluZChXTVNDYXBhYmlsaXR5LmNoaWxkTm9kZXMsICdDYXBhYmlsaXR5Jyk7XG4gICAgICAgIGlmIChDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBjb25zdCBsYXllckJsb2MgPSBYTUxVdGlscy5maW5kKENhcGFiaWxpdGllcy5jaGlsZE5vZGVzLCAnTGF5ZXInKTtcbiAgICAgICAgICBpZiAobGF5ZXJCbG9jICYmIGxheWVyQmxvYy5jaGlsZE5vZGVzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxheWVyQmxvYy5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBsYXllckJsb2MuY2hpbGROb2Rlc1tpXTtcbiAgICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICdMYXllcicpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGdldExheWVyRXh0ZW50KHBhcmFtTGF5ZXI6IHN0cmluZywgbWFwOiBNYXAsIGRvYz86IERvY3VtZW50KSB7XG4gICAgaWYgKCFkb2MpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaGluZ0xheWVyID0gWE1MVXRpbHMuZ2V0TWF0Y2hpbmdMYXllcihwYXJhbUxheWVyLCBkb2MpO1xuICAgIGlmIChtYXRjaGluZ0xheWVyKSB7XG4gICAgICBjb25zdCBib3VuZGluZ0JveCA9IFhNTFV0aWxzLmZpbmQobWF0Y2hpbmdMYXllci5jaGlsZE5vZGVzLCAnQm91bmRpbmdCb3gnKTtcbiAgICAgIGlmIChib3VuZGluZ0JveCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBib3VuZGluZ0JveC5hdHRyaWJ1dGVzO1xuICAgICAgICBjb25zdCBwcm9qQm94ID0gZ2V0UHJvamVjdGlvbihhdHRyaWJ1dGVzLkNSUy50ZXh0Q29udGVudCA/PyBERUZBVUxUX1BST0pFQ1RJT04pO1xuICAgICAgICBpZiAocHJvakJveCkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0cmFuc2Zvcm0oXG4gICAgICAgICAgICAgIFtwYXJzZUZsb2F0KGF0dHJpYnV0ZXMubWlueC50ZXh0Q29udGVudCksIHBhcnNlRmxvYXQoYXR0cmlidXRlcy5taW55LnRleHRDb250ZW50KV0sXG4gICAgICAgICAgICAgIHByb2pCb3gsXG4gICAgICAgICAgICAgIG1hcC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgICBbcGFyc2VGbG9hdChhdHRyaWJ1dGVzLm1heHgudGV4dENvbnRlbnQpLCBwYXJzZUZsb2F0KGF0dHJpYnV0ZXMubWF4eS50ZXh0Q29udGVudCldLFxuICAgICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZ2V0UG9zc2libGVMYXllclN0eWxlcyhkb2M/OiBEb2N1bWVudCk6IHtcbiAgICBbcGFyYW06IHN0cmluZ106IHsgcGFyYW06IHN0cmluZzsgc3R5bGVzOiB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdIH07XG4gIH0gfCBudWxsIHtcbiAgICBpZiAoIWRvYykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBsYXllcnMgPSBYTUxVdGlscy5hbGxMYXllcnMoZG9jKTtcbiAgICByZXR1cm4gKFxuICAgICAgbGF5ZXJzLm1hcCgobGF5ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXJOYW1lID0gWE1MVXRpbHMuZmluZChsYXllci5jaGlsZE5vZGVzLCAnTmFtZScpPy50ZXh0Q29udGVudCA/PyAnJztcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gWE1MVXRpbHMuZmluZEFsbChsYXllci5jaGlsZE5vZGVzLCAnU3R5bGUnKTtcbiAgICAgICAgY29uc3Qgc3R5bGVzQXJyYXkgPSBzdHlsZXMubWFwKChzdHlsZSkgPT4gKHtcbiAgICAgICAgICBpZDogWE1MVXRpbHMuZmluZChzdHlsZS5jaGlsZE5vZGVzLCAnTmFtZScpPy50ZXh0Q29udGVudCxcbiAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgIFhNTFV0aWxzLmZpbmQoc3R5bGUuY2hpbGROb2RlcywgJ1RpdGxlJyk/LnRleHRDb250ZW50ID8/XG4gICAgICAgICAgICBYTUxVdGlscy5maW5kKHN0eWxlLmNoaWxkTm9kZXMsICdOYW1lJyk/LnRleHRDb250ZW50XG4gICAgICAgIH0pKSBhcyB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICAgICAgICBjb25zdCB1bmlxdWVzU3R5bGVzID0gWy4uLm5ldyBTZXQoc3R5bGVzQXJyYXkubWFwKChzdHlsZSkgPT4gc3R5bGUuaWQpKV0ubWFwKChzdHlsZUlkKSA9PlxuICAgICAgICAgIHN0eWxlc0FycmF5LmZpbmQoKHN0eWxlSW5BcnJheSkgPT4gc3R5bGVJbkFycmF5LmlkID09PSBzdHlsZUlkKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhcmFtOiBsYXllck5hbWUsXG4gICAgICAgICAgc3R5bGVzOiB1bmlxdWVzU3R5bGVzXG4gICAgICAgIH07XG4gICAgICB9KSBhcyB7IHBhcmFtOiBzdHJpbmc7IHN0eWxlczogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXSB9W11cbiAgICApLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgW2MucGFyYW1dOiBjIH0pLCB7fSk7XG4gIH1cbn1cbiJdfQ==
@@ -23,8 +23,8 @@ export class WidgetMapModule extends BaseWidgetModule {
23
23
  getComponent() {
24
24
  return WidgetMapComponent;
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
27
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapModule, declarations: [WidgetMapComponent, GeometryFieldsForPipe, PryWidgetMapCssComponent, WidgetMapLegendUrlPipe], imports: [CommonModule,
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetMapModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
27
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WidgetMapModule, declarations: [WidgetMapComponent, GeometryFieldsForPipe, PryWidgetMapCssComponent, WidgetMapLegendUrlPipe], imports: [CommonModule,
28
28
  FormsModule,
29
29
  OverlayModule,
30
30
  PryCoreModule,
@@ -36,7 +36,7 @@ export class WidgetMapModule extends BaseWidgetModule {
36
36
  PryOverlayModule,
37
37
  PryI18nModule,
38
38
  PryRangeModule], exports: [WidgetMapComponent, GeometryFieldsForPipe, PryWidgetMapCssComponent, WidgetMapLegendUrlPipe] }); }
39
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapModule, imports: [CommonModule,
39
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetMapModule, imports: [CommonModule,
40
40
  FormsModule,
41
41
  OverlayModule,
42
42
  PryCoreModule,
@@ -49,7 +49,7 @@ export class WidgetMapModule extends BaseWidgetModule {
49
49
  PryI18nModule,
50
50
  PryRangeModule] }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetMapModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetMapModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  declarations: [...components],
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
70
70
  exports: [...components]
71
71
  }]
72
72
  }], ctorParameters: function () { return [{ type: i1.PryI18nService }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1tYXAvd2lkZ2V0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRWpFLE1BQU0sVUFBVSxHQUFHLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQW9CakgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBQ25ELFlBQW9CLG1CQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFFckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVEsWUFBWTtRQUNuQixPQUFPLGtCQUErQyxDQUFDO0lBQ3pELENBQUM7OEdBVFUsZUFBZTsrR0FBZixlQUFlLGlCQXBCUixrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsYUFLM0csWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjLGFBaEJFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQjsrR0FvQmxHLGVBQWUsWUFmeEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjOzsyRkFJTCxlQUFlO2tCQWxCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgUHJ5UmFuZ2VNb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5VG9nZ2xlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IFdpZGdldE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpZGdldC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgR2VvbWV0cnlGaWVsZHNGb3JQaXBlIH0gZnJvbSAnLi9waXBlL3dpZGdldC1tYXAtZ2VvbWV0cnktZmllbGRzLWZvci5waXBlJztcbmltcG9ydCB7IFdpZGdldE1hcExlZ2VuZFVybFBpcGUgfSBmcm9tICcuL3BpcGUvd2lkZ2V0LW1hcC1sZWdlbmQtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtXaWRnZXRNYXBDb21wb25lbnQsIEdlb21ldHJ5RmllbGRzRm9yUGlwZSwgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50LCBXaWRnZXRNYXBMZWdlbmRVcmxQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeVJhbmdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRNYXBNb2R1bGUgZXh0ZW5kcyBCYXNlV2lkZ2V0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcnlUcmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ3dpZGdldC1tYXAnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3dpZGdldC1tYXAnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldE1hcENvbXBvbmVudCBhcyBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+O1xuICB9XG59XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1tYXAvd2lkZ2V0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRWpFLE1BQU0sVUFBVSxHQUFHLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQW9CakgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBQ25ELFlBQW9CLG1CQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFFckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVEsWUFBWTtRQUNuQixPQUFPLGtCQUErQyxDQUFDO0lBQ3pELENBQUM7K0dBVFUsZUFBZTtnSEFBZixlQUFlLGlCQXBCUixrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsYUFLM0csWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjLGFBaEJFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQjtnSEFvQmxHLGVBQWUsWUFmeEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjOzs0RkFJTCxlQUFlO2tCQWxCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgUHJ5UmFuZ2VNb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5VG9nZ2xlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IFdpZGdldE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpZGdldC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgR2VvbWV0cnlGaWVsZHNGb3JQaXBlIH0gZnJvbSAnLi9waXBlL3dpZGdldC1tYXAtZ2VvbWV0cnktZmllbGRzLWZvci5waXBlJztcbmltcG9ydCB7IFdpZGdldE1hcExlZ2VuZFVybFBpcGUgfSBmcm9tICcuL3BpcGUvd2lkZ2V0LW1hcC1sZWdlbmQtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtXaWRnZXRNYXBDb21wb25lbnQsIEdlb21ldHJ5RmllbGRzRm9yUGlwZSwgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50LCBXaWRnZXRNYXBMZWdlbmRVcmxQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeVJhbmdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRNYXBNb2R1bGUgZXh0ZW5kcyBCYXNlV2lkZ2V0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcnlUcmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ3dpZGdldC1tYXAnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3dpZGdldC1tYXAnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldE1hcENvbXBvbmVudCBhcyBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+O1xuICB9XG59XG4iXX0=