@provoly/dashboard 0.22.5 → 0.22.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +0 -2
  2. package/admin/components/admin-abac-rules/store/abac-rules.effects.d.ts +2 -2
  3. package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +8 -4
  4. package/admin/components/admin-classes/store/admin-class.effects.d.ts +2 -2
  5. package/admin/components/admin-fields/store/fields.effects.d.ts +2 -2
  6. package/admin/store/admin.effects.d.ts +3 -3
  7. package/components/metadata-editor/store/metadata.effects.d.ts +6 -6
  8. package/esm2022/admin/admin-routing.module.mjs +5 -5
  9. package/esm2022/admin/admin.module.mjs +6 -6
  10. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +5 -5
  11. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +5 -5
  12. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +5 -5
  13. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +5 -5
  14. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +5 -5
  15. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +5 -5
  16. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +5 -5
  17. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +5 -5
  18. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +5 -5
  19. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +5 -5
  20. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +5 -5
  21. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +4 -4
  22. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +11 -10
  23. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +5 -5
  24. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +47 -33
  25. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
  26. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
  27. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +4 -4
  28. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +5 -5
  29. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
  30. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +5 -5
  31. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
  32. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +5 -5
  33. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +5 -5
  34. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
  35. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +5 -5
  36. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +5 -5
  37. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +5 -5
  38. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +4 -4
  39. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -5
  40. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +5 -5
  41. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +5 -5
  42. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +4 -4
  43. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
  44. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
  45. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
  46. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +5 -5
  47. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
  48. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +5 -5
  49. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +4 -4
  50. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +5 -5
  51. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +5 -5
  52. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +5 -5
  53. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +5 -5
  54. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
  55. package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
  56. package/esm2022/admin/components/admin-links/store/links.effects.mjs +5 -5
  57. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +6 -6
  58. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
  59. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +5 -5
  60. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +5 -5
  61. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
  62. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +5 -5
  63. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +5 -5
  64. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -5
  65. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +5 -5
  66. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
  67. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +4 -4
  68. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
  69. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +5 -5
  70. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +5 -5
  71. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +5 -5
  72. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
  73. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +5 -5
  74. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
  75. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +5 -5
  76. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
  77. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +4 -4
  78. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
  79. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
  80. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
  81. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +5 -5
  82. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +5 -5
  83. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
  84. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +5 -5
  85. package/esm2022/admin/components/admin-title/admin-title.component.mjs +5 -5
  86. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +5 -5
  87. package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
  88. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +5 -5
  89. package/esm2022/admin/components/admin.component.mjs +5 -5
  90. package/esm2022/admin/components/association/association.component.mjs +4 -4
  91. package/esm2022/admin/store/admin.effects.mjs +5 -5
  92. package/esm2022/admin/store/admin.reducer.mjs +1 -1
  93. package/esm2022/admin/store/admin.selectors.mjs +1 -1
  94. package/esm2022/admin/store/admin.service.mjs +5 -5
  95. package/esm2022/components/card/card.component.mjs +20 -20
  96. package/esm2022/components/card/card.module.mjs +5 -5
  97. package/esm2022/components/checkbox/checkbox.component.mjs +5 -5
  98. package/esm2022/components/checkbox/checkbox.module.mjs +5 -5
  99. package/esm2022/components/color-picker/color-picker.component.mjs +5 -5
  100. package/esm2022/components/color-picker/color-picker.module.mjs +5 -5
  101. package/esm2022/components/expand-panel/expand-panel.component.mjs +7 -7
  102. package/esm2022/components/expand-panel/expand-panel.module.mjs +5 -5
  103. package/esm2022/components/filter/filter.module.mjs +5 -5
  104. package/esm2022/components/filter/filter.pipe.mjs +4 -4
  105. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +5 -5
  106. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -5
  107. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +5 -5
  108. package/esm2022/components/metadata-editor/store/metadata.service.mjs +5 -5
  109. package/esm2022/components/metadata-editor/style/css.component.mjs +4 -4
  110. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +5 -5
  111. package/esm2022/components/scheme-picker/scheme-picker.module.mjs +5 -5
  112. package/esm2022/components/scheme-picker/scheme.service.mjs +5 -5
  113. package/esm2022/components/sinceDate/sinceDate.module.mjs +5 -5
  114. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +5 -5
  115. package/esm2022/components/stepper/step/step.component.mjs +4 -4
  116. package/esm2022/components/stepper/step-title.directive.mjs +5 -5
  117. package/esm2022/components/stepper/stepper.component.mjs +4 -4
  118. package/esm2022/components/stepper/stepper.module.mjs +5 -5
  119. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
  120. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
  121. package/esm2022/dataset/components/dataset.component.mjs +5 -5
  122. package/esm2022/dataset/dataset.module.mjs +6 -6
  123. package/esm2022/dataset/style/css.component.mjs +4 -4
  124. package/esm2022/filters/autocomplete/autocomplete.component.mjs +5 -5
  125. package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
  126. package/esm2022/filters/autocomplete/style/css.component.mjs +4 -4
  127. package/esm2022/filters/date/date-filter.component.mjs +5 -5
  128. package/esm2022/filters/date/date-filter.module.mjs +5 -5
  129. package/esm2022/filters/list/list-filter.component.mjs +5 -5
  130. package/esm2022/filters/list/list-filter.module.mjs +5 -5
  131. package/esm2022/filters/list/style/css.component.mjs +4 -4
  132. package/esm2022/filters/number/number-filter.component.mjs +5 -5
  133. package/esm2022/filters/number/number-filter.module.mjs +5 -5
  134. package/esm2022/filters/text/text-filter.component.mjs +5 -5
  135. package/esm2022/filters/text/text-filter.module.mjs +5 -5
  136. package/esm2022/import/components/import.component.mjs +5 -5
  137. package/esm2022/import/import-routing.module.mjs +5 -5
  138. package/esm2022/import/import.module.mjs +6 -6
  139. package/esm2022/import/store/import.effects.mjs +5 -5
  140. package/esm2022/import/store/import.service.mjs +5 -5
  141. package/esm2022/import/style/css.component.mjs +4 -4
  142. package/esm2022/lib/core/access/access.directive.mjs +6 -6
  143. package/esm2022/lib/core/access/access.guard.mjs +4 -4
  144. package/esm2022/lib/core/access/access.service.mjs +5 -5
  145. package/esm2022/lib/core/access/access.utils.mjs +1 -1
  146. package/esm2022/lib/core/auth/geoAuth.service.mjs +5 -5
  147. package/esm2022/lib/core/components/about/about.component.mjs +6 -6
  148. package/esm2022/lib/core/components/about/pry-about.module.mjs +5 -5
  149. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +5 -5
  150. package/esm2022/lib/core/components/accordion/accordion.component.mjs +5 -5
  151. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +5 -5
  152. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +6 -6
  153. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +4 -4
  154. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +5 -5
  155. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +5 -5
  156. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  157. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +5 -5
  158. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +4 -4
  159. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +5 -5
  160. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +4 -4
  161. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +5 -5
  162. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +5 -5
  163. package/esm2022/lib/core/components/ellipsis.directive.mjs +5 -5
  164. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +5 -5
  165. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +5 -5
  166. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +5 -5
  167. package/esm2022/lib/core/components/icon/icon.component.mjs +5 -5
  168. package/esm2022/lib/core/components/icon/icon.module.mjs +5 -5
  169. package/esm2022/lib/core/components/modal/modal.component.mjs +4 -4
  170. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +5 -5
  171. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +5 -5
  172. package/esm2022/lib/core/components/modal-status/modal-status.module.mjs +6 -6
  173. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
  174. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +6 -6
  175. package/esm2022/lib/core/components/overlay/dialog-ref.mjs +1 -1
  176. package/esm2022/lib/core/components/overlay/dialog.service.mjs +5 -5
  177. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +5 -5
  178. package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -5
  179. package/esm2022/lib/core/components/range/range.component.mjs +5 -5
  180. package/esm2022/lib/core/components/range/range.module.mjs +5 -5
  181. package/esm2022/lib/core/components/select/select-a11y.service.mjs +1 -1
  182. package/esm2022/lib/core/components/select/select.component.mjs +9 -8
  183. package/esm2022/lib/core/components/select/select.module.mjs +7 -6
  184. package/esm2022/lib/core/components/select-image/select-image.component.mjs +6 -6
  185. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +5 -5
  186. package/esm2022/lib/core/components/share/share.component.mjs +5 -5
  187. package/esm2022/lib/core/components/share/share.module.mjs +5 -5
  188. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +5 -5
  189. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +5 -5
  190. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +5 -5
  191. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +4 -4
  192. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +5 -5
  193. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +4 -4
  194. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +4 -4
  195. package/esm2022/lib/core/components/sort/sort.module.mjs +5 -5
  196. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +5 -5
  197. package/esm2022/lib/core/components/tabs/tab.component.mjs +5 -5
  198. package/esm2022/lib/core/components/toggle/toggle.component.mjs +5 -5
  199. package/esm2022/lib/core/components/toggle/toggle.module.mjs +5 -5
  200. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +5 -5
  201. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +5 -5
  202. package/esm2022/lib/core/components/upload/upload.component.mjs +5 -5
  203. package/esm2022/lib/core/core.module.mjs +6 -6
  204. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +5 -5
  205. package/esm2022/lib/core/i18n/deep-merge.function.mjs +1 -1
  206. package/esm2022/lib/core/i18n/fr.translations.mjs +2 -2
  207. package/esm2022/lib/core/i18n/i18n.module.mjs +5 -5
  208. package/esm2022/lib/core/i18n/i18n.pipe.mjs +5 -5
  209. package/esm2022/lib/core/i18n/i18n.service.mjs +5 -5
  210. package/esm2022/lib/core/model/display-options.interface.mjs +1 -1
  211. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -5
  212. package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +4 -4
  213. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +1 -2
  214. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +5 -5
  215. package/esm2022/lib/core/store/category/category.effects.mjs +5 -5
  216. package/esm2022/lib/core/store/category/category.service.mjs +5 -5
  217. package/esm2022/lib/core/store/class/class.effects.mjs +5 -5
  218. package/esm2022/lib/core/store/class/class.selectors.mjs +1 -1
  219. package/esm2022/lib/core/store/class/class.service.mjs +5 -5
  220. package/esm2022/lib/core/store/config/config.effects.mjs +5 -5
  221. package/esm2022/lib/core/store/config/config.selectors.mjs +1 -1
  222. package/esm2022/lib/core/store/config/config.service.mjs +5 -5
  223. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +5 -5
  224. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +5 -5
  225. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -5
  226. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +1 -1
  227. package/esm2022/lib/core/store/data-source/data-source.service.mjs +5 -5
  228. package/esm2022/lib/core/store/field/field.effects.mjs +5 -5
  229. package/esm2022/lib/core/store/field/field.selectors.mjs +1 -1
  230. package/esm2022/lib/core/store/field/field.service.mjs +5 -5
  231. package/esm2022/lib/core/store/image/image.effects.mjs +5 -5
  232. package/esm2022/lib/core/store/image/image.selectors.mjs +1 -1
  233. package/esm2022/lib/core/store/image/image.service.mjs +5 -5
  234. package/esm2022/lib/core/store/item/item.effects.mjs +5 -5
  235. package/esm2022/lib/core/store/item/item.service.mjs +5 -5
  236. package/esm2022/lib/core/store/raw/raw.service.mjs +5 -5
  237. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +5 -5
  238. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +5 -5
  239. package/esm2022/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.mjs +1 -1
  240. package/esm2022/lib/core/store/search/search.effects.mjs +5 -5
  241. package/esm2022/lib/core/store/search/search.service.mjs +5 -5
  242. package/esm2022/lib/core/symbol/symbol.service.mjs +5 -5
  243. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +5 -5
  244. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +5 -5
  245. package/esm2022/lib/core/ws/websocket.service.mjs +5 -5
  246. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +5 -5
  247. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +5 -5
  248. package/esm2022/lib/dashboard/base-widget.module.mjs +5 -5
  249. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +5 -5
  250. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +5 -5
  251. package/esm2022/lib/dashboard/components/dashboard.component.mjs +5 -5
  252. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
  253. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -5
  254. package/esm2022/lib/dashboard/components/solve-collisions.function.mjs +1 -1
  255. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +4 -4
  256. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +5 -5
  257. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +5 -5
  258. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +5 -5
  259. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +5 -5
  260. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +5 -5
  261. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +6 -6
  262. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +5 -5
  263. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +5 -5
  264. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +21 -6
  265. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +5 -5
  266. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +5 -5
  267. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +1 -1
  268. package/esm2022/lib/dashboard/dashboard.module.mjs +6 -6
  269. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +5 -5
  270. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +5 -5
  271. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +6 -6
  272. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +5 -5
  273. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +6 -6
  274. package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +1 -1
  275. package/esm2022/lib/dashboard/filter/style/css.component.mjs +4 -4
  276. package/esm2022/lib/dashboard/item-utils.mjs +2 -2
  277. package/esm2022/lib/dashboard/resultset-utils.mjs +1 -1
  278. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +6 -6
  279. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +6 -6
  280. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +1 -1
  281. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -4
  282. package/esm2022/lib/dashboard/store/manifest.service.mjs +5 -5
  283. package/esm2022/lib/dashboard/store/refresh.service.mjs +16 -11
  284. package/esm2022/lib/dashboard/store/title.service.mjs +5 -5
  285. package/esm2022/lib/dashboard/store/wms.service.mjs +5 -5
  286. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +4 -4
  287. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +5 -5
  288. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +4 -4
  289. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +6 -6
  290. package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +1 -1
  291. package/esm2022/lib/dashboard/widget-loader.function.mjs +1 -1
  292. package/esm2022/notification/components/notification/content/notification-content.component.mjs +5 -5
  293. package/esm2022/notification/components/notification/notification.component.mjs +5 -5
  294. package/esm2022/notification/notification.module.mjs +6 -6
  295. package/esm2022/notification/store/notification.effects.mjs +5 -5
  296. package/esm2022/notification/store/notification.service.mjs +5 -5
  297. package/esm2022/notification/style/css.component.mjs +4 -4
  298. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +5 -5
  299. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +1 -1
  300. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
  301. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +5 -5
  302. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +4 -4
  303. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +5 -5
  304. package/esm2022/pipeline/node-class/base-node.class.mjs +1 -1
  305. package/esm2022/pipeline/pipeline.module.mjs +6 -6
  306. package/esm2022/pipeline/store/pipeline.effects.mjs +5 -5
  307. package/esm2022/pipeline/store/pipeline.service.mjs +5 -5
  308. package/esm2022/pipeline/style/css.component.mjs +4 -4
  309. package/esm2022/pipeline-components/filter/component/filter.component.mjs +5 -5
  310. package/esm2022/pipeline-components/filter/filter.module.mjs +6 -6
  311. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +5 -5
  312. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +6 -6
  313. package/esm2022/pipeline-components/noop/component/noop.component.mjs +5 -5
  314. package/esm2022/pipeline-components/noop/noop.module.mjs +6 -6
  315. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +5 -5
  316. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +6 -6
  317. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +5 -5
  318. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-node.class.mjs +1 -1
  319. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +6 -6
  320. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
  321. package/esm2022/presentation/components/presentation.component.mjs +6 -6
  322. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  323. package/esm2022/presentation/presentation.module.mjs +6 -6
  324. package/esm2022/presentation/style/css.component.mjs +5 -5
  325. package/esm2022/restitution/components/restitution/restitution.component.mjs +5 -5
  326. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +6 -6
  327. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +5 -5
  328. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +5 -5
  329. package/esm2022/restitution/restitution.module.mjs +6 -6
  330. package/esm2022/restitution/style/css.component.mjs +5 -5
  331. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
  332. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +5 -5
  333. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +5 -5
  334. package/esm2022/search/components/save-query/save-query.component.mjs +6 -6
  335. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +5 -5
  336. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +5 -5
  337. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +5 -5
  338. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +4 -4
  339. package/esm2022/search/search-home/search-home.component.mjs +5 -5
  340. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +5 -5
  341. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +5 -5
  342. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +5 -5
  343. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +5 -5
  344. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +5 -5
  345. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +5 -5
  346. package/esm2022/search/search-mono-class/store/search-mono-class.selectors.mjs +1 -1
  347. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
  348. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +5 -5
  349. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +5 -5
  350. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +5 -5
  351. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +5 -5
  352. package/esm2022/search/search-multi-class/store/search-multi-class.reducer.mjs +1 -1
  353. package/esm2022/search/search-multi-class/store/search-multi-class.selectors.mjs +1 -1
  354. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
  355. package/esm2022/search/search-tools/search-tools.component.mjs +5 -5
  356. package/esm2022/search/search.module.mjs +6 -6
  357. package/esm2022/search/style/css.component.mjs +5 -5
  358. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +13 -10
  359. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +5 -5
  360. package/esm2022/toolbox/components/delete/delete.component.mjs +5 -5
  361. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +5 -5
  362. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +5 -5
  363. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +5 -5
  364. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +5 -5
  365. package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
  366. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +20 -18
  367. package/esm2022/toolbox/components/save-view/save-view.component.mjs +5 -5
  368. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +5 -5
  369. package/esm2022/toolbox/components/share/share.component.mjs +5 -5
  370. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +5 -5
  371. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +5 -5
  372. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +5 -5
  373. package/esm2022/toolbox/components/toolbox.component.mjs +12 -9
  374. package/esm2022/toolbox/style/css.component.mjs +5 -5
  375. package/esm2022/toolbox/toolbox.module.mjs +5 -5
  376. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +5 -5
  377. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -5
  378. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +4 -4
  379. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +5 -5
  380. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +6 -6
  381. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +5 -5
  382. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +6 -6
  383. package/esm2022/widgets/widget-chart/component/vega-error.handler.mjs +1 -1
  384. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +6 -6
  385. package/esm2022/widgets/widget-chart/style/css.component.mjs +4 -4
  386. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +6 -6
  387. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +5 -5
  388. package/esm2022/widgets/widget-detail/style/css.component.mjs +4 -4
  389. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +6 -6
  390. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +7 -8
  391. package/esm2022/widgets/widget-graph/layout/simple.function.mjs +1 -1
  392. package/esm2022/widgets/widget-graph/style/css.component.mjs +5 -5
  393. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +6 -6
  394. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +5 -5
  395. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +4 -4
  396. package/esm2022/widgets/widget-iframe/style/css.component.mjs +4 -4
  397. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +6 -6
  398. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +5 -5
  399. package/esm2022/widgets/widget-image/style/css.component.mjs +4 -4
  400. package/esm2022/widgets/widget-image/widget-image.module.mjs +5 -5
  401. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -4
  402. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +7 -7
  403. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +1 -1
  404. package/esm2022/widgets/widget-map/interaction/layer-slider.class.mjs +1 -1
  405. package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +1 -1
  406. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +5 -5
  407. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +5 -5
  408. package/esm2022/widgets/widget-map/style/css.component.mjs +5 -5
  409. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +1 -1
  410. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +1 -1
  411. package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +1 -1
  412. package/esm2022/widgets/widget-map/widget-map.module.mjs +6 -6
  413. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +5 -5
  414. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +5 -5
  415. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -4
  416. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +5 -5
  417. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +5 -5
  418. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +4 -4
  419. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +6 -6
  420. package/esm2022/widgets/widget-table/style/css.component.mjs +4 -4
  421. package/esm2022/widgets/widget-table/widget-table.module.mjs +6 -6
  422. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +5 -5
  423. package/esm2022/widgets/widget-template/style/css.component.mjs +4 -4
  424. package/esm2022/widgets/widget-template/widget-template.module.mjs +6 -6
  425. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +5 -5
  426. package/esm2022/widgets/widget-tile/style/css.component.mjs +4 -4
  427. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +6 -6
  428. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +6 -6
  429. package/esm2022/widgets/widget-vega/style/css.component.mjs +4 -4
  430. package/esm2022/widgets/widget-vega/widget-vega.module.mjs +6 -6
  431. package/fesm2022/provoly-dashboard-admin.mjs +380 -365
  432. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  433. package/fesm2022/provoly-dashboard-components-card.mjs +23 -23
  434. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  435. package/fesm2022/provoly-dashboard-components-checkbox.mjs +8 -8
  436. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  437. package/fesm2022/provoly-dashboard-components-color-picker.mjs +8 -8
  438. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  439. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
  440. package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -1
  441. package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
  442. package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -1
  443. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +19 -19
  444. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  445. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +12 -12
  446. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  447. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +8 -8
  448. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  449. package/fesm2022/provoly-dashboard-components-stepper.mjs +14 -14
  450. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  451. package/fesm2022/provoly-dashboard-dataset.mjs +20 -20
  452. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  453. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +11 -11
  454. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  455. package/fesm2022/provoly-dashboard-filters-date.mjs +8 -8
  456. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  457. package/fesm2022/provoly-dashboard-filters-list.mjs +11 -11
  458. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  459. package/fesm2022/provoly-dashboard-filters-number.mjs +8 -8
  460. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  461. package/fesm2022/provoly-dashboard-filters-text.mjs +8 -8
  462. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  463. package/fesm2022/provoly-dashboard-import.mjs +24 -24
  464. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  465. package/fesm2022/provoly-dashboard-notification.mjs +24 -24
  466. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  467. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +9 -9
  468. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  469. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +9 -9
  470. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  471. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +9 -9
  472. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -1
  473. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +9 -9
  474. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  475. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +9 -9
  476. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -1
  477. package/fesm2022/provoly-dashboard-pipeline.mjs +35 -35
  478. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  479. package/fesm2022/provoly-dashboard-presentation.mjs +23 -23
  480. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  481. package/fesm2022/provoly-dashboard-restitution.mjs +26 -26
  482. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  483. package/fesm2022/provoly-dashboard-search.mjs +95 -95
  484. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  485. package/fesm2022/provoly-dashboard-toolbox.mjs +98 -90
  486. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  487. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +8 -8
  488. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  489. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
  490. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -1
  491. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +14 -14
  492. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  493. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +13 -13
  494. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  495. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +12 -12
  496. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  497. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +15 -16
  498. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  499. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +15 -15
  500. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  501. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +11 -11
  502. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
  503. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +26 -26
  504. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  505. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +35 -35
  506. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  507. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +12 -12
  508. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  509. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +12 -12
  510. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  511. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +13 -13
  512. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  513. package/fesm2022/provoly-dashboard.mjs +558 -542
  514. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  515. package/lib/core/components/select/select.module.d.ts +2 -1
  516. package/lib/core/store/image/image.effects.d.ts +3 -3
  517. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
  518. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +8 -1
  519. package/lib/dashboard/store/dashboard.effects.d.ts +7 -7
  520. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -13
  521. package/lib/dashboard/store/refresh.service.d.ts +3 -1
  522. package/package.json +40 -40
  523. package/presentation/style/_o-pry-presentation.scss +0 -3
  524. package/schematics/ng-add/index.js.map +1 -1
  525. package/search/search-mono-class/store/search-mono-class.effects.d.ts +3 -3
  526. package/styles/components/_a-chip.scss +6 -0
  527. package/styles/components/_a-pry-select.scss +13 -0
  528. package/styles/components/_a-range-slider.scss +4 -5
  529. package/styles/components/_m-nav-links.scss +2 -7
  530. package/styles/components/_o-widget.scss +6 -0
  531. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +4 -3
  532. package/styles-theme/base-theme/_typography.theme.scss +5 -2
  533. package/styles-theme/components-theme/_a-btn.theme.scss +3 -7
  534. package/styles-theme/components-theme/_a-label.theme.scss +1 -0
  535. package/styles-theme/components-theme/_a-pry-select.theme.scss +4 -6
  536. package/styles-theme/components-theme/_a-range-slider.theme.scss +16 -16
  537. package/styles-theme/components-theme/_a-table.theme.scss +2 -2
  538. package/styles-theme/components-theme/_m-btn-sorttable.theme.scss +3 -3
  539. package/styles-theme/components-theme/_m-nav-links.theme.scss +18 -0
  540. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +9 -0
  541. package/styles-theme/components-theme/_o-tabs.theme.scss +1 -1
  542. package/styles-theme/layout-theme/_o-base-layout.theme.scss +1 -0
  543. package/styles-theme/main-theme.scss +1 -0
  544. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +3 -1
  545. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -2
  546. package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +3 -0
  547. package/widgets/widget-graph/component/widget-graph.component.d.ts +0 -1
  548. package/widgets/widget-graph/style/_o-widget-graph.scss +14 -0
  549. package/schematics/ng-add/index.spec.d.ts +0 -1
  550. package/schematics/ng-add/index.spec.js +0 -87
  551. package/schematics/ng-add/index.spec.js.map +0 -1
  552. package/schematics/ng-update/version-0-13/index.spec.d.ts +0 -1
  553. package/schematics/ng-update/version-0-13/index.spec.js +0 -184
  554. package/schematics/ng-update/version-0-13/index.spec.js.map +0 -1
  555. package/schematics/ng-update/version-0-14/index.spec.d.ts +0 -1
  556. package/schematics/ng-update/version-0-14/index.spec.js +0 -51
  557. package/schematics/ng-update/version-0-14/index.spec.js.map +0 -1
  558. package/schematics/ng-update/version-0-15/index.spec.d.ts +0 -1
  559. package/schematics/ng-update/version-0-15/index.spec.js +0 -51
  560. package/schematics/ng-update/version-0-15/index.spec.js.map +0 -1
@@ -300,4 +300,4 @@ export class WidgetMapUtils {
300
300
  static { this.DEFAULT_MAP_CENTER = [2.2827217347381525, 48.864706031557716]; }
301
301
  static { this.BACKGROUND_ORDER = 9999; }
302
302
  }
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxrQkFBa0IsRUFFbEIsU0FBUyxFQUdULFNBQVMsRUFRVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQWtCLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sY0FBYzthQUNsQixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQUMseUJBQXlCLENBQzlCLEtBQTRCLEVBQzVCLFNBQW9CLEVBQ3BCLGtCQUEyQixFQUMzQixNQUFlO1FBRWYsSUFDRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUN6RyxLQUFLLENBQUMsSUFBSSxDQUNYO1lBQ0QsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsa0JBQWtCO1lBQ3BCLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzdCO1lBQ0EsTUFBTSxhQUFh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VUFBVSxFQUFFLEdBQUcsRUFBRSxlQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzlGLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztJQUNKLENBQUM7YUFFTSwyQkFBc0IsR0FBRyxFQUFFLENBQUM7YUFDNUIsb0NBQStCLEdBQUcsS0FBSyxDQUFDO2FBQ3hDLHFCQUFnQixHQUFHLENBQUMsQ0FBQzthQUNyQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7YUFDeEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO2FBQ3RCLHVCQUFrQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUU5RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgQXR0cmlidXRlLFxuICBDbGFzcyxcbiAgREVGQVVMVF9QUk9KRUNUSU9OLFxuICBGaWVsZCxcbiAgRmllbGRUeXBlLFxuICBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSxcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBNYXBHZW9TZXJ2ZXJMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0SGVhdE1hcExheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICBNYXBXaWRnZXRNYXJrZXJMYXllck9wdGlvbnMsXG4gIFJlbGF0aW9uLFxuICBSZXN1bHRTZXRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgTGluZVN0cmluZywgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgV2lkZ2V0TWFwTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50L3dpZGdldC1tYXAtbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgUHJvamVjdGlvbkxpa2UsIHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IEdlb21ldHJ5IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IHsgR2VvSlNPTiB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBYTUxVdGlscyB9IGZyb20gJy4veG1sLXV0aWxzLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIFdpZGdldE1hcFV0aWxzIHtcbiAgc3RhdGljIGdlb0pTT04gPSBuZXcgR2VvSlNPTigpO1xuICBzdGF0aWMgcG9wdWxhdGVMb2NhdGlvbkF0dHJpYnV0ZShcbiAgICBsYXllcjogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICAgIHJlc3VsdFNldDogUmVzdWx0U2V0LFxuICAgIGNsYXNzZXNOb3RGaWx0ZXJlZDogQ2xhc3NbXSxcbiAgICBmaWVsZHM6IEZpZWxkW11cbiAgKSB7XG4gICAgaWYgKFxuICAgICAgWydoZWF0bWFwJywgJ21hcmtlcicsICdidWJibGUnLCAncG9pbnQnLCAnbGluZScsICdwb2x5Z29uJywgJ211bHRpLWxpbmUnLCAnbXVsdGktcG9seWdvbicsICdhdXRvJ10uaW5jbHVkZXMoXG4gICAgICAgIGxheWVyLnR5cGVcbiAgICAgICkgJiZcbiAgICAgICEhcmVzdWx0U2V0ICYmXG4gICAgICAhIWNsYXNzZXNOb3RGaWx0ZXJlZCAmJlxuICAgICAgY2xhc3Nlc05vdEZpbHRlcmVkLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IHNwZWNpZmljTGF5ZXIgPSBsYXllciBhc1xuICAgICAgICB8IE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnNcbiAgICAgICAgfCBNYXBXaWRnZXRNYXJrZXJMYXllck9wdGlvbnNcbiAgICAgICAgfCBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc2VzTm90RmlsdGVyZWQuZmlsdGVyKFxuICAgICAgICAoY2wpID0+IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcz8uaW5jbHVkZXMoY2wuaWQpIHx8ICFzcGVjaWZpY0xheWVyLmNsYXNzZXMgfHwgc3BlY2lmaWNMYXllci5jbGFzc2VzLmxlbmd0aCA9PT0gMFxuICAgICAgKTtcblxuICAgICAgaWYgKCFzcGVjaWZpY0xheWVyLmF0dHJpYnV0ZSkge1xuICAgICAgICAvLyBObyBsb2NhdGlvbiBhdHRyaWJ1dGUgYXZhaWxhYmxlLCB0aGVuIHRyeSB0byBndWVzcyBvbmUgdGhhdCB3aWxsIGJlIG9rXG5cbiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBXaWRnZXRNYXBVdGlscy5nZW9tZXRyeUZvckxheWVyKGxheWVyKTtcblxuICAgICAgICBsZXQgY2FuZGlkYXRlcyA9IFtdIGFzIHtcbiAgICAgICAgICBhdHRyOiBBdHRyaWJ1dGU7XG4gICAgICAgICAgZmllbGQ6IEZpZWxkIHwgdW5kZWZpbmVkO1xuICAgICAgICB9W107XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAvLyBCYXNlZCBvbiBpdGVtcyB0aGF0IHdlIGhhdmUgdG8gZGlzcGxheVxuXG4gICAgICAgICAgY2FuZGlkYXRlcyA9IE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcylcbiAgICAgICAgICAgIC5tYXAoKGtleSkgPT4gKHsgaXRlbXM6IHJlc3VsdFNldC5pdGVtc1trZXldLCBvQ2xhc3M6IGNsYXNzZXMuZmluZCgoY2wpID0+IGNsLmlkID09PSBrZXkpIH0pKVxuICAgICAgICAgICAgLm1hcCgoeyBpdGVtcywgb0NsYXNzIH0pID0+XG4gICAgICAgICAgICAgIChvQ2xhc3MgPz8geyBhdHRyaWJ1dGVzOiBbXSB9KS5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgYXR0ciwgZmllbGQ6IGZpZWxkcy5maW5kKChmKSA9PiBmLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiBhdHRyLmZpZWxkPy50eXBlID09PSBnZW9tZXRyeSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgYW55IGl0ZW1zIHRvIGRpc3BsYXksIHNvIGFsbG93IGFsbCBjb3JyZXNwb25kaW5nIGdlb21ldHJ5IGZpZWxkc1xuICAgICAgICAgIGNhbmRpZGF0ZXMgPSBjbGFzc2VzTm90RmlsdGVyZWRcbiAgICAgICAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzKVxuICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgYXR0ciwgZmllbGQ6IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IGF0dHIuZmllbGQpIH0pKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBhdHRyLCBmaWVsZCB9KSA9PiBmaWVsZD8udHlwZSA9PT0gZ2VvbWV0cnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwZWNpZmljTGF5ZXIuYXR0cmlidXRlID0gY2FuZGlkYXRlc1swXS5hdHRyLnRlY2huaWNhbE5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcG9wdWxhdGVJbnRlbnNpdHlBdHRyaWJ1dGUoXG4gICAgbGF5ZXI6IE1hcFdpZGdldExheWVyT3B0aW9ucyxcbiAgICByZXN1bHRTZXQ6IFJlc3VsdFNldCxcbiAgICBjbGFzc2VzTm90RmlsdGVyZWQ6IENsYXNzW10sXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICkge1xuICAgIGlmIChcbiAgICAgIFsnaGVhdG1hcCcsICdidWJibGUnXS5pbmNsdWRlcyhsYXllci50eXBlKSAmJlxuICAgICAgISFyZXN1bHRTZXQgJiZcbiAgICAgICEhY2xhc3Nlc05vdEZpbHRlcmVkICYmXG4gICAgICBjbGFzc2VzTm90RmlsdGVyZWQubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3Qgc3BlY2lmaWNMYXllciA9IGxheWVyIGFzIE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnMgfCBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc2VzTm90RmlsdGVyZWQuZmlsdGVyKFxuICAgICAgICAoY2wpID0+XG4gICAgICAgICAgKHNwZWNpZmljTGF5ZXIuY2xhc3Nlcz8uaW5jbHVkZXMoY2wuaWQpIHx8ICFzcGVjaWZpY0xheWVyLmNsYXNzZXMgfHwgc3BlY2lmaWNMYXllci5jbGFzc2VzLmxlbmd0aCA9PT0gMCkgJiZcbiAgICAgICAgICBjbC5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIudGVjaG5pY2FsTmFtZSA9PT0gKHNwZWNpZmljTGF5ZXI/LmF0dHJpYnV0ZSA/PyBbXSkpXG4gICAgICApO1xuXG4gICAgICBpZiAoIXNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXR0cmlidXRlKSB7XG4gICAgICAgIC8vIE5vIGludGVuc2l0eSBhdHRyaWJ1dGUgYXZhaWxhYmxlLCB0aGVuIHRha2UgdGhlIG1heGltdW0gaW50ZW5zaXR5IG1hdGNoaW5nIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCBjYW5kaWRhdGVzRHJ5ID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGtleSkgPT4gKHsgaXRlbXM6IHJlc3VsdFNldC5pdGVtc1trZXldLCBvQ2xhc3M6IGNsYXNzZXMuZmluZCgoY2wpID0+IGNsLmlkID09PSBrZXkpIH0pKVxuICAgICAgICAgIC5tYXAoKHsgaXRlbXMsIG9DbGFzcyB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKG9DbGFzcyA/PyB7IGF0dHJpYnV0ZXM6IFtdIH0pLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgYXR0ciwgZmllbGQ6IGZpZWxkcy5maW5kKChmKSA9PiBmLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gYXR0ci5maWVsZD8udHlwZSA9PT0gRmllbGRUeXBlLkRFQ0lNQUwgfHwgYXR0ci5maWVsZD8udHlwZSA9PT0gRmllbGRUeXBlLklOVEVHRVIpXG4gICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyVmFsdWVzID0gSXRlbVV0aWxzLnBlcnRpbmVudFZhbHVlKGl0ZW1zLCBhdHRyLmF0dHIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICBtaW46IE1hdGgubWluKC4uLmF0dHJWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgbWF4OiBNYXRoLm1heCguLi5hdHRyVmFsdWVzKSxcbiAgICAgICAgICAgICAgICAgIHRlY2huaWNhbE5hbWU6IGF0dHIuYXR0ci50ZWNobmljYWxOYW1lXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLm1heCAtIGEubWF4KTtcblxuICAgICAgICBpZiAoY2FuZGlkYXRlc0RyeS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc3BlY2lmaWNMYXllci5pbnRlbnNpdHlBdHRyaWJ1dGUgPSBjYW5kaWRhdGVzRHJ5WzBdLnRlY2huaWNhbE5hbWU7XG4gICAgICAgICAgc3BlY2lmaWNMYXllci5pbnRlbnNpdHlBc2MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldEZlYXR1cmVGcm9tSXRlbShcbiAgICBwcm9qZWN0aW9uOiBQcm9qZWN0aW9uTGlrZSxcbiAgICBpdGVtOiBJdGVtLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsb2NhdGlvbkF0dHJpYnV0ZTogQXR0cmlidXRlLFxuICAgIGljb25TdHlsZT86IFN0eWxlLFxuICAgIHNlbGVjdGVkSWNvblN0eWxlPzogU3R5bGVcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBGZWF0dXJlKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICB0eXBlLFxuICAgICAgZ2VvbWV0cnk6IFdpZGdldE1hcFV0aWxzLnJlYWRHZW9tZXRyeShwcm9qZWN0aW9uLCBpdGVtLCAncG9pbnQnLCBsb2NhdGlvbkF0dHJpYnV0ZSkgPz8gdW5kZWZpbmVkLFxuICAgICAgY2xhc3NpY1N0eWxlOiBpY29uU3R5bGUgPz8gbnVsbCxcbiAgICAgIHNlbGVjdGVkU3R5bGU6IHNlbGVjdGVkSWNvblN0eWxlID8/IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDaXJjbGVGZWF0dXJlRnJvbUl0ZW0oXG4gICAgcHJvamVjdGlvbjogUHJvamVjdGlvbkxpa2UsXG4gICAgaXRlbTogSXRlbSxcbiAgICBsb2NhdGlvbkF0dHJpYnV0ZTogQXR0cmlidXRlLFxuICAgIHJhZGl1czogbnVtYmVyLFxuICAgIGljb25TdHlsZTogU3R5bGUsXG4gICAgc2VsZWN0ZWRJY29uU3R5bGU6IFN0eWxlXG4gICkge1xuICAgIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZ2VvbWV0cnk6IG5ldyBDaXJjbGUoXG4gICAgICAgIChXaWRnZXRNYXBVdGlscy5yZWFkR2VvbWV0cnkocHJvamVjdGlvbiwgaXRlbSwgJ3BvaW50JywgbG9jYXRpb25BdHRyaWJ1dGUpIGFzIFBvaW50KS5nZXRDb29yZGluYXRlcygpLFxuICAgICAgICByYWRpdXNcbiAgICAgICksXG4gICAgICBjbGFzc2ljU3R5bGU6IGljb25TdHlsZSxcbiAgICAgIHNlbGVjdGVkU3R5bGU6IHNlbGVjdGVkSWNvblN0eWxlLFxuICAgICAgdHlwZTogJ2J1YmJsZSdcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRMaW5rRmVhdHVyZShyZWxhdGlvbjogUmVsYXRpb24sIGZlYXR1cmVTb3VyY2U6IEZlYXR1cmU8UG9pbnQ+LCBmZWF0dXJlRGVzdGluYXRpb246IEZlYXR1cmU8UG9pbnQ+KSB7XG4gICAgcmV0dXJuIG5ldyBGZWF0dXJlKHtcbiAgICAgIC4uLnJlbGF0aW9uLFxuICAgICAgZ2VvbWV0cnk6IG5ldyBMaW5lU3RyaW5nKFtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmZWF0dXJlU291cmNlLmdldEdlb21ldHJ5KCk/LmdldENvb3JkaW5hdGVzKCkgPz8gZmVhdHVyZVNvdXJjZS5nZXRHZW9tZXRyeSgpPy5nZXRDZW50ZXIoKSA/PyBbMCwgMF0sXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZmVhdHVyZURlc3RpbmF0aW9uLmdldEdlb21ldHJ5KCk/LmdldENvb3JkaW5hdGVzKCkgPz8gZmVhdHVyZURlc3RpbmF0aW9uLmdldEdlb21ldHJ5KCk/LmdldENlbnRlcigpID8/IFswLCAwXVxuICAgICAgXSksXG4gICAgICBzb3VyY2U6IGZlYXR1cmVTb3VyY2UsXG4gICAgICBkZXN0aW5hdGlvbjogZmVhdHVyZURlc3RpbmF0aW9uLFxuICAgICAgdHlwZTogJ2xpbmsnXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWFwQXNQbmcobWFwOiBNYXApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBtYXAub25jZSgncmVuZGVyY29tcGxldGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IG1hcENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICBjb25zdCBzaXplID0gbWFwLmdldFNpemUoKSB8fCBbMTAwLCAxMDBdO1xuICAgICAgICBtYXBDYW52YXMud2lkdGggPSBzaXplWzBdO1xuICAgICAgICBtYXBDYW52YXMuaGVpZ2h0ID0gc2l6ZVsxXTtcbiAgICAgICAgY29uc3QgbWFwQ29udGV4dCA9IG1hcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpIHx8IChudWxsIGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcbiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub2wtbGF5ZXIgY2FudmFzLCBjYW52YXMub2wtbGF5ZXInKSwgKGNhbnZhcykgPT4ge1xuICAgICAgICAgIGlmIChjYW52YXMud2lkdGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBvcGFjaXR5ID0gY2FudmFzLnBhcmVudE5vZGUuc3R5bGUub3BhY2l0eSB8fCBjYW52YXMuc3R5bGUub3BhY2l0eTtcbiAgICAgICAgICAgIG1hcENvbnRleHQuZ2xvYmFsQWxwaGEgPSBvcGFjaXR5ID09PSAnJyA/IDEgOiBOdW1iZXIob3BhY2l0eSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNhbnZhcy5wYXJlbnROb2RlLnN0eWxlLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgICAgICAgbWFwQ29udGV4dC5maWxsU3R5bGUgPSBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICAgIG1hcENvbnRleHQuZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG1hdHJpeDtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IGNhbnZhcy5zdHlsZS50cmFuc2Zvcm07XG4gICAgICAgICAgICBpZiAodHJhbnNmb3JtKSB7XG4gICAgICAgICAgICAgIC8vIEdldCB0aGUgdHJhbnNmb3JtIHBhcmFtZXRlcnMgZnJvbSB0aGUgc3R5bGUncyB0cmFuc2Zvcm0gbWF0cml4XG4gICAgICAgICAgICAgIG1hdHJpeCA9IHRyYW5zZm9ybVxuICAgICAgICAgICAgICAgIC5tYXRjaCgvXm1hdHJpeFxcKChbXihdKilcXCkkLylbMV1cbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5tYXAoTnVtYmVyKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG1hdHJpeCA9IFtcbiAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNhbnZhcy5zdHlsZS53aWR0aCkgLyBjYW52YXMud2lkdGgsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoY2FudmFzLnN0eWxlLmhlaWdodCkgLyBjYW52YXMuaGVpZ2h0LFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQXBwbHkgdGhlIHRyYW5zZm9ybSB0byB0aGUgZXhwb3J0IG1hcCBjb250ZXh0XG4gICAgICAgICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlLnNldFRyYW5zZm9ybS5hcHBseShtYXBDb250ZXh0LCBtYXRyaXgpO1xuICAgICAgICAgICAgbWFwQ29udGV4dC5kcmF3SW1hZ2UoY2FudmFzLCAwLCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBtYXBDb250ZXh0Lmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgcmVzb2x2ZShtYXBDYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKSk7XG4gICAgICB9KTtcbiAgICAgIG1hcC5yZW5kZXJTeW5jKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZXhwb3J0TWFwQXNJbWFnZShtYXA6IE1hcCwgZmlsZW5hbWU6IHN0cmluZykge1xuICAgIFdpZGdldE1hcFV0aWxzLmdldE1hcEFzUG5nKG1hcCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICAgIGxpbmsuaHJlZiA9IGRhdGE7XG4gICAgICBsaW5rLmNsaWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2VvbWV0cnlGb3JMYXllcihsYXllcjogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGxheWVyLnR5cGUpIHtcbiAgICAgIGNhc2UgJ21hcmtlcic6XG4gICAgICBjYXNlICdoZWF0bWFwJzpcbiAgICAgIGNhc2UgJ2J1YmJsZSc6XG4gICAgICBjYXNlICdwb2ludCc6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuUE9JTlQ7XG4gICAgICBjYXNlICdsaW5lJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5MSU5FO1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuUE9MWUdPTjtcbiAgICAgIGNhc2UgJ211bHRpLWxpbmUnOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLk1VTFRJTElORTtcbiAgICAgIGNhc2UgJ211bHRpLXBvbHlnb24nOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLk1VTFRJUE9MWUdPTjtcbiAgICAgIGNhc2UgJ2F1dG8nOlxuICAgICAgICByZXR1cm4gV2lkZ2V0TWFwVXRpbHMuZ2VvbWV0cnlGb3JMYXllcih7XG4gICAgICAgICAgdHlwZTogV2lkZ2V0TWFwTGF5ZXJTZXJ2aWNlLnRyYW5zbGF0ZUZpZWxkVHlwZVRvTGF5ZXJUeXBlKGxheWVyLnN1YlR5cGUpXG4gICAgICAgIH0gYXMgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuUE9JTlQ7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzc2lnbkxheWVyc09yZGVyKF9sYXllcnM6IE1hcFdpZGdldExheWVyT3B0aW9uc1tdKSB7XG4gICAgY29uc3QgbGF5ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfbGF5ZXJzKSkgYXMgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zW107XG5cbiAgICBsYXllcnMuc29ydCgobDEsIGwyKSA9PiAobDIuYmFja2dyb3VuZCA/IDAgOiAxKSAtIChsMS5iYWNrZ3JvdW5kID8gMCA6IDEpKTtcblxuICAgIC8vIEFzc2lnbiBzdXJlIHRoaW5nc1xuICAgIGxheWVycy5mb3JFYWNoKChsYXllciwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChsYXllci5iYWNrZ3JvdW5kKSB7XG4gICAgICAgIGxheWVyLm9yZGVyID0gV2lkZ2V0TWFwVXRpbHMuQkFDS0dST1VORF9PUkRFUjtcbiAgICAgIH1cbiAgICAgIGlmIChpbmRleCA9PT0gMCAmJiAhbGF5ZXIub3JkZXIpIHtcbiAgICAgICAgbGF5ZXIub3JkZXIgPSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGxheWVyLm9yZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IFtkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyLCBkaXN0YW5jZVRvRmlyc3ROZXh0T3JkZXJdID0gW1xuICAgICAgICAgIGxheWVyc1xuICAgICAgICAgICAgLnNsaWNlKDAsIGluZGV4KVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZpbmRJbmRleCgoZWxlbWVudCkgPT4gZWxlbWVudC5vcmRlciAhPT0gdW5kZWZpbmVkKSArIDEsXG4gICAgICAgICAgbGF5ZXJzLnNsaWNlKGluZGV4ICsgMSkuZmluZEluZGV4KChlbGVtZW50KSA9PiBlbGVtZW50Lm9yZGVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgIF07XG5cbiAgICAgICAgbGV0IFtwcmV2aW91c09yZGVySW5kZXgsIG5leHRPcmRlckluZGV4XSA9IFtcbiAgICAgICAgICBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyID4gLTEgPyBpbmRleCAtIGRpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXIgOiAwLFxuICAgICAgICAgIGRpc3RhbmNlVG9GaXJzdE5leHRPcmRlciArIGluZGV4ICsgMVxuICAgICAgICBdO1xuICAgICAgICBsZXQgW3ByZXZpb3VzT3JkZXIsIG5leHRPcmRlcl0gPSBbXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciA+IC0xID8gbGF5ZXJzW3ByZXZpb3VzT3JkZXJJbmRleF0ub3JkZXIhIDogMCxcbiAgICAgICAgICBkaXN0YW5jZVRvRmlyc3ROZXh0T3JkZXIgPiAtMSA/IGxheWVyc1tuZXh0T3JkZXJJbmRleF0ub3JkZXIhIDogLTFcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAobmV4dE9yZGVyID4gMCAmJiBuZXh0T3JkZXIgPCBwcmV2aW91c09yZGVyKSB7XG4gICAgICAgICAgY29uc3QgbmV3T3JkZXIgPSBwcmV2aW91c09yZGVyICsgKG5leHRPcmRlckluZGV4IC0gcHJldmlvdXNPcmRlckluZGV4KTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgdGhlIG9yZGVyIHByb3BlcnR5IG9mIGxheWVyIG5vICR7aW5kZXggKyAyfSB3YXMgcHJlc2V0IGJ1dCBkb2Vzbid0IGZvbGxvdyB0aGUgb3JkZXIgb2YgdGhlIG90aGVyIGxheWVyc2BcbiAgICAgICAgICApO1xuICAgICAgICAgIG5leHRPcmRlciA9IG5ld09yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5leHRPcmRlciA+IDApIHtcbiAgICAgICAgICBsZXQgcmVsYXRpdmVJbmRleCA9IGluZGV4IC0gcHJldmlvdXNPcmRlckluZGV4O1xuICAgICAgICAgIGxheWVyLm9yZGVyID1cbiAgICAgICAgICAgIHByZXZpb3VzT3JkZXIgKyAoKG5leHRPcmRlciAtIHByZXZpb3VzT3JkZXIpIC8gKG5leHRPcmRlckluZGV4IC0gcHJldmlvdXNPcmRlckluZGV4KSkgKiByZWxhdGl2ZUluZGV4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxheWVyLm9yZGVyID0gcHJldmlvdXNPcmRlciArIGRpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBsYXllcnMuc29ydCgobDEsIGwyKSA9PiAobDEub3JkZXIgPz8gMSkgLSAobDIub3JkZXIhID8/IDEpKTtcbiAgfVxuXG4gIHN0YXRpYyByZWFkR2VvbWV0cnk8VCBleHRlbmRzICdwb2ludCcgfCAnbGluZScgfCAnbXVsdGktbGluZScgfCAncG9seWdvbicgfCAnbXVsdGktcG9seWdvbic+KFxuICAgIHByb2plY3Rpb246IFByb2plY3Rpb25MaWtlLFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgdHlwZTogVCxcbiAgICBhdHRyaWJ1dGU6IEF0dHJpYnV0ZSB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBpZiAoIWF0dHJpYnV0ZSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gaXRlbS5hdHRyaWJ1dGVzW2F0dHJpYnV0ZS50ZWNobmljYWxOYW1lXTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEdlb21ldHJ5IGF0dHJpYnV0ZSBleGNsdWRlZCBmb3IgaXRlbSAke2l0ZW0uaWR9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZS50eXBlID09PSAnTVVMVEknKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnZhbHVlc1swXTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUudmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihgR2VvbWV0cnkgbm90IHZpc2libGUgZm9yIGl0ZW0gJHtpdGVtLmlkfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBnZW9tZXRyeTtcbiAgICB0cnkge1xuICAgICAgZ2VvbWV0cnkgPSBXaWRnZXRNYXBVdGlscy5nZW9KU09OLnJlYWRHZW9tZXRyeSh2YWx1ZS52YWx1ZSBhcyBhbnksIHtcbiAgICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25cbiAgICAgIH0pIGFzIEdlb21ldHJ5O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignZXJyb3IgcmVhZGluZyBHZW9tZXRyeScsIHZhbHVlLnZhbHVlLCBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2VvbWV0cnk7XG4gIH1cblxuICBzdGF0aWMgcHJvamVjdEV4dGVudEFnZ3JlZ2F0aW9uUmVzcG9uc2UoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGV4dGVudFJlc3BvbnNlOiBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgICBsYXllcjogTWFwR2VvU2VydmVyTGF5ZXJPcHRpb25zLFxuICAgIHdtc0NhcGFiaWxpdGllczogeyBbcDogc3RyaW5nXTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0gfCB1bmRlZmluZWQsXG4gICAgbWFwOiBNYXBcbiAgKSB7XG4gICAgY29uc3QgcHJvakJveCA9IGdldFByb2plY3Rpb24oZmllbGQhLmNycyA/PyBERUZBVUxUX1BST0pFQ1RJT04pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZXh0ZW50UmVzcG9uc2UudmFsdWVzIGFzIHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGJvdHRvbV9yaWdodDoge1xuICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgIGxhdDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9W107XG4gICAgaWYgKFxuICAgICAgcHJvakJveCAmJlxuICAgICAgcmVzcG9uc2UubGVuZ3RoID4gMCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLnRvcF9sZWZ0ICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS50b3BfbGVmdC5sYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUudG9wX2xlZnQubG9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLmJvdHRvbV9yaWdodCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUuYm90dG9tX3JpZ2h0LmxhdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS5ib3R0b21fcmlnaHQubG9uICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IGxheWVyLmRhdGFzb3VyY2VJZCxcbiAgICAgICAgZXJyb3I6IGZhbHNlLFxuICAgICAgICBleHRlbnQ6IFtcbiAgICAgICAgICB0cmFuc2Zvcm0oXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgZXh0ZW50UmVzcG9uc2UudmFsdWVzWzBdIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0b3BfbGVmdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLnRvcF9sZWZ0LmxvblxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIGV4dGVudFJlc3BvbnNlLnZhbHVlc1swXSBhcyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wX2xlZnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdDogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS52YWx1ZS50b3BfbGVmdC5sYXRcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHByb2pCb3gsXG4gICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgICksXG4gICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIGV4dGVudFJlc3BvbnNlLnZhbHVlc1swXSBhcyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYm90dG9tX3JpZ2h0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb246IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkudmFsdWUuYm90dG9tX3JpZ2h0LmxvblxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBwYXJzZUZsb2F0KFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIGV4dGVudFJlc3BvbnNlLnZhbHVlc1swXSBhcyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYm90dG9tX3JpZ2h0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkudmFsdWUuYm90dG9tX3JpZ2h0LmxhdFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcHJvakJveCxcbiAgICAgICAgICAgIG1hcC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhc291cmNlOiBsYXllci5kYXRhc291cmNlSWQsXG4gICAgICBleHRlbnQ6IFhNTFV0aWxzLmdldExheWVyRXh0ZW50KGxheWVyLnBhcmFtTGF5ZXIsIG1hcCwgd21zQ2FwYWJpbGl0aWVzIVtsYXllci51cmxdPy5kb2MpID8/IFtdLFxuICAgICAgZXJyb3I6IGZhbHNlXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBERUZBVUxUX0hFQVRNQVBfUkFESVVTID0gMjU7XG4gIHN0YXRpYyBERUZBVUxUX1JBRElVU19JTlRFTlNJVFlfRkFDVE9SID0gMTAwMDA7XG4gIHN0YXRpYyBERUZBVUxUX1pPT01fTUlOID0gMztcbiAgc3RhdGljIERFRkFVTFRfWk9PTV9TVEFSVCA9IDEwO1xuICBzdGF0aWMgREVGQVVMVF9aT09NX01BWCA9IDE4O1xuICBzdGF0aWMgREVGQVVMVF9NQVBfQ0VOVEVSID0gWzIuMjgyNzIxNzM0NzM4MTUyNSwgNDguODY0NzA2MDMxNTU3NzE2XTtcblxuICBzdGF0aWMgQkFDS0dST1VORF9PUkRFUiA9IDk5OTk7XG59XG4iXX0=
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxrQkFBa0IsRUFFbEIsU0FBUyxFQUdULFNBQVMsRUFRVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQWtCLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sY0FBYzthQUNsQixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQUMseUJBQXlCLENBQzlCLEtBQTRCLEVBQzVCLFNBQW9CLEVBQ3BCLGtCQUEyQixFQUMzQixNQUFlO1FBRWYsSUFDRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUN6RyxLQUFLLENBQUMsSUFBSSxDQUNYO1lBQ0QsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsa0JBQWtCO1lBQ3BCLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzdCLENBQUM7WUFDRCxNQUFN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ekI7d0JBQ0QsVUFBVSxDQUVOLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQU94QixDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUN6QjtxQkFDRixFQUNELE9BQU8sRUFDUCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQzlCO2lCQUNGO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQzlCLE1BQU0sRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLGVBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDOUYsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQzthQUVNLDJCQUFzQixHQUFHLEVBQUUsQ0FBQzthQUM1QixvQ0FBK0IsR0FBRyxLQUFLLENBQUM7YUFDeEMscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQzthQUN4QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7YUFDdEIsdUJBQWtCLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBRTlELHFCQUFnQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBBdHRyaWJ1dGUsXG4gIENsYXNzLFxuICBERUZBVUxUX1BST0pFQ1RJT04sXG4gIEZpZWxkLFxuICBGaWVsZFR5cGUsXG4gIEdldENhcGFiaWxpdGllc1Jlc3BvbnNlLFxuICBJdGVtLFxuICBJdGVtVXRpbHMsXG4gIE1hcEdlb1NlcnZlckxheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zLFxuICBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zLFxuICBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldE1hcmtlckxheWVyT3B0aW9ucyxcbiAgUmVsYXRpb24sXG4gIFJlc3VsdFNldFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgRmVhdHVyZSwgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBMaW5lU3RyaW5nLCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgU3R5bGUgfSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgeyBXaWRnZXRNYXBMYXllclNlcnZpY2UgfSBmcm9tICcuLi9jb21wb25lbnQvd2lkZ2V0LW1hcC1sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldCBhcyBnZXRQcm9qZWN0aW9uLCBQcm9qZWN0aW9uTGlrZSwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgR2VvbWV0cnkgZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgeyBHZW9KU09OIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCB7IFhNTFV0aWxzIH0gZnJvbSAnLi94bWwtdXRpbHMuY2xhc3MnO1xuXG5leHBvcnQgY2xhc3MgV2lkZ2V0TWFwVXRpbHMge1xuICBzdGF0aWMgZ2VvSlNPTiA9IG5ldyBHZW9KU09OKCk7XG4gIHN0YXRpYyBwb3B1bGF0ZUxvY2F0aW9uQXR0cmlidXRlKFxuICAgIGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gICAgcmVzdWx0U2V0OiBSZXN1bHRTZXQsXG4gICAgY2xhc3Nlc05vdEZpbHRlcmVkOiBDbGFzc1tdLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApIHtcbiAgICBpZiAoXG4gICAgICBbJ2hlYXRtYXAnLCAnbWFya2VyJywgJ2J1YmJsZScsICdwb2ludCcsICdsaW5lJywgJ3BvbHlnb24nLCAnbXVsdGktbGluZScsICdtdWx0aS1wb2x5Z29uJywgJ2F1dG8nXS5pbmNsdWRlcyhcbiAgICAgICAgbGF5ZXIudHlwZVxuICAgICAgKSAmJlxuICAgICAgISFyZXN1bHRTZXQgJiZcbiAgICAgICEhY2xhc3Nlc05vdEZpbHRlcmVkICYmXG4gICAgICBjbGFzc2VzTm90RmlsdGVyZWQubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgY29uc3Qgc3BlY2lmaWNMYXllciA9IGxheWVyIGFzXG4gICAgICAgIHwgTWFwV2lkZ2V0SGVhdE1hcExheWVyT3B0aW9uc1xuICAgICAgICB8IE1hcFdpZGdldE1hcmtlckxheWVyT3B0aW9uc1xuICAgICAgICB8IE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucztcblxuICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzZXNOb3RGaWx0ZXJlZC5maWx0ZXIoXG4gICAgICAgIChjbCkgPT4gc3BlY2lmaWNMYXllci5jbGFzc2VzPy5pbmNsdWRlcyhjbC5pZCkgfHwgIXNwZWNpZmljTGF5ZXIuY2xhc3NlcyB8fCBzcGVjaWZpY0xheWVyLmNsYXNzZXMubGVuZ3RoID09PSAwXG4gICAgICApO1xuXG4gICAgICBpZiAoIXNwZWNpZmljTGF5ZXIuYXR0cmlidXRlKSB7XG4gICAgICAgIC8vIE5vIGxvY2F0aW9uIGF0dHJpYnV0ZSBhdmFpbGFibGUsIHRoZW4gdHJ5IHRvIGd1ZXNzIG9uZSB0aGF0IHdpbGwgYmUgb2tcblxuICAgICAgICBjb25zdCBnZW9tZXRyeSA9IFdpZGdldE1hcFV0aWxzLmdlb21ldHJ5Rm9yTGF5ZXIobGF5ZXIpO1xuXG4gICAgICAgIGxldCBjYW5kaWRhdGVzID0gW10gYXMge1xuICAgICAgICAgIGF0dHI6IEF0dHJpYnV0ZTtcbiAgICAgICAgICBmaWVsZDogRmllbGQgfCB1bmRlZmluZWQ7XG4gICAgICAgIH1bXTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIC8vIEJhc2VkIG9uIGl0ZW1zIHRoYXQgd2UgaGF2ZSB0byBkaXNwbGF5XG5cbiAgICAgICAgICBjYW5kaWRhdGVzID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAgICAgLm1hcCgoa2V5KSA9PiAoeyBpdGVtczogcmVzdWx0U2V0Lml0ZW1zW2tleV0sIG9DbGFzczogY2xhc3Nlcy5maW5kKChjbCkgPT4gY2wuaWQgPT09IGtleSkgfSkpXG4gICAgICAgICAgICAubWFwKCh7IGl0ZW1zLCBvQ2xhc3MgfSkgPT5cbiAgICAgICAgICAgICAgKG9DbGFzcyA/PyB7IGF0dHJpYnV0ZXM6IFtdIH0pLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoeyBhdHRyLCBmaWVsZDogZmllbGRzLmZpbmQoKGYpID0+IGYuaWQgPT09IGF0dHIuZmllbGQpIH0pKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IGF0dHIuZmllbGQ/LnR5cGUgPT09IGdlb21ldHJ5KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhbnkgaXRlbXMgdG8gZGlzcGxheSwgc28gYWxsb3cgYWxsIGNvcnJlc3BvbmRpbmcgZ2VvbWV0cnkgZmllbGRzXG4gICAgICAgICAgY2FuZGlkYXRlcyA9IGNsYXNzZXNOb3RGaWx0ZXJlZFxuICAgICAgICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoeyBhdHRyLCBmaWVsZDogZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IGF0dHIsIGZpZWxkIH0pID0+IGZpZWxkPy50eXBlID09PSBnZW9tZXRyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc3BlY2lmaWNMYXllci5hdHRyaWJ1dGUgPSBjYW5kaWRhdGVzWzBdLmF0dHIudGVjaG5pY2FsTmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBwb3B1bGF0ZUludGVuc2l0eUF0dHJpYnV0ZShcbiAgICBsYXllcjogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICAgIHJlc3VsdFNldDogUmVzdWx0U2V0LFxuICAgIGNsYXNzZXNOb3RGaWx0ZXJlZDogQ2xhc3NbXSxcbiAgICBmaWVsZHM6IEZpZWxkW11cbiAgKSB7XG4gICAgaWYgKFxuICAgICAgWydoZWF0bWFwJywgJ2J1YmJsZSddLmluY2x1ZGVzKGxheWVyLnR5cGUpICYmXG4gICAgICAhIXJlc3VsdFNldCAmJlxuICAgICAgISFjbGFzc2VzTm90RmlsdGVyZWQgJiZcbiAgICAgIGNsYXNzZXNOb3RGaWx0ZXJlZC5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBzcGVjaWZpY0xheWVyID0gbGF5ZXIgYXMgTWFwV2lkZ2V0SGVhdE1hcExheWVyT3B0aW9ucyB8IE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucztcblxuICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzZXNOb3RGaWx0ZXJlZC5maWx0ZXIoXG4gICAgICAgIChjbCkgPT5cbiAgICAgICAgICAoc3BlY2lmaWNMYXllci5jbGFzc2VzPy5pbmNsdWRlcyhjbC5pZCkgfHwgIXNwZWNpZmljTGF5ZXIuY2xhc3NlcyB8fCBzcGVjaWZpY0xheWVyLmNsYXNzZXMubGVuZ3RoID09PSAwKSAmJlxuICAgICAgICAgIGNsLmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci50ZWNobmljYWxOYW1lID09PSAoc3BlY2lmaWNMYXllcj8uYXR0cmlidXRlID8/IFtdKSlcbiAgICAgICk7XG5cbiAgICAgIGlmICghc3BlY2lmaWNMYXllci5pbnRlbnNpdHlBdHRyaWJ1dGUpIHtcbiAgICAgICAgLy8gTm8gaW50ZW5zaXR5IGF0dHJpYnV0ZSBhdmFpbGFibGUsIHRoZW4gdGFrZSB0aGUgbWF4aW11bSBpbnRlbnNpdHkgbWF0Y2hpbmcgYXR0cmlidXRlXG4gICAgICAgIGNvbnN0IGNhbmRpZGF0ZXNEcnkgPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgLm1hcCgoa2V5KSA9PiAoeyBpdGVtczogcmVzdWx0U2V0Lml0ZW1zW2tleV0sIG9DbGFzczogY2xhc3Nlcy5maW5kKChjbCkgPT4gY2wuaWQgPT09IGtleSkgfSkpXG4gICAgICAgICAgLm1hcCgoeyBpdGVtcywgb0NsYXNzIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiAob0NsYXNzID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoeyBhdHRyLCBmaWVsZDogZmllbGRzLmZpbmQoKGYpID0+IGYuaWQgPT09IGF0dHIuZmllbGQpIH0pKVxuICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiBhdHRyLmZpZWxkPy50eXBlID09PSBGaWVsZFR5cGUuREVDSU1BTCB8fCBhdHRyLmZpZWxkPy50eXBlID09PSBGaWVsZFR5cGUuSU5URUdFUilcbiAgICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJWYWx1ZXMgPSBJdGVtVXRpbHMucGVydGluZW50VmFsdWUoaXRlbXMsIGF0dHIuYXR0cik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIG1pbjogTWF0aC5taW4oLi4uYXR0clZhbHVlcyksXG4gICAgICAgICAgICAgICAgICBtYXg6IE1hdGgubWF4KC4uLmF0dHJWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgdGVjaG5pY2FsTmFtZTogYXR0ci5hdHRyLnRlY2huaWNhbE5hbWVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubWF4IC0gYS5tYXgpO1xuXG4gICAgICAgIGlmIChjYW5kaWRhdGVzRHJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzcGVjaWZpY0xheWVyLmludGVuc2l0eUF0dHJpYnV0ZSA9IGNhbmRpZGF0ZXNEcnlbMF0udGVjaG5pY2FsTmFtZTtcbiAgICAgICAgICBzcGVjaWZpY0xheWVyLmludGVuc2l0eUFzYyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0RmVhdHVyZUZyb21JdGVtKFxuICAgIHByb2plY3Rpb246IFByb2plY3Rpb25MaWtlLFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxvY2F0aW9uQXR0cmlidXRlOiBBdHRyaWJ1dGUsXG4gICAgaWNvblN0eWxlPzogU3R5bGUsXG4gICAgc2VsZWN0ZWRJY29uU3R5bGU/OiBTdHlsZVxuICApIHtcbiAgICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHR5cGUsXG4gICAgICBnZW9tZXRyeTogV2lkZ2V0TWFwVXRpbHMucmVhZEdlb21ldHJ5KHByb2plY3Rpb24sIGl0ZW0sICdwb2ludCcsIGxvY2F0aW9uQXR0cmlidXRlKSA/PyB1bmRlZmluZWQsXG4gICAgICBjbGFzc2ljU3R5bGU6IGljb25TdHlsZSA/PyBudWxsLFxuICAgICAgc2VsZWN0ZWRTdHlsZTogc2VsZWN0ZWRJY29uU3R5bGUgPz8gbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldENpcmNsZUZlYXR1cmVGcm9tSXRlbShcbiAgICBwcm9qZWN0aW9uOiBQcm9qZWN0aW9uTGlrZSxcbiAgICBpdGVtOiBJdGVtLFxuICAgIGxvY2F0aW9uQXR0cmlidXRlOiBBdHRyaWJ1dGUsXG4gICAgcmFkaXVzOiBudW1iZXIsXG4gICAgaWNvblN0eWxlOiBTdHlsZSxcbiAgICBzZWxlY3RlZEljb25TdHlsZTogU3R5bGVcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBGZWF0dXJlKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBnZW9tZXRyeTogbmV3IENpcmNsZShcbiAgICAgICAgKFdpZGdldE1hcFV0aWxzLnJlYWRHZW9tZXRyeShwcm9qZWN0aW9uLCBpdGVtLCAncG9pbnQnLCBsb2NhdGlvbkF0dHJpYnV0ZSkgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCksXG4gICAgICAgIHJhZGl1c1xuICAgICAgKSxcbiAgICAgIGNsYXNzaWNTdHlsZTogaWNvblN0eWxlLFxuICAgICAgc2VsZWN0ZWRTdHlsZTogc2VsZWN0ZWRJY29uU3R5bGUsXG4gICAgICB0eXBlOiAnYnViYmxlJ1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldExpbmtGZWF0dXJlKHJlbGF0aW9uOiBSZWxhdGlvbiwgZmVhdHVyZVNvdXJjZTogRmVhdHVyZTxQb2ludD4sIGZlYXR1cmVEZXN0aW5hdGlvbjogRmVhdHVyZTxQb2ludD4pIHtcbiAgICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgICAgLi4ucmVsYXRpb24sXG4gICAgICBnZW9tZXRyeTogbmV3IExpbmVTdHJpbmcoW1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZlYXR1cmVTb3VyY2UuZ2V0R2VvbWV0cnkoKT8uZ2V0Q29vcmRpbmF0ZXMoKSA/PyBmZWF0dXJlU291cmNlLmdldEdlb21ldHJ5KCk/LmdldENlbnRlcigpID8/IFswLCAwXSxcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmZWF0dXJlRGVzdGluYXRpb24uZ2V0R2VvbWV0cnkoKT8uZ2V0Q29vcmRpbmF0ZXMoKSA/PyBmZWF0dXJlRGVzdGluYXRpb24uZ2V0R2VvbWV0cnkoKT8uZ2V0Q2VudGVyKCkgPz8gWzAsIDBdXG4gICAgICBdKSxcbiAgICAgIHNvdXJjZTogZmVhdHVyZVNvdXJjZSxcbiAgICAgIGRlc3RpbmF0aW9uOiBmZWF0dXJlRGVzdGluYXRpb24sXG4gICAgICB0eXBlOiAnbGluaydcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRNYXBBc1BuZyhtYXA6IE1hcCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIG1hcC5vbmNlKCdyZW5kZXJjb21wbGV0ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgbWFwQ2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBtYXAuZ2V0U2l6ZSgpIHx8IFsxMDAsIDEwMF07XG4gICAgICAgIG1hcENhbnZhcy53aWR0aCA9IHNpemVbMF07XG4gICAgICAgIG1hcENhbnZhcy5oZWlnaHQgPSBzaXplWzFdO1xuICAgICAgICBjb25zdCBtYXBDb250ZXh0ID0gbWFwQ2FudmFzLmdldENvbnRleHQoJzJkJykgfHwgKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vbC1sYXllciBjYW52YXMsIGNhbnZhcy5vbC1sYXllcicpLCAoY2FudmFzKSA9PiB7XG4gICAgICAgICAgaWYgKGNhbnZhcy53aWR0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSBjYW52YXMucGFyZW50Tm9kZS5zdHlsZS5vcGFjaXR5IHx8IGNhbnZhcy5zdHlsZS5vcGFjaXR5O1xuICAgICAgICAgICAgbWFwQ29udGV4dC5nbG9iYWxBbHBoYSA9IG9wYWNpdHkgPT09ICcnID8gMSA6IE51bWJlcihvcGFjaXR5KTtcblxuICAgICAgICAgICAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gY2FudmFzLnBhcmVudE5vZGUuc3R5bGUuYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaWYgKGJhY2tncm91bmRDb2xvcikge1xuICAgICAgICAgICAgICBtYXBDb250ZXh0LmZpbGxTdHlsZSA9IGJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgbWFwQ29udGV4dC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgbWF0cml4O1xuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gY2FudmFzLnN0eWxlLnRyYW5zZm9ybTtcbiAgICAgICAgICAgIGlmICh0cmFuc2Zvcm0pIHtcbiAgICAgICAgICAgICAgLy8gR2V0IHRoZSB0cmFuc2Zvcm0gcGFyYW1ldGVycyBmcm9tIHRoZSBzdHlsZSdzIHRyYW5zZm9ybSBtYXRyaXhcbiAgICAgICAgICAgICAgbWF0cml4ID0gdHJhbnNmb3JtXG4gICAgICAgICAgICAgICAgLm1hdGNoKC9ebWF0cml4XFwoKFteKF0qKVxcKSQvKVsxXVxuICAgICAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgICAgLm1hcChOdW1iZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbWF0cml4ID0gW1xuICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoY2FudmFzLnN0eWxlLndpZHRoKSAvIGNhbnZhcy53aWR0aCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdChjYW52YXMuc3R5bGUuaGVpZ2h0KSAvIGNhbnZhcy5oZWlnaHQsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBcHBseSB0aGUgdHJhbnNmb3JtIHRvIHRoZSBleHBvcnQgbWFwIGNvbnRleHRcbiAgICAgICAgICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5wcm90b3R5cGUuc2V0VHJhbnNmb3JtLmFwcGx5KG1hcENvbnRleHQsIG1hdHJpeCk7XG4gICAgICAgICAgICBtYXBDb250ZXh0LmRyYXdJbWFnZShjYW52YXMsIDAsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG1hcENvbnRleHQuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICByZXNvbHZlKG1hcENhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICAgIH0pO1xuICAgICAgbWFwLnJlbmRlclN5bmMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBleHBvcnRNYXBBc0ltYWdlKG1hcDogTWFwLCBmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgV2lkZ2V0TWFwVXRpbHMuZ2V0TWFwQXNQbmcobWFwKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgbGluay5kb3dubG9hZCA9IGZpbGVuYW1lO1xuICAgICAgbGluay5ocmVmID0gZGF0YTtcbiAgICAgIGxpbmsuY2xpY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZW9tZXRyeUZvckxheWVyKGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAobGF5ZXIudHlwZSkge1xuICAgICAgY2FzZSAnbWFya2VyJzpcbiAgICAgIGNhc2UgJ2hlYXRtYXAnOlxuICAgICAgY2FzZSAnYnViYmxlJzpcbiAgICAgIGNhc2UgJ3BvaW50JzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5QT0lOVDtcbiAgICAgIGNhc2UgJ2xpbmUnOlxuICAgICAgICByZXR1cm4gRmllbGRUeXBlLkxJTkU7XG4gICAgICBjYXNlICdwb2x5Z29uJzpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5QT0xZR09OO1xuICAgICAgY2FzZSAnbXVsdGktbGluZSc6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuTVVMVElMSU5FO1xuICAgICAgY2FzZSAnbXVsdGktcG9seWdvbic6XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGUuTVVMVElQT0xZR09OO1xuICAgICAgY2FzZSAnYXV0byc6XG4gICAgICAgIHJldHVybiBXaWRnZXRNYXBVdGlscy5nZW9tZXRyeUZvckxheWVyKHtcbiAgICAgICAgICB0eXBlOiBXaWRnZXRNYXBMYXllclNlcnZpY2UudHJhbnNsYXRlRmllbGRUeXBlVG9MYXllclR5cGUobGF5ZXIuc3ViVHlwZSlcbiAgICAgICAgfSBhcyBNYXBXaWRnZXRMYXllck9wdGlvbnMpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIEZpZWxkVHlwZS5QT0lOVDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgYXNzaWduTGF5ZXJzT3JkZXIoX2xheWVyczogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zW10pIHtcbiAgICBjb25zdCBsYXllcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF9sYXllcnMpKSBhcyBNYXBXaWRnZXRMYXllck9wdGlvbnNbXTtcblxuICAgIGxheWVycy5zb3J0KChsMSwgbDIpID0+IChsMi5iYWNrZ3JvdW5kID8gMCA6IDEpIC0gKGwxLmJhY2tncm91bmQgPyAwIDogMSkpO1xuXG4gICAgLy8gQXNzaWduIHN1cmUgdGhpbmdzXG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGxheWVyLmJhY2tncm91bmQpIHtcbiAgICAgICAgbGF5ZXIub3JkZXIgPSBXaWRnZXRNYXBVdGlscy5CQUNLR1JPVU5EX09SREVSO1xuICAgICAgfVxuICAgICAgaWYgKGluZGV4ID09PSAwICYmICFsYXllci5vcmRlcikge1xuICAgICAgICBsYXllci5vcmRlciA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAobGF5ZXIub3JkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgW2Rpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXIsIGRpc3RhbmNlVG9GaXJzdE5leHRPcmRlcl0gPSBbXG4gICAgICAgICAgbGF5ZXJzXG4gICAgICAgICAgICAuc2xpY2UoMCwgaW5kZXgpXG4gICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAuZmluZEluZGV4KChlbGVtZW50KSA9PiBlbGVtZW50Lm9yZGVyICE9PSB1bmRlZmluZWQpICsgMSxcbiAgICAgICAgICBsYXllcnMuc2xpY2UoaW5kZXggKyAxKS5maW5kSW5kZXgoKGVsZW1lbnQpID0+IGVsZW1lbnQub3JkZXIgIT09IHVuZGVmaW5lZClcbiAgICAgICAgXTtcblxuICAgICAgICBsZXQgW3ByZXZpb3VzT3JkZXJJbmRleCwgbmV4dE9yZGVySW5kZXhdID0gW1xuICAgICAgICAgIGRpc3RhbmNlVG9GaXJzdFByZXZpb3VzT3JkZXIgPiAtMSA/IGluZGV4IC0gZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlciA6IDAsXG4gICAgICAgICAgZGlzdGFuY2VUb0ZpcnN0TmV4dE9yZGVyICsgaW5kZXggKyAxXG4gICAgICAgIF07XG4gICAgICAgIGxldCBbcHJldmlvdXNPcmRlciwgbmV4dE9yZGVyXSA9IFtcbiAgICAgICAgICBkaXN0YW5jZVRvRmlyc3RQcmV2aW91c09yZGVyID4gLTEgPyBsYXllcnNbcHJldmlvdXNPcmRlckluZGV4XS5vcmRlciEgOiAwLFxuICAgICAgICAgIGRpc3RhbmNlVG9GaXJzdE5leHRPcmRlciA+IC0xID8gbGF5ZXJzW25leHRPcmRlckluZGV4XS5vcmRlciEgOiAtMVxuICAgICAgICBdO1xuXG4gICAgICAgIGlmIChuZXh0T3JkZXIgPiAwICYmIG5leHRPcmRlciA8IHByZXZpb3VzT3JkZXIpIHtcbiAgICAgICAgICBjb25zdCBuZXdPcmRlciA9IHByZXZpb3VzT3JkZXIgKyAobmV4dE9yZGVySW5kZXggLSBwcmV2aW91c09yZGVySW5kZXgpO1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGB0aGUgb3JkZXIgcHJvcGVydHkgb2YgbGF5ZXIgbm8gJHtpbmRleCArIDJ9IHdhcyBwcmVzZXQgYnV0IGRvZXNuJ3QgZm9sbG93IHRoZSBvcmRlciBvZiB0aGUgb3RoZXIgbGF5ZXJzYFxuICAgICAgICAgICk7XG4gICAgICAgICAgbmV4dE9yZGVyID0gbmV3T3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV4dE9yZGVyID4gMCkge1xuICAgICAgICAgIGxldCByZWxhdGl2ZUluZGV4ID0gaW5kZXggLSBwcmV2aW91c09yZGVySW5kZXg7XG4gICAgICAgICAgbGF5ZXIub3JkZXIgPVxuICAgICAgICAgICAgcHJldmlvdXNPcmRlciArICgobmV4dE9yZGVyIC0gcHJldmlvdXNPcmRlcikgLyAobmV4dE9yZGVySW5kZXggLSBwcmV2aW91c09yZGVySW5kZXgpKSAqIHJlbGF0aXZlSW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGF5ZXIub3JkZXIgPSBwcmV2aW91c09yZGVyICsgZGlzdGFuY2VUb0ZpcnN0UHJldmlvdXNPcmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxheWVycy5zb3J0KChsMSwgbDIpID0+IChsMS5vcmRlciA/PyAxKSAtIChsMi5vcmRlciEgPz8gMSkpO1xuICB9XG5cbiAgc3RhdGljIHJlYWRHZW9tZXRyeTxUIGV4dGVuZHMgJ3BvaW50JyB8ICdsaW5lJyB8ICdtdWx0aS1saW5lJyB8ICdwb2x5Z29uJyB8ICdtdWx0aS1wb2x5Z29uJz4oXG4gICAgcHJvamVjdGlvbjogUHJvamVjdGlvbkxpa2UsXG4gICAgaXRlbTogSXRlbSxcbiAgICB0eXBlOiBULFxuICAgIGF0dHJpYnV0ZTogQXR0cmlidXRlIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIGlmICghYXR0cmlidXRlKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWUgPSBpdGVtLmF0dHJpYnV0ZXNbYXR0cmlidXRlLnRlY2huaWNhbE5hbWVdO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihgR2VvbWV0cnkgYXR0cmlidXRlIGV4Y2x1ZGVkIGZvciBpdGVtICR7aXRlbS5pZH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnR5cGUgPT09ICdNVUxUSScpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVzWzBdO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS52aXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgY29uc29sZS53YXJuKGBHZW9tZXRyeSBub3QgdmlzaWJsZSBmb3IgaXRlbSAke2l0ZW0uaWR9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGdlb21ldHJ5O1xuICAgIHRyeSB7XG4gICAgICBnZW9tZXRyeSA9IFdpZGdldE1hcFV0aWxzLmdlb0pTT04ucmVhZEdlb21ldHJ5KHZhbHVlLnZhbHVlIGFzIGFueSwge1xuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvblxuICAgICAgfSkgYXMgR2VvbWV0cnk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKCdlcnJvciByZWFkaW5nIEdlb21ldHJ5JywgdmFsdWUudmFsdWUsIGUpO1xuICAgIH1cblxuICAgIHJldHVybiBnZW9tZXRyeTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9qZWN0RXh0ZW50QWdncmVnYXRpb25SZXNwb25zZShcbiAgICBmaWVsZDogRmllbGQsXG4gICAgZXh0ZW50UmVzcG9uc2U6IEFnZ3JlZ2F0aW9uUmVzdWx0LFxuICAgIGxheWVyOiBNYXBHZW9TZXJ2ZXJMYXllck9wdGlvbnMsXG4gICAgd21zQ2FwYWJpbGl0aWVzOiB7IFtwOiBzdHJpbmddOiBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB8IG51bGwgfSB8IHVuZGVmaW5lZCxcbiAgICBtYXA6IE1hcFxuICApIHtcbiAgICBjb25zdCBwcm9qQm94ID0gZ2V0UHJvamVjdGlvbihmaWVsZCEuY3JzID8/IERFRkFVTFRfUFJPSkVDVElPTik7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBleHRlbnRSZXNwb25zZS52YWx1ZXMgYXMge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgdG9wX2xlZnQ6IHtcbiAgICAgICAgICBsb246IHN0cmluZztcbiAgICAgICAgICBsYXQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYm90dG9tX3JpZ2h0OiB7XG4gICAgICAgICAgbG9uOiBzdHJpbmc7XG4gICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1bXTtcbiAgICBpZiAoXG4gICAgICBwcm9qQm94ICYmXG4gICAgICByZXNwb25zZS5sZW5ndGggPiAwICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZSAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUudG9wX2xlZnQgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLnRvcF9sZWZ0LmxhdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS50b3BfbGVmdC5sb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgcmVzcG9uc2VbMF0udmFsdWUuYm90dG9tX3JpZ2h0ICYmXG4gICAgICByZXNwb25zZVswXS52YWx1ZS5ib3R0b21fcmlnaHQubGF0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHJlc3BvbnNlWzBdLnZhbHVlLmJvdHRvbV9yaWdodC5sb24gIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YXNvdXJjZTogbGF5ZXIuZGF0YXNvdXJjZUlkLFxuICAgICAgICBlcnJvcjogZmFsc2UsXG4gICAgICAgIGV4dGVudDogW1xuICAgICAgICAgIHRyYW5zZm9ybShcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICBleHRlbnRSZXNwb25zZS52YWx1ZXNbMF0gYXMge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIHRvcF9sZWZ0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb246IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkudmFsdWUudG9wX2xlZnQubG9uXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgZXh0ZW50UmVzcG9uc2UudmFsdWVzWzBdIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0b3BfbGVmdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLnZhbHVlLnRvcF9sZWZ0LmxhdFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcHJvakJveCxcbiAgICAgICAgICAgIG1hcC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0cmFuc2Zvcm0oXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgZXh0ZW50UmVzcG9uc2UudmFsdWVzWzBdIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICBib3R0b21fcmlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbjogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS52YWx1ZS5ib3R0b21fcmlnaHQubG9uXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgZXh0ZW50UmVzcG9uc2UudmFsdWVzWzBdIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICBib3R0b21fcmlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdDogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS52YWx1ZS5ib3R0b21fcmlnaHQubGF0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgbWFwLmdldFZpZXcoKS5nZXRQcm9qZWN0aW9uKClcbiAgICAgICAgICApXG4gICAgICAgIF1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGFzb3VyY2U6IGxheWVyLmRhdGFzb3VyY2VJZCxcbiAgICAgIGV4dGVudDogWE1MVXRpbHMuZ2V0TGF5ZXJFeHRlbnQobGF5ZXIucGFyYW1MYXllciwgbWFwLCB3bXNDYXBhYmlsaXRpZXMhW2xheWVyLnVybF0/LmRvYykgPz8gW10sXG4gICAgICBlcnJvcjogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIERFRkFVTFRfSEVBVE1BUF9SQURJVVMgPSAyNTtcbiAgc3RhdGljIERFRkFVTFRfUkFESVVTX0lOVEVOU0lUWV9GQUNUT1IgPSAxMDAwMDtcbiAgc3RhdGljIERFRkFVTFRfWk9PTV9NSU4gPSAzO1xuICBzdGF0aWMgREVGQVVMVF9aT09NX1NUQVJUID0gMTA7XG4gIHN0YXRpYyBERUZBVUxUX1pPT01fTUFYID0gMTg7XG4gIHN0YXRpYyBERUZBVUxUX01BUF9DRU5URVIgPSBbMi4yODI3MjE3MzQ3MzgxNTI1LCA0OC44NjQ3MDYwMzE1NTc3MTZdO1xuXG4gIHN0YXRpYyBCQUNLR1JPVU5EX09SREVSID0gOTk5OTtcbn1cbiJdfQ==
@@ -116,4 +116,4 @@ export class XMLUtils {
116
116
  }).reduce((p, c) => ({ ...p, [c.param]: c }), {});
117
117
  }
118
118
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL3htbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtvQkFDMUIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDeEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxD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QUFZLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUNoRSxDQUFDO1lBQ0YsT0FBTztnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLGFBQWE7YUFDdEIsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfUFJPSkVDVElPTiB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5cbmV4cG9ydCBjbGFzcyBYTUxVdGlscyB7XG4gIHN0YXRpYyBmaW5kKGNoaWxkczogTm9kZUxpc3RPZjxDaGlsZE5vZGU+LCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoISFjaGlsZHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZmluZEFsbChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgbmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBjaGlsZHNbaV07XG4gICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBmaW5kV2l0aChjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkc1tpXTtcbiAgICAgIGNvbnN0IGF0dHJOb2RlID0gWE1MVXRpbHMuZmluZChub2RlLmNoaWxkTm9kZXMsIGF0dHJpYnV0ZSk7XG4gICAgICBpZiAoYXR0ck5vZGU/LnRleHRDb250ZW50ID09PSB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWF0Y2hpbmdMYXllcihwYXJhbUxheWVyOiBzdHJpbmcsIGRvYz86IERvY3VtZW50KSB7XG4gICAgaWYgKGRvYykge1xuICAgICAgY29uc3QgV01TQ2FwYWJpbGl0eSA9IFhNTFV0aWxzLmZpbmQoZG9jLmNoaWxkTm9kZXMsICdXTVNfQ2FwYWJpbGl0aWVzJyk7XG4gICAgICBpZiAoV01TQ2FwYWJpbGl0eSkge1xuICAgICAgICBjb25zdCBDYXBhYmlsaXRpZXMgPSBYTUxVdGlscy5maW5kKFdNU0NhcGFiaWxpdHkuY2hpbGROb2RlcywgJ0NhcGFiaWxpdHknKTtcbiAgICAgICAgaWYgKENhcGFiaWxpdGllcykge1xuICAgICAgICAgIGNvbnN0IExheWVyID0gWE1MVXRpbHMuZmluZChDYXBhYmlsaXRpZXMuY2hpbGROb2RlcywgJ0xheWVyJyk7XG4gICAgICAgICAgaWYgKExheWVyKSB7XG4gICAgICAgICAgICBsZXQgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmZpbmRXaXRoKExheWVyLmNoaWxkTm9kZXMsICdOYW1lJywgcGFyYW1MYXllcik7XG4gICAgICAgICAgICBjb25zdCBzcGxpdCA9IHBhcmFtTGF5ZXIuc3BsaXQoJzonKTtcbiAgICAgICAgICAgIGlmICghbWF0Y2hpbmdMYXllciAmJiBzcGxpdC5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgICAvLyBUcnkgYWdhaW4sIHNwbGl0dGluZyBvbiBcIjpcIiBpbiB0aGUgbmFtZSB0byBpZ25vcmUgbmFtZXNwYWNlIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgbWF0Y2hpbmdMYXllciA9IFhNTFV0aWxzLmZpbmRXaXRoKExheWVyLmNoaWxkTm9kZXMsICdOYW1lJywgc3BsaXRbc3BsaXQubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoaW5nTGF5ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGFsbExheWVycyhkb2M/OiBEb2N1bWVudCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGlmIChkb2MpIHtcbiAgICAgIGNvbnN0IFdNU0NhcGFiaWxpdHkgPSBYTUxVdGlscy5maW5kKGRvYy5jaGlsZE5vZGVzLCAnV01TX0NhcGFiaWxpdGllcycpO1xuICAgICAgaWYgKFdNU0NhcGFiaWxpdHkpIHtcbiAgICAgICAgY29uc3QgQ2FwYWJpbGl0aWVzID0gWE1MVXRpbHMuZmluZChXTVNDYXBhYmlsaXR5LmNoaWxkTm9kZXMsICdDYXBhYmlsaXR5Jyk7XG4gICAgICAgIGlmIChDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBjb25zdCBsYXllckJsb2MgPSBYTUxVdGlscy5maW5kKENhcGFiaWxpdGllcy5jaGlsZE5vZGVzLCAnTGF5ZXInKTtcbiAgICAgICAgICBpZiAobGF5ZXJCbG9jICYmIGxheWVyQmxvYy5jaGlsZE5vZGVzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxheWVyQmxvYy5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBsYXllckJsb2MuY2hpbGROb2Rlc1tpXTtcbiAgICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICdMYXllcicpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGdldExheWVyRXh0ZW50KHBhcmFtTGF5ZXI6IHN0cmluZywgbWFwOiBNYXAsIGRvYz86IERvY3VtZW50KSB7XG4gICAgaWYgKCFkb2MpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaGluZ0xheWVyID0gWE1MVXRpbHMuZ2V0TWF0Y2hpbmdMYXllcihwYXJhbUxheWVyLCBkb2MpO1xuICAgIGlmIChtYXRjaGluZ0xheWVyKSB7XG4gICAgICBjb25zdCBib3VuZGluZ0JveCA9IFhNTFV0aWxzLmZpbmQobWF0Y2hpbmdMYXllci5jaGlsZE5vZGVzLCAnQm91bmRpbmdCb3gnKTtcbiAgICAgIGlmIChib3VuZGluZ0JveCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBib3VuZGluZ0JveC5hdHRyaWJ1dGVzO1xuICAgICAgICBjb25zdCBwcm9qQm94ID0gZ2V0UHJvamVjdGlvbihhdHRyaWJ1dGVzLkNSUy50ZXh0Q29udGVudCA/PyBERUZBVUxUX1BST0pFQ1RJT04pO1xuICAgICAgICBpZiAocHJvakJveCkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0cmFuc2Zvcm0oXG4gICAgICAgICAgICAgIFtwYXJzZUZsb2F0KGF0dHJpYnV0ZXMubWlueC50ZXh0Q29udGVudCksIHBhcnNlRmxvYXQoYXR0cmlidXRlcy5taW55LnRleHRDb250ZW50KV0sXG4gICAgICAgICAgICAgIHByb2pCb3gsXG4gICAgICAgICAgICAgIG1hcC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNmb3JtKFxuICAgICAgICAgICAgICBbcGFyc2VGbG9hdChhdHRyaWJ1dGVzLm1heHgudGV4dENvbnRlbnQpLCBwYXJzZUZsb2F0KGF0dHJpYnV0ZXMubWF4eS50ZXh0Q29udGVudCldLFxuICAgICAgICAgICAgICBwcm9qQm94LFxuICAgICAgICAgICAgICBtYXAuZ2V0VmlldygpLmdldFByb2plY3Rpb24oKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzdGF0aWMgZ2V0UG9zc2libGVMYXllclN0eWxlcyhkb2M/OiBEb2N1bWVudCk6IHtcbiAgICBbcGFyYW06IHN0cmluZ106IHsgcGFyYW06IHN0cmluZzsgc3R5bGVzOiB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdIH07XG4gIH0gfCBudWxsIHtcbiAgICBpZiAoIWRvYykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBsYXllcnMgPSBYTUxVdGlscy5hbGxMYXllcnMoZG9jKTtcbiAgICByZXR1cm4gKFxuICAgICAgbGF5ZXJzLm1hcCgobGF5ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXJOYW1lID0gWE1MVXRpbHMuZmluZChsYXllci5jaGlsZE5vZGVzLCAnTmFtZScpPy50ZXh0Q29udGVudCA/PyAnJztcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gWE1MVXRpbHMuZmluZEFsbChsYXllci5jaGlsZE5vZGVzLCAnU3R5bGUnKTtcbiAgICAgICAgY29uc3Qgc3R5bGVzQXJyYXkgPSBzdHlsZXMubWFwKChzdHlsZSkgPT4gKHtcbiAgICAgICAgICBpZDogWE1MVXRpbHMuZmluZChzdHlsZS5jaGlsZE5vZGVzLCAnTmFtZScpPy50ZXh0Q29udGVudCxcbiAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgIFhNTFV0aWxzLmZpbmQoc3R5bGUuY2hpbGROb2RlcywgJ1RpdGxlJyk/LnRleHRDb250ZW50ID8/XG4gICAgICAgICAgICBYTUxVdGlscy5maW5kKHN0eWxlLmNoaWxkTm9kZXMsICdOYW1lJyk/LnRleHRDb250ZW50XG4gICAgICAgIH0pKSBhcyB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICAgICAgICBjb25zdCB1bmlxdWVzU3R5bGVzID0gWy4uLm5ldyBTZXQoc3R5bGVzQXJyYXkubWFwKChzdHlsZSkgPT4gc3R5bGUuaWQpKV0ubWFwKChzdHlsZUlkKSA9PlxuICAgICAgICAgIHN0eWxlc0FycmF5LmZpbmQoKHN0eWxlSW5BcnJheSkgPT4gc3R5bGVJbkFycmF5LmlkID09PSBzdHlsZUlkKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhcmFtOiBsYXllck5hbWUsXG4gICAgICAgICAgc3R5bGVzOiB1bmlxdWVzU3R5bGVzXG4gICAgICAgIH07XG4gICAgICB9KSBhcyB7IHBhcmFtOiBzdHJpbmc7IHN0eWxlczogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXSB9W11cbiAgICApLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgW2MucGFyYW1dOiBjIH0pLCB7fSk7XG4gIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL3htbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUQsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDckQsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QixFQUFFLElBQVk7UUFDeEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQTZCLEVBQUUsU0FBaUIsRUFBRSxLQUFhO1FBQzdFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzRCxJQUFJLFFBQVEsRUFBRSxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxHQUFjO1FBQ3hELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUN4RSxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzNFLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDOUQsSUFBSSxLQUFLLEVBQUUsQ0FBQzt3QkFDVixJQUFJLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO3dCQUM1RSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNwQyxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQ3hDLHlFQUF5RTs0QkFDekUsYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdkYsQ0FBQzt3QkFDRCxPQUFPLGFBQWEsQ0FBQztvQkFDdkIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQWM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUN4RSxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzNFLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDbEUsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzs0QkFDckQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dDQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNwQixDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQixFQUFFLEdBQVEsRUFBRSxHQUFjO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakUsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDM0UsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsYUFBYTtnQkFDYixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUMxQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixPQUFPO3dCQUNMLFNBQVMsQ0FDUCxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xGLE9BQU8sRUFDUCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQzlCO3dCQUNELFNBQVMsQ0FDUCxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xGLE9BQU8sRUFDUCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQzlCO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQWM7UUFHMUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUNFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM3RSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxXQUFXO2dCQUN4RCxLQUFLLEVBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFdBQVc7b0JBQ3JELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxXQUFXO2FBQ3ZELENBQUMsQ0FBb0MsQ0FBQztZQUN2QyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUN2RixXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUNoRSxDQUFDO1lBQ0YsT0FBTztnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLGFBQWE7YUFDdEIsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfUFJPSkVDVElPTiB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvamVjdGlvbiwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5cbmV4cG9ydCBjbGFzcyBYTUxVdGlscyB7XG4gIHN0YXRpYyBmaW5kKGNoaWxkczogTm9kZUxpc3RPZjxDaGlsZE5vZGU+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.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,
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetMapModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
27
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", 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.2.12", ngImport: i0, type: WidgetMapModule, imports: [CommonModule,
39
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", 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.2.12", ngImport: i0, type: WidgetMapModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetMapModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  declarations: [...components],
@@ -69,5 +69,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
69
  ],
70
70
  exports: [...components]
71
71
  }]
72
- }], ctorParameters: function () { return [{ type: i1.PryI18nService }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1tYXAvd2lkZ2V0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRWpFLE1BQU0sVUFBVSxHQUFHLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQW9CakgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBQ25ELFlBQW9CLG1CQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFFckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVEsWUFBWTtRQUNuQixPQUFPLGtCQUErQyxDQUFDO0lBQ3pELENBQUM7K0dBVFUsZUFBZTtnSEFBZixlQUFlLGlCQXBCUixrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsYUFLM0csWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjLGFBaEJFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQjtnSEFvQmxHLGVBQWUsWUFmeEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjOzs0RkFJTCxlQUFlO2tCQWxCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgUHJ5UmFuZ2VNb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5VG9nZ2xlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IFdpZGdldE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpZGdldC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgR2VvbWV0cnlGaWVsZHNGb3JQaXBlIH0gZnJvbSAnLi9waXBlL3dpZGdldC1tYXAtZ2VvbWV0cnktZmllbGRzLWZvci5waXBlJztcbmltcG9ydCB7IFdpZGdldE1hcExlZ2VuZFVybFBpcGUgfSBmcm9tICcuL3BpcGUvd2lkZ2V0LW1hcC1sZWdlbmQtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtXaWRnZXRNYXBDb21wb25lbnQsIEdlb21ldHJ5RmllbGRzRm9yUGlwZSwgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50LCBXaWRnZXRNYXBMZWdlbmRVcmxQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeVJhbmdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRNYXBNb2R1bGUgZXh0ZW5kcyBCYXNlV2lkZ2V0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcnlUcmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ3dpZGdldC1tYXAnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3dpZGdldC1tYXAnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldE1hcENvbXBvbmVudCBhcyBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+O1xuICB9XG59XG4iXX0=
72
+ }], ctorParameters: () => [{ type: i1.PryI18nService }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC93aWRnZXRzL3dpZGdldC1tYXAvd2lkZ2V0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRWpFLE1BQU0sVUFBVSxHQUFHLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQW9CakgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBQ25ELFlBQW9CLG1CQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFFckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVEsWUFBWTtRQUNuQixPQUFPLGtCQUErQyxDQUFDO0lBQ3pELENBQUM7OEdBVFUsZUFBZTsrR0FBZixlQUFlLGlCQXBCUixrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsYUFLM0csWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjLGFBaEJFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQjsrR0FvQmxHLGVBQWUsWUFmeEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjOzsyRkFJTCxlQUFlO2tCQWxCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldE1vZHVsZSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICBQcnlJMThuTW9kdWxlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5SWNvbk1vZHVsZSxcbiAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgUHJ5UmFuZ2VNb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5VG9nZ2xlTW9kdWxlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NoZWNrYm94JztcbmltcG9ydCB7IFdpZGdldE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3dpZGdldC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgR2VvbWV0cnlGaWVsZHNGb3JQaXBlIH0gZnJvbSAnLi9waXBlL3dpZGdldC1tYXAtZ2VvbWV0cnktZmllbGRzLWZvci5waXBlJztcbmltcG9ydCB7IFdpZGdldE1hcExlZ2VuZFVybFBpcGUgfSBmcm9tICcuL3BpcGUvd2lkZ2V0LW1hcC1sZWdlbmQtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtXaWRnZXRNYXBDb21wb25lbnQsIEdlb21ldHJ5RmllbGRzRm9yUGlwZSwgUHJ5V2lkZ2V0TWFwQ3NzQ29tcG9uZW50LCBXaWRnZXRNYXBMZWdlbmRVcmxQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlTZWxlY3RNb2R1bGUsXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIFByeVJhbmdlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRNYXBNb2R1bGUgZXh0ZW5kcyBCYXNlV2lkZ2V0TW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcnlUcmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2ZyJywgJ3dpZGdldC1tYXAnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3dpZGdldC1tYXAnLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIFdpZGdldE1hcENvbXBvbmVudCBhcyBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+O1xuICB9XG59XG4iXX0=