geonetwork-ui 2.4.0-dev.e8fc61cb → 2.4.0-dev.f5019723

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 (922) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +254 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +196 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +27 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +17 -29
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +12 -17
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +35 -7
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +76 -54
  24. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +44 -5
  25. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +99 -32
  26. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
  27. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
  28. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +12 -2
  29. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +59 -11
  30. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  31. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  32. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  33. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  34. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  35. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  36. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  37. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  38. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
  39. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  40. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  41. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  42. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +11 -11
  43. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  44. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -6
  45. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  46. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  47. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  48. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  49. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  50. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  51. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  52. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +10 -5
  53. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +10 -2
  54. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  55. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
  56. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
  57. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
  58. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  59. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  60. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  61. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  62. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +147 -0
  63. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  64. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -38
  65. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  66. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  67. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  68. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  69. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +103 -0
  70. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  71. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  72. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  73. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -68
  74. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  75. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +47 -44
  76. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -3
  77. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +13 -7
  78. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  79. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  80. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  81. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  82. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +207 -57
  83. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  84. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  85. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +12 -7
  86. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  87. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  88. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  89. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  90. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  91. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  92. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +20 -19
  93. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +23 -14
  94. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +15 -14
  95. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +18 -13
  96. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +16 -11
  97. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  98. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +9 -68
  99. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  100. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +43 -18
  101. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  102. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  103. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +12 -171
  104. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  105. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
  106. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
  107. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
  108. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  109. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  110. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  111. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +11 -13
  112. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  113. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  114. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
  115. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
  116. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  117. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +54 -9
  118. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +8 -3
  119. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  120. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +7 -3
  121. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
  122. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  123. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -7
  124. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
  125. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  126. package/esm2022/libs/ui/elements/src/index.mjs +3 -3
  127. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  128. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  129. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  130. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  131. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
  132. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  133. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -5
  134. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  135. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +6 -6
  136. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +5 -11
  137. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +3 -3
  138. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  139. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
  140. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +15 -11
  141. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  142. package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
  143. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +24 -7
  144. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  145. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  146. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  147. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  148. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  149. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  150. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  151. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  152. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  153. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  154. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  155. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +4 -13
  156. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  157. package/esm2022/libs/ui/layout/src/index.mjs +4 -1
  158. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  159. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  160. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  161. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  162. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  163. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
  164. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  165. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  166. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  167. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  168. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  169. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  170. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +67 -0
  171. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +33 -13
  172. package/esm2022/libs/ui/widgets/src/index.mjs +2 -1
  173. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  174. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  175. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  176. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  177. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  178. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  179. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  180. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  181. package/esm2022/translations/de.json +160 -37
  182. package/esm2022/translations/en.json +161 -38
  183. package/esm2022/translations/es.json +131 -8
  184. package/esm2022/translations/fr.json +193 -70
  185. package/esm2022/translations/it.json +134 -11
  186. package/esm2022/translations/nl.json +131 -8
  187. package/esm2022/translations/pt.json +131 -8
  188. package/fesm2022/geonetwork-ui.mjs +11427 -8541
  189. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  190. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  191. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  192. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  193. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  194. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  195. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  196. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  197. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  198. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  199. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  200. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  201. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  202. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  203. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  204. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  205. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  206. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  207. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  208. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  209. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  210. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  211. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  212. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  213. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  214. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  215. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  216. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  217. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  218. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  219. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  220. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  221. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  222. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  223. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -2
  224. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  225. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  226. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +12 -6
  227. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  228. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  229. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  230. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +13 -12
  231. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  232. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +59 -0
  233. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  234. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +19 -8
  235. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  236. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  237. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  238. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  239. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +24 -3
  240. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  241. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +2 -1
  242. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  243. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +9 -7
  244. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  245. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  246. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  247. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  248. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  249. package/libs/common/domain/src/lib/platform.service.interface.d.ts +18 -1
  250. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  251. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +24 -0
  252. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  253. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  254. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  255. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  256. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  257. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  258. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  259. package/libs/feature/catalog/src/index.d.ts +1 -0
  260. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  261. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  262. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  263. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  264. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  265. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  266. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  267. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  268. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  269. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  270. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  271. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  272. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  273. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  274. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  275. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  276. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  277. package/libs/feature/editor/src/index.d.ts +1 -0
  278. package/libs/feature/editor/src/index.d.ts.map +1 -1
  279. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +6 -0
  280. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  281. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  282. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  283. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -4
  284. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  285. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  286. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  287. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
  288. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  289. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
  290. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  291. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  292. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  293. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  294. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  295. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  296. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  297. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  298. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  299. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  300. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  301. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  302. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
  303. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  304. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  305. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  306. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  307. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  308. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  309. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  310. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  311. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  312. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  313. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  314. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  315. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +31 -0
  316. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  317. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  318. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  319. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  320. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  321. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  322. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  323. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -16
  324. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  325. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  326. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  327. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -20
  328. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  329. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -2
  330. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  331. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +7 -7
  332. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  333. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  334. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  335. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  336. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  337. package/libs/feature/editor/src/lib/fields.config.d.ts +55 -2
  338. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  339. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +42 -0
  340. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  341. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  342. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  343. package/libs/feature/editor/src/lib/services/editor.service.d.ts +4 -3
  344. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  345. package/libs/feature/map/src/index.d.ts +1 -8
  346. package/libs/feature/map/src/index.d.ts.map +1 -1
  347. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  348. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  349. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  350. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  351. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  352. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  353. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  354. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  355. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  356. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  357. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  358. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  359. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  360. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  361. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  362. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  363. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  364. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  365. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  366. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  367. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  368. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  369. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  370. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  371. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  372. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  373. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  374. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  375. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  376. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  377. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  378. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  379. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  380. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  381. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  382. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  383. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  384. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  385. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  386. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  387. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  388. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  389. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  390. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  391. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  392. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  393. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  394. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  395. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  396. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  397. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  398. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  399. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  400. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  401. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  402. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  403. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  404. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  405. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +18 -6
  406. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  407. package/libs/feature/search/src/lib/state/search.facade.d.ts +2 -0
  408. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  409. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  410. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  411. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  412. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  413. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  414. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  415. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -9
  416. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  417. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  418. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  419. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  420. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  421. package/libs/ui/elements/src/index.d.ts +2 -2
  422. package/libs/ui/elements/src/index.d.ts.map +1 -1
  423. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  424. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  425. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  426. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  427. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  428. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  429. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  430. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  431. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  432. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  433. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  434. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  435. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  436. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  437. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  438. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  439. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  440. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +17 -15
  441. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  442. package/libs/ui/inputs/src/index.d.ts +5 -0
  443. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  444. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  445. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  446. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  447. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  448. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  449. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  450. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  451. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  452. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  453. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  454. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  455. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  456. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  457. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  458. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  459. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  460. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  461. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  462. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  463. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  464. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  465. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  466. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  467. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  468. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  469. package/libs/ui/layout/src/index.d.ts +3 -0
  470. package/libs/ui/layout/src/index.d.ts.map +1 -1
  471. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  472. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  473. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  474. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  475. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  476. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  477. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  478. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  479. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  480. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  481. package/libs/ui/map/src/index.d.ts +3 -2
  482. package/libs/ui/map/src/index.d.ts.map +1 -1
  483. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  484. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  485. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  486. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  487. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  488. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  489. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  490. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  491. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  492. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  493. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +20 -0
  494. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  495. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +11 -5
  496. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  497. package/libs/ui/widgets/src/index.d.ts +1 -0
  498. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  499. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  500. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  501. package/libs/util/app-config/src/index.d.ts +1 -0
  502. package/libs/util/app-config/src/index.d.ts.map +1 -1
  503. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  504. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  505. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  506. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  507. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  508. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  509. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  510. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  511. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  512. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  513. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  514. package/package.json +5 -3
  515. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  516. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  517. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  518. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  519. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  520. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  521. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  522. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  523. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  524. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  525. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  526. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  527. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  528. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  529. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  530. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  531. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  532. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  533. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  534. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +6 -2
  535. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +38 -13
  536. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +6 -2
  537. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  538. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  539. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  540. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  541. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  542. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  543. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  544. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
  545. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  546. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +21 -43
  547. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +11 -16
  548. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +85 -17
  549. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  550. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +203 -157
  551. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +50 -7
  552. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +163 -59
  553. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  554. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  555. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +13 -2
  556. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +116 -30
  557. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +29 -1
  558. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -8
  559. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  560. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  561. package/src/libs/common/domain/src/lib/platform.service.interface.ts +35 -1
  562. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +32 -0
  563. package/src/libs/common/fixtures/src/index.ts +6 -1
  564. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  565. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  566. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  567. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  568. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  569. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  570. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  571. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  572. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  573. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  574. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  575. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  576. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  577. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  578. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  579. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  580. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  581. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +65 -3
  582. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  583. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +17 -9
  584. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  585. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  586. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  587. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  588. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  589. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  590. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  591. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  592. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  593. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  594. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  595. package/src/libs/feature/catalog/src/index.ts +1 -0
  596. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -2
  597. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  598. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  599. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  600. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  601. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  602. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  603. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  604. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  605. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  606. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  607. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  608. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  609. package/src/libs/feature/editor/src/index.ts +1 -0
  610. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +7 -0
  611. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +28 -6
  612. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -1
  613. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  614. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
  615. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
  616. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  617. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
  618. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  619. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  620. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  621. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  622. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  623. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  624. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  625. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  626. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  627. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
  628. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +210 -0
  629. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  630. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  631. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  632. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +43 -42
  633. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  634. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  635. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  636. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  637. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  638. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  639. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  640. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  641. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  642. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  643. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -0
  644. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +122 -0
  645. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  646. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  647. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  648. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  649. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  650. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  651. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  652. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  653. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -86
  654. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  655. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  656. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  657. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +119 -70
  658. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +54 -44
  659. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -2
  660. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +52 -9
  661. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +20 -7
  662. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  663. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  664. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  665. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  666. package/src/libs/feature/editor/src/lib/fields.config.ts +247 -57
  667. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +65 -0
  668. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  669. package/src/libs/feature/editor/src/lib/services/editor.service.ts +22 -7
  670. package/src/libs/feature/map/src/index.ts +1 -8
  671. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  672. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  673. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  674. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  675. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  676. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  677. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  678. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  679. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  680. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  681. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  682. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  683. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  684. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  685. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  686. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  687. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  688. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  689. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  690. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  691. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  692. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  693. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -232
  694. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  695. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  696. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  697. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  698. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  699. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  700. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  701. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  702. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  703. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +47 -32
  704. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  705. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  706. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  707. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +8 -0
  708. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  709. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +8 -2
  710. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +70 -5
  711. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  712. package/src/libs/feature/search/src/lib/state/search.facade.ts +11 -0
  713. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  714. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  715. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  716. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  717. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  718. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -3
  719. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  720. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  721. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  722. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  723. package/src/libs/ui/elements/src/index.ts +2 -2
  724. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  725. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  726. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  727. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  728. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  729. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  730. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  731. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  732. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  733. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -17
  734. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  735. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +7 -1
  736. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +12 -8
  737. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  738. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  739. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  740. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  741. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  742. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  743. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +10 -6
  744. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  745. package/src/libs/ui/inputs/src/index.ts +5 -0
  746. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  747. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  748. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +19 -4
  749. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +11 -3
  750. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  751. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  752. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  753. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  754. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  755. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  756. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  757. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  758. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  759. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  760. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  761. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  762. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  763. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  764. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  765. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  766. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +32 -0
  767. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +14 -0
  768. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +37 -0
  769. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  770. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  771. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  772. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  773. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -6
  774. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  775. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  776. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  777. package/src/libs/ui/layout/src/index.ts +3 -0
  778. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  779. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  780. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +1 -1
  781. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -2
  782. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  783. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
  784. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  785. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  786. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  787. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  788. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  789. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +15 -18
  790. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  791. package/src/libs/ui/map/src/index.ts +3 -2
  792. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  793. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  794. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  795. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  796. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  797. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  798. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  799. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  800. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +26 -0
  801. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +74 -0
  802. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +35 -10
  803. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +31 -18
  804. package/src/libs/ui/widgets/src/index.ts +1 -0
  805. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  806. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  807. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  808. package/src/libs/util/app-config/src/index.ts +1 -0
  809. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  810. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  811. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  812. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  813. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  814. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  815. package/tailwind.base.config.js +1 -0
  816. package/tailwind.base.css +53 -8
  817. package/translations/de.json +160 -37
  818. package/translations/en.json +161 -38
  819. package/translations/es.json +131 -8
  820. package/translations/fr.json +193 -70
  821. package/translations/it.json +134 -11
  822. package/translations/nl.json +131 -8
  823. package/translations/pt.json +131 -8
  824. package/translations/sk.json +133 -10
  825. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  826. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
  827. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
  828. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  829. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  830. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  831. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  832. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  833. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  834. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  835. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  836. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  837. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  838. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  839. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  840. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  841. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  842. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -43
  843. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  844. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  845. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  846. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  847. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
  848. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
  849. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
  850. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
  851. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  852. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  853. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  854. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  855. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  856. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  857. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  858. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  859. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  860. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  861. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  862. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  863. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  864. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  865. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  866. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  867. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  868. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  869. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  870. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  871. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  872. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  873. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  874. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  875. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  876. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  877. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  878. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  879. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  880. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  881. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  882. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  883. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  884. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  885. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  886. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  887. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -8
  888. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -70
  889. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  890. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  891. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
  892. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
  893. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
  894. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
  895. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  896. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  897. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  898. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  899. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  900. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  901. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  902. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  903. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  904. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  905. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  906. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  907. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  908. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  909. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  910. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -36
  911. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  912. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  913. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  914. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  915. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → import-record/import-record.component.css} +0 -0
  916. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  917. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  918. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  919. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  920. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
  921. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  922. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,10 +1,11 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { getBadgeColor, getFileFormat, getFormatPriority, } from '../../../../../../libs/util/shared/src';
3
+ import { MatIconModule } from '@angular/material/icon';
3
4
  import { BadgeComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src';
4
5
  import { InteractiveTableColumnComponent, InteractiveTableComponent, } from '../../../../../../libs/ui/layout/src';
5
- import { MatIconModule } from '@angular/material/icon';
6
+ import { getBadgeColor, getFileFormat, getFormatPriority, } from '../../../../../../libs/util/shared/src';
6
7
  import { TranslateModule } from '@ngx-translate/core';
7
- import { CommonModule } from '@angular/common';
8
+ import { ActionMenuComponent } from './action-menu/action-menu.component';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
11
  import * as i2 from "../../../../inputs/src/lib/checkbox/checkbox.component";
@@ -16,10 +17,15 @@ export class ResultsTableComponent {
16
17
  this.records = [];
17
18
  this.selectedRecordsIdentifiers = [];
18
19
  this.sortOrder = null;
19
- this.recordHasDraft = () => false;
20
+ this.hasDraft = () => false;
21
+ this.canDuplicate = () => true;
22
+ this.isUnsavedDraft = () => true;
23
+ this.canDelete = () => true;
20
24
  // emits the column (field) as well as the order
21
25
  this.sortByChange = new EventEmitter();
22
26
  this.recordClick = new EventEmitter();
27
+ this.duplicateRecord = new EventEmitter();
28
+ this.deleteRecord = new EventEmitter();
23
29
  this.recordsSelectedChange = new EventEmitter();
24
30
  }
25
31
  dateToString(date) {
@@ -30,14 +36,11 @@ export class ResultsTableComponent {
30
36
  timeZone: 'UTC',
31
37
  });
32
38
  }
33
- getStatus(isPublishedToAll) {
34
- return isPublishedToAll ? 'published' : 'not published';
35
- }
36
39
  getRecordFormats(record) {
37
- if (record.kind === 'service' || !('distributions' in record)) {
40
+ if (record.kind === 'service' || !('onlineResources' in record)) {
38
41
  return [];
39
42
  }
40
- const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
43
+ const formats = Array.from(new Set(record.onlineResources.map((onlineResource) => getFileFormat(onlineResource)))).filter((format) => !!format);
41
44
  formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
42
45
  return formats;
43
46
  }
@@ -54,6 +57,12 @@ export class ResultsTableComponent {
54
57
  handleRecordClick(item) {
55
58
  this.recordClick.emit(item);
56
59
  }
60
+ handleDuplicate(item) {
61
+ this.duplicateRecord.emit(item);
62
+ }
63
+ handleDelete(item) {
64
+ this.deleteRecord.emit(item);
65
+ }
57
66
  setSortBy(col, order) {
58
67
  this.sortByChange.emit([col, order]);
59
68
  }
@@ -89,7 +98,7 @@ export class ResultsTableComponent {
89
98
  return !allSelected && someSelected;
90
99
  }
91
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i2.CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: i3.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", isUnsavedDraft: "isUnsavedDraft", canDelete: "canDelete" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span class=\"text-xs\">{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (isUnsavedDraft(item)\n ? 'record.metadata.status.notPublished'\n : 'record.metadata.status.published'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex justify-center w-full text-xs\">\n {{ isUnsavedDraft(item) ? '-' : dateToString(item.recordUpdated) }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item)\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i2.CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: i3.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete"], outputs: ["duplicate", "delete"] }] }); }
93
102
  }
94
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
95
104
  type: Component,
@@ -101,20 +110,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
101
110
  MatIconModule,
102
111
  TranslateModule,
103
112
  BadgeComponent,
104
- ], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
113
+ ActionMenuComponent,
114
+ ], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span class=\"text-xs\">{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (isUnsavedDraft(item)\n ? 'record.metadata.status.notPublished'\n : 'record.metadata.status.published'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex justify-center w-full text-xs\">\n {{ isUnsavedDraft(item) ? '-' : dateToString(item.recordUpdated) }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item)\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
105
115
  }], propDecorators: { records: [{
106
116
  type: Input
107
117
  }], selectedRecordsIdentifiers: [{
108
118
  type: Input
109
119
  }], sortOrder: [{
110
120
  type: Input
111
- }], recordHasDraft: [{
121
+ }], hasDraft: [{
122
+ type: Input
123
+ }], canDuplicate: [{
124
+ type: Input
125
+ }], isUnsavedDraft: [{
126
+ type: Input
127
+ }], canDelete: [{
112
128
  type: Input
113
129
  }], sortByChange: [{
114
130
  type: Output
115
131
  }], recordClick: [{
116
132
  type: Output
133
+ }], duplicateRecord: [{
134
+ type: Output
135
+ }], deleteRecord: [{
136
+ type: Output
117
137
  }], recordsSelectedChange: [{
118
138
  type: Output
119
139
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRFLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckYsT0FBTyxFQUNMLCtCQUErQixFQUMvQix5QkFBeUIsR0FDMUIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7OztBQXFCOUMsTUFBTSxPQUFPLHFCQUFxQjtJQWZsQztRQWdCVyxZQUFPLEdBQW9CLEVBQUUsQ0FBQTtRQUM3QiwrQkFBMEIsR0FBYSxFQUFFLENBQUE7UUFDekMsY0FBUyxHQUFnQixJQUFJLENBQUE7UUFDN0IsbUJBQWMsR0FBdUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO1FBRXpFLGdEQUFnRDtRQUN0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFBO1FBQzNELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVB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QUF5QiwrR0FDekIsK0JBQStCLCtJQUMvQixhQUFhLG1MQUNiLGVBQWU7OzRGQUlOLHFCQUFxQjtrQkFmakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCx5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7cUJBQ2Y7OEJBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBGaWxlRm9ybWF0LFxuICBnZXRCYWRnZUNvbG9yLFxuICBnZXRGaWxlRm9ybWF0LFxuICBnZXRGb3JtYXRQcmlvcml0eSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCwgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQge1xuICBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICBJbnRlcmFjdGl2ZVRhYmxlQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBGaWVsZFNvcnQsXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlc3VsdHMtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQsXG4gICAgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c1RhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVjb3JkczogQ2F0YWxvZ1JlY29yZFtdID0gW11cbiAgQElucHV0KCkgc2VsZWN0ZWRSZWNvcmRzSWRlbnRpZmllcnM6IHN0cmluZ1tdID0gW11cbiAgQElucHV0KCkgc29ydE9yZGVyOiBTb3J0QnlGaWVsZCA9IG51bGxcbiAgQElucHV0KCkgcmVjb3JkSGFzRHJhZnQ6IChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZVxuXG4gIC8vIGVtaXRzIHRoZSBjb2x1bW4gKGZpZWxkKSBhcyB3ZWxsIGFzIHRoZSBvcmRlclxuICBAT3V0cHV0KCkgc29ydEJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxbc3RyaW5nLCAnYXNjJyB8ICdkZXNjJ10+KClcbiAgQE91dHB1dCgpIHJlY29yZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG4gIEBPdXRwdXQoKSByZWNvcmRzU2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFtDYXRhbG9nUmVjb3JkW10sIGJvb2xlYW5dXG4gID4oKVxuXG4gIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwge1xuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgdGltZVpvbmU6ICdVVEMnLFxuICAgIH0pXG4gIH1cblxuICBnZXRTdGF0dXMoaXNQdWJsaXNoZWRUb0FsbDogYm9vbGVhbiB8IHVua25vd24pIHtcbiAgICByZXR1cm4gaXNQdWJsaXNoZWRUb0FsbCA/ICdwdWJsaXNoZWQnIDogJ25vdCBwdWJsaXNoZWQnXG4gIH1cblxuICBnZXRSZWNvcmRGb3JtYXRzKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IEZpbGVGb3JtYXRbXSB7XG4gICAgaWYgKHJlY29yZC5raW5kID09PSAnc2VydmljZScgfHwgISgnZGlzdHJpYnV0aW9ucycgaW4gcmVjb3JkKSkge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdHMgPSBBcnJheS5mcm9tKFxuICAgICAgbmV3IFNldChcbiAgICAgICAgcmVjb3JkLmRpc3RyaWJ1dGlvbnMubWFwKChkaXN0cmlidXRpb24pID0+IGdldEZpbGVGb3JtYXQoZGlzdHJpYnV0aW9uKSlcbiAgICAgIClcbiAgICApLmZpbHRlcigoZm9ybWF0KSA9PiAhIWZvcm1hdClcbiAgICBmb3JtYXRzLnNvcnQoKGEsIGIpID0+IGdldEZvcm1hdFByaW9yaXR5KGIpIC0gZ2V0Rm9ybWF0UHJpb3JpdHkoYSkpXG4gICAgcmV0dXJuIGZvcm1hdHNcbiAgfVxuXG4gIGZvcm1hdFVzZXJJbmZvKHVzZXJJbmZvOiBzdHJpbmcgfCB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbmZvcyA9ICh0eXBlb2YgdXNlckluZm8gPT09ICdzdHJpbmcnID8gdXNlckluZm8gOiAnJykuc3BsaXQoJ3wnKVxuICAgIGlmIChpbmZvcyAmJiBpbmZvcy5sZW5ndGggPT09IDQpIHtcbiAgICAgIHJldHVybiBgJHtpbmZvc1syXX0gJHtpbmZvc1sxXX1gXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldEJhZGdlQ29sb3IoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihmb3JtYXQpXG4gIH1cblxuICBoYW5kbGVSZWNvcmRDbGljayhpdGVtOiB1bmtub3duKSB7XG4gICAgdGhpcy5yZWNvcmRDbGljay5lbWl0KGl0ZW0gYXMgQ2F0YWxvZ1JlY29yZClcbiAgfVxuXG4gIHNldFNvcnRCeShjb2w6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5zb3J0QnlDaGFuZ2UuZW1pdChbY29sLCBvcmRlcl0pXG4gIH1cblxuICBpc1NvcnRlZEJ5KGNvbDogc3RyaW5nKTogJ2Rlc2MnIHwgJ2FzYycgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuc29ydE9yZGVyKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBzb3J0QXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMuc29ydE9yZGVyWzBdKVxuICAgICAgPyAodGhpcy5zb3J0T3JkZXIgYXMgRmllbGRTb3J0W10pXG4gICAgICA6IChbdGhpcy5zb3J0T3JkZXJdIGFzIEZpZWxkU29ydFtdKVxuICAgIGZvciAoY29uc3Qgc29ydCBvZiBzb3J0QXJyYXkpIHtcbiAgICAgIGlmIChzb3J0WzFdID09PSBjb2wpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRbMF1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGlzQ2hlY2tlZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgfVxuXG4gIGhhbmRsZVJlY29yZFNlbGVjdGVkQ2hhbmdlKHNlbGVjdGVkOiBib29sZWFuLCByZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnJlY29yZHNTZWxlY3RlZENoYW5nZS5lbWl0KFtbcmVjb3JkXSwgc2VsZWN0ZWRdKVxuICB9XG5cbiAgYXN5bmMgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgIHRoaXMucmVjb3Jkc1NlbGVjdGVkQ2hhbmdlLmVtaXQoW3RoaXMucmVjb3JkcywgIXRoaXMuaXNBbGxTZWxlY3RlZCgpXSlcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gIH1cblxuICBpc1NvbWVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gICAgY29uc3Qgc29tZVNlbGVjdGVkID0gdGhpcy5yZWNvcmRzLnNvbWUoKHJlY29yZCkgPT5cbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRzSWRlbnRpZmllcnMuaW5jbHVkZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gICAgKVxuICAgIHJldHVybiAhYWxsU2VsZWN0ZWQgJiYgc29tZVNlbGVjdGVkXG4gIH1cbn1cbiIsIjxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZVxuICBbaXRlbXNdPVwicmVjb3Jkc1wiXG4gIChpdGVtQ2xpY2spPVwiaGFuZGxlUmVjb3JkQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDwhLS0gU0VMRUNURUQgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPGduLXVpLWNoZWNrYm94XG4gICAgICAgIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzU29tZVNlbGVjdGVkKClcIlxuICAgICAgICAoY2hhbmdlZCk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiXG4gICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgY2xhc3M9XCItbS0yIG1yLTNcIlxuICAgICAgPlxuICAgICAgPC9nbi11aS1jaGVja2JveD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxnbi11aS1jaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQoaXRlbSlcIlxuICAgICAgICAoY2hhbmdlZCk9XCJoYW5kbGVSZWNvcmRTZWxlY3RlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCItbS0yXCJcbiAgICAgICAgdHlwZT1cImRlZmF1bHRcIlxuICAgICAgPjwvZ24tdWktY2hlY2tib3g+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBUSVRMRSBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVzb3VyY2VUaXRsZU9iamVjdC5kZWZhdWx0LmtleXdvcmQnKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQua2V5d29yZCcsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnRpdGxlPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yIG1heC13LWZ1bGxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpc1wiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxnbi11aS1iYWRnZVxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkSGFzRHJhZnQoaXRlbSlcIlxuICAgICAgICAgIFtzdHlsZS4tLWduLXVpLWJhZGdlLXBhZGRpbmddPVwiJzAuNGVtIDAuNmVtJ1wiXG4gICAgICAgICAgW3N0eWxlLi0tZ24tdWktYmFkZ2UtdGV4dC1jb2xvcl09XCInIzNkMjAwNidcIlxuICAgICAgICAgIFtzdHlsZS4tLWduLXVpLWJhZGdlLWJhY2tncm91bmQtY29sb3JdPVwiJyNmZmJjN2InXCJcbiAgICAgICAgICBbc3R5bGUuLS1nbi11aS1iYWRnZS1yb3VuZGVkXT1cIic0cHgnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5kYXNoYm9hcmQucmVjb3Jkcy5oYXNEcmFmdDwvc3Bhbj5cbiAgICAgICAgPC9nbi11aS1iYWRnZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gRk9STUFUUyBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmZvcm1hdHM8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICpuZ0lmPVwiZ2V0UmVjb3JkRm9ybWF0cyhpdGVtKSBhcyBmb3JtYXRzXCJcbiAgICAgICAgW3RpdGxlXT1cImZvcm1hdHMuam9pbignLCAnKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIHNocmluay0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKGZvcm1hdHNbMF0pXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMF1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZm9ybWF0c1swXSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIHNocmluay0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKGZvcm1hdHNbMV0pXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMV1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZm9ybWF0c1sxXSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaHJpbmstMFwiICpuZ0lmPVwiZm9ybWF0cy5zbGljZSgyKS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgPHNwYW4+K3t7IGZvcm1hdHMuc2xpY2UoMikubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFnZXRSZWNvcmRGb3JtYXRzKGl0ZW0pXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBPV05FUiBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVjb3JkT3duZXInKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdyZWNvcmRPd25lcicsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmF1dGhvcjwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5wZXJzb248L21hdC1pY29uPlxuICAgICAgPHNwYW4+e3sgZm9ybWF0VXNlckluZm8oaXRlbS5leHRyYXM/Lm93bmVySW5mbykgfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBTVEFUVVMgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5zdGF0dXM8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICB7eyBpdGVtLnN0YXR1cyB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gVVBEQVRFIERBVEUgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uXG4gICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgIFthY3RpdmVTb3J0XT1cImlzU29ydGVkQnkoJ2NoYW5nZURhdGUnKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdjaGFuZ2VEYXRlJywgJGV2ZW50KVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudXBkYXRlZE9uPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAge3sgZGF0ZVRvU3RyaW5nKGl0ZW0ucmVjb3JkVXBkYXRlZCkgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cbjwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGU+XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtdGFibGUvcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFNdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLHlCQUF5QixHQUMxQixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTs7Ozs7OztBQWtCekUsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFpQlcsWUFBTyxHQUFvQixFQUFFLENBQUE7UUFDN0IsK0JBQTBCLEdBQWEsRUFBRSxDQUFBO1FBQ3pDLGNBQVMsR0FBZ0IsSUFBSSxDQUFBO1FBQzdCLGFBQVEsR0FBdUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO1FBQzFELGlCQUFZLEdBQXVDLEdBQUcsRUFBRSxDQUFDLElB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Q0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQ2xFLENBQUE7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2hELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQ2xFLENBQUE7UUFDRCxPQUFPLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQTtJQUNyQyxDQUFDOytHQS9HVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix3ZUN0Q2xDLHE0SkFvSkEseUREeEhJLFlBQVksa0lBQ1osY0FBYyxnVUFDZCx5QkFBeUIsK0dBQ3pCLCtCQUErQiwrSUFDL0IsYUFBYSxtTEFDYixlQUFlLG1PQUVmLG1CQUFtQjs7NEZBR1YscUJBQXFCO2tCQWhCakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCx5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQjs4QkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFHSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIEZpZWxkU29ydCxcbiAgU29ydEJ5RmllbGQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50LCBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIEludGVyYWN0aXZlVGFibGVDb2x1bW5Db21wb25lbnQsXG4gIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7XG4gIEZpbGVGb3JtYXQsXG4gIGdldEJhZGdlQ29sb3IsXG4gIGdldEZpbGVGb3JtYXQsXG4gIGdldEZvcm1hdFByaW9yaXR5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBBY3Rpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlc3VsdHMtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQsXG4gICAgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzVGFibGVDb21wb25lbnQge1xuICBASW5wdXQoKSByZWNvcmRzOiBDYXRhbG9nUmVjb3JkW10gPSBbXVxuICBASW5wdXQoKSBzZWxlY3RlZFJlY29yZHNJZGVudGlmaWVyczogc3RyaW5nW10gPSBbXVxuICBASW5wdXQoKSBzb3J0T3JkZXI6IFNvcnRCeUZpZWxkID0gbnVsbFxuICBASW5wdXQoKSBoYXNEcmFmdDogKHJlY29yZDogQ2F0YWxvZ1JlY29yZCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlXG4gIEBJbnB1dCgpIGNhbkR1cGxpY2F0ZTogKHJlY29yZDogQ2F0YWxvZ1JlY29yZCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWVcbiAgQElucHV0KCkgaXNVbnNhdmVkRHJhZnQ6IChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlXG4gIEBJbnB1dCgpIGNhbkRlbGV0ZTogKHJlY29yZDogQ2F0YWxvZ1JlY29yZCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWVcblxuICAvLyBlbWl0cyB0aGUgY29sdW1uIChmaWVsZCkgYXMgd2VsbCBhcyB0aGUgb3JkZXJcbiAgQE91dHB1dCgpIHNvcnRCeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8W3N0cmluZywgJ2FzYycgfCAnZGVzYyddPigpXG4gIEBPdXRwdXQoKSByZWNvcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBAT3V0cHV0KCkgZHVwbGljYXRlUmVjb3JkID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG4gIEBPdXRwdXQoKSBkZWxldGVSZWNvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmQ+KClcbiAgQE91dHB1dCgpIHJlY29yZHNTZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgW0NhdGFsb2dSZWNvcmRbXSwgYm9vbGVhbl1cbiAgPigpXG5cbiAgZGF0ZVRvU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlPy50b0xvY2FsZURhdGVTdHJpbmcodW5kZWZpbmVkLCB7XG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJ2xvbmcnLFxuICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICB0aW1lWm9uZTogJ1VUQycsXG4gICAgfSlcbiAgfVxuXG4gIGdldFJlY29yZEZvcm1hdHMocmVjb3JkOiBDYXRhbG9nUmVjb3JkKTogRmlsZUZvcm1hdFtdIHtcbiAgICBpZiAocmVjb3JkLmtpbmQgPT09ICdzZXJ2aWNlJyB8fCAhKCdvbmxpbmVSZXNvdXJjZXMnIGluIHJlY29yZCkpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgICBjb25zdCBmb3JtYXRzID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoXG4gICAgICAgIHJlY29yZC5vbmxpbmVSZXNvdXJjZXMubWFwKChvbmxpbmVSZXNvdXJjZSkgPT5cbiAgICAgICAgICBnZXRGaWxlRm9ybWF0KG9ubGluZVJlc291cmNlKVxuICAgICAgICApXG4gICAgICApXG4gICAgKS5maWx0ZXIoKGZvcm1hdCkgPT4gISFmb3JtYXQpXG4gICAgZm9ybWF0cy5zb3J0KChhLCBiKSA9PiBnZXRGb3JtYXRQcmlvcml0eShiKSAtIGdldEZvcm1hdFByaW9yaXR5KGEpKVxuICAgIHJldHVybiBmb3JtYXRzXG4gIH1cblxuICBmb3JtYXRVc2VySW5mbyh1c2VySW5mbzogc3RyaW5nIHwgdW5rbm93bik6IHN0cmluZyB7XG4gICAgY29uc3QgaW5mb3MgPSAodHlwZW9mIHVzZXJJbmZvID09PSAnc3RyaW5nJyA/IHVzZXJJbmZvIDogJycpLnNwbGl0KCd8JylcbiAgICBpZiAoaW5mb3MgJiYgaW5mb3MubGVuZ3RoID09PSA0KSB7XG4gICAgICByZXR1cm4gYCR7aW5mb3NbMl19ICR7aW5mb3NbMV19YFxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBnZXRCYWRnZUNvbG9yKGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEJhZGdlQ29sb3IoZm9ybWF0KVxuICB9XG5cbiAgaGFuZGxlUmVjb3JkQ2xpY2soaXRlbTogdW5rbm93bikge1xuICAgIHRoaXMucmVjb3JkQ2xpY2suZW1pdChpdGVtIGFzIENhdGFsb2dSZWNvcmQpXG4gIH1cblxuICBoYW5kbGVEdXBsaWNhdGUoaXRlbTogdW5rbm93bikge1xuICAgIHRoaXMuZHVwbGljYXRlUmVjb3JkLmVtaXQoaXRlbSBhcyBDYXRhbG9nUmVjb3JkKVxuICB9XG5cbiAgaGFuZGxlRGVsZXRlKGl0ZW06IHVua25vd24pIHtcbiAgICB0aGlzLmRlbGV0ZVJlY29yZC5lbWl0KGl0ZW0gYXMgQ2F0YWxvZ1JlY29yZClcbiAgfVxuXG4gIHNldFNvcnRCeShjb2w6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5zb3J0QnlDaGFuZ2UuZW1pdChbY29sLCBvcmRlcl0pXG4gIH1cblxuICBpc1NvcnRlZEJ5KGNvbDogc3RyaW5nKTogJ2Rlc2MnIHwgJ2FzYycgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuc29ydE9yZGVyKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBzb3J0QXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMuc29ydE9yZGVyWzBdKVxuICAgICAgPyAodGhpcy5zb3J0T3JkZXIgYXMgRmllbGRTb3J0W10pXG4gICAgICA6IChbdGhpcy5zb3J0T3JkZXJdIGFzIEZpZWxkU29ydFtdKVxuICAgIGZvciAoY29uc3Qgc29ydCBvZiBzb3J0QXJyYXkpIHtcbiAgICAgIGlmIChzb3J0WzFdID09PSBjb2wpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRbMF1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGlzQ2hlY2tlZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgfVxuXG4gIGhhbmRsZVJlY29yZFNlbGVjdGVkQ2hhbmdlKHNlbGVjdGVkOiBib29sZWFuLCByZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnJlY29yZHNTZWxlY3RlZENoYW5nZS5lbWl0KFtbcmVjb3JkXSwgc2VsZWN0ZWRdKVxuICB9XG5cbiAgYXN5bmMgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgIHRoaXMucmVjb3Jkc1NlbGVjdGVkQ2hhbmdlLmVtaXQoW3RoaXMucmVjb3JkcywgIXRoaXMuaXNBbGxTZWxlY3RlZCgpXSlcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gIH1cblxuICBpc1NvbWVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHRoaXMucmVjb3Jkcy5ldmVyeSgocmVjb3JkKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICApXG4gICAgY29uc3Qgc29tZVNlbGVjdGVkID0gdGhpcy5yZWNvcmRzLnNvbWUoKHJlY29yZCkgPT5cbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRzSWRlbnRpZmllcnMuaW5jbHVkZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gICAgKVxuICAgIHJldHVybiAhYWxsU2VsZWN0ZWQgJiYgc29tZVNlbGVjdGVkXG4gIH1cbn1cbiIsIjxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZVxuICBbaXRlbXNdPVwicmVjb3Jkc1wiXG4gIChpdGVtQ2xpY2spPVwiaGFuZGxlUmVjb3JkQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDwhLS0gU0VMRUNURUQgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPGduLXVpLWNoZWNrYm94XG4gICAgICAgIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzU29tZVNlbGVjdGVkKClcIlxuICAgICAgICAoY2hhbmdlZCk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiXG4gICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgY2xhc3M9XCItbS0yIG1yLTNcIlxuICAgICAgPlxuICAgICAgPC9nbi11aS1jaGVja2JveD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxnbi11aS1jaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQoaXRlbSlcIlxuICAgICAgICAoY2hhbmdlZCk9XCJoYW5kbGVSZWNvcmRTZWxlY3RlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCItbS0yXCJcbiAgICAgICAgdHlwZT1cImRlZmF1bHRcIlxuICAgICAgPjwvZ24tdWktY2hlY2tib3g+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBUSVRMRSBDT0xVTU4gLS0+XG4gIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICBbc29ydGFibGVdPVwidHJ1ZVwiXG4gICAgW2dyb3ddPVwidHJ1ZVwiXG4gICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVzb3VyY2VUaXRsZU9iamVjdC5kZWZhdWx0LmtleXdvcmQnKVwiXG4gICAgKHNvcnRDaGFuZ2UpPVwic2V0U29ydEJ5KCdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQua2V5d29yZCcsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnRpdGxlPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yIG1heC13LWZ1bGwgZm9udC1zZW1pYm9sZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPGduLXVpLWJhZGdlXG4gICAgICAgICAgKm5nSWY9XCJoYXNEcmFmdChpdGVtKVwiXG4gICAgICAgICAgW3N0eWxlLi0tZ24tdWktYmFkZ2UtcGFkZGluZ109XCInMC4yZW0gMC42ZW0nXCJcbiAgICAgICAgICBbc3R5bGUuLS1nbi11aS1iYWRnZS10ZXh0LXNpemVdPVwiJzEycHgnXCJcbiAgICAgICAgICBbc3R5bGUuLS1nbi11aS1iYWRnZS10ZXh0LWNvbG9yXT1cIicjM2QyMDA2J1wiXG4gICAgICAgICAgW3N0eWxlLi0tZ24tdWktYmFkZ2UtYmFja2dyb3VuZC1jb2xvcl09XCInI2ZmYmM3YidcIlxuICAgICAgICAgIFtzdHlsZS4tLWduLXVpLWJhZGdlLXJvdW5kZWRdPVwiJzRweCdcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmRhc2hib2FyZC5yZWNvcmRzLmhhc0RyYWZ0PC9zcGFuPlxuICAgICAgICA8L2duLXVpLWJhZGdlPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG5cbiAgPCEtLSBGT1JNQVRTIENPTFVNTiAtLT5cbiAgPGduLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuZm9ybWF0czwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktc3RhcnQgaXRlbXMtY2VudGVyIGdhcC0yIGZvbnQtbWVkaXVtXCJcbiAgICAgICAgKm5nSWY9XCJnZXRSZWNvcmRGb3JtYXRzKGl0ZW0pIGFzIGZvcm1hdHNcIlxuICAgICAgICBbdGl0bGVdPVwiZm9ybWF0cy5qb2luKCcsICcpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biBtaW4tdy1bNDVweF0gdGV4dC14cyB0ZXh0LXdoaXRlIHB4LTIgc2hyaW5rLTBcIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEJhZGdlQ29sb3IoZm9ybWF0c1swXSlcIlxuICAgICAgICAgICpuZ0lmPVwiZm9ybWF0c1swXVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBmb3JtYXRzWzBdIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biBtaW4tdy1bNDVweF0gdGV4dC14cyB0ZXh0LXdoaXRlIHB4LTIgc2hyaW5rLTBcIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEJhZGdlQ29sb3IoZm9ybWF0c1sxXSlcIlxuICAgICAgICAgICpuZ0lmPVwiZm9ybWF0c1sxXVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBmb3JtYXRzWzFdIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNocmluay0wIHRleHQteHNcIiAqbmdJZj1cImZvcm1hdHMuc2xpY2UoMikubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxzcGFuPit7eyBmb3JtYXRzLnNsaWNlKDIpLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhZ2V0UmVjb3JkRm9ybWF0cyhpdGVtKVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gT1dORVIgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uXG4gICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgIFthY3RpdmVTb3J0XT1cImlzU29ydGVkQnkoJ3JlY29yZE93bmVyJylcIlxuICAgIChzb3J0Q2hhbmdlKT1cInNldFNvcnRCeSgncmVjb3JkT3duZXInLCAkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hdXRob3I8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14c1wiPnt7IGZvcm1hdFVzZXJJbmZvKGl0ZW0uZXh0cmFzPy5vd25lckluZm8pIH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gU1RBVFVTIENPTFVNTiAtLT5cbiAgPGduLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuc3RhdHVzPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgKGlzVW5zYXZlZERyYWZ0KGl0ZW0pXG4gICAgICAgICAgICA/ICdyZWNvcmQubWV0YWRhdGEuc3RhdHVzLm5vdFB1Ymxpc2hlZCdcbiAgICAgICAgICAgIDogJ3JlY29yZC5tZXRhZGF0YS5zdGF0dXMucHVibGlzaGVkJ1xuICAgICAgICAgICkgfCB0cmFuc2xhdGVcbiAgICAgICAgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cblxuICA8IS0tIFVQREFURSBEQVRFIENPTFVNTiAtLT5cbiAgPGduLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtblxuICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICBbYWN0aXZlU29ydF09XCJpc1NvcnRlZEJ5KCdjaGFuZ2VEYXRlJylcIlxuICAgIChzb3J0Q2hhbmdlKT1cInNldFNvcnRCeSgnY2hhbmdlRGF0ZScsICRldmVudClcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVwZGF0ZWRPbjwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIHctZnVsbCB0ZXh0LXhzXCI+XG4gICAgICAgIHt7IGlzVW5zYXZlZERyYWZ0KGl0ZW0pID8gJy0nIDogZGF0ZVRvU3RyaW5nKGl0ZW0ucmVjb3JkVXBkYXRlZCkgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gIDwhLS0gQUNUSU9OIE1FTlUgQ09MVU1OIC0tPlxuICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPiA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtaXRlbT5cbiAgICAgIDxnbi11aS1hY3Rpb24tbWVudVxuICAgICAgICBbY2FuRHVwbGljYXRlXT1cImNhbkR1cGxpY2F0ZShpdGVtKVwiXG4gICAgICAgIFtjYW5EZWxldGVdPVwiY2FuRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgKGR1cGxpY2F0ZSk9XCJoYW5kbGVEdXBsaWNhdGUoaXRlbSlcIlxuICAgICAgICAoZGVsZXRlKT1cImhhbmRsZURlbGV0ZShpdGVtKVwiXG4gICAgICA+XG4gICAgICA8L2duLXVpLWFjdGlvbi1tZW51PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuPC9nbi11aS1pbnRlcmFjdGl2ZS10YWJsZT5cbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  export * from './lib/ui-widgets.module';
2
2
  export * from './lib/progress-bar/progress-bar.component';
3
+ export * from './lib/popover/popover.component';
3
4
  export * from './lib/loading-mask/loading-mask.component';
4
5
  export * from './lib/color-scale/color-scale.component';
5
6
  export * from './lib/popup-alert/popup-alert.component';
6
7
  export * from './lib/spinning-loader/spinning-loader.component';
7
8
  export * from './lib/step-bar/step-bar.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsbUNBQW1DLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi91aS13aWRnZXRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1zY2FsZS9jb2xvci1zY2FsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3B1cC1hbGVydC9wb3B1cC1hbGVydC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGlubmluZy1sb2FkZXIvc3Bpbm5pbmctbG9hZGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAtYmFyL3N0ZXAtYmFyLmNvbXBvbmVudCdcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxtQ0FBbUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXdpZGdldHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1zY2FsZS9jb2xvci1zY2FsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3B1cC1hbGVydC9wb3B1cC1hbGVydC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGlubmluZy1sb2FkZXIvc3Bpbm5pbmctbG9hZGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAtYmFyL3N0ZXAtYmFyLmNvbXBvbmVudCdcbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, ElementRef, Input, ViewChild, TemplateRef, Renderer2, ViewContainerRef, } from '@angular/core';
3
+ import tippy from 'tippy.js';
4
+ import * as i0 from "@angular/core";
5
+ export class PopoverComponent {
6
+ constructor(viewContainerRef, renderer) {
7
+ this.viewContainerRef = viewContainerRef;
8
+ this.renderer = renderer;
9
+ }
10
+ getContent() {
11
+ if (this.content instanceof TemplateRef) {
12
+ if (this.view) {
13
+ this.view.destroy();
14
+ }
15
+ this.view = this.viewContainerRef.createEmbeddedView(this.content);
16
+ this.view.detectChanges();
17
+ const wrapper = this.renderer.createElement('div'); // Create a wrapper div
18
+ this.view.rootNodes.forEach((node) => {
19
+ this.renderer.appendChild(wrapper, node); // Append each root node to the wrapper
20
+ });
21
+ return wrapper;
22
+ }
23
+ return this.content;
24
+ }
25
+ ngAfterViewInit() {
26
+ this.tippyInstance = tippy(this.popoverContent.nativeElement, {
27
+ content: this.getContent(),
28
+ allowHTML: true,
29
+ theme: this.theme,
30
+ });
31
+ }
32
+ ngOnChanges(changes) {
33
+ if (changes['theme']) {
34
+ this.theme = changes['theme'].currentValue;
35
+ if (this.tippyInstance) {
36
+ this.tippyInstance.setProps({ theme: this.theme });
37
+ }
38
+ }
39
+ if (changes['content']) {
40
+ this.content = changes['content'].currentValue;
41
+ if (this.tippyInstance) {
42
+ this.tippyInstance.setContent(this.getContent());
43
+ }
44
+ }
45
+ }
46
+ ngOnDestroy() {
47
+ if (this.tippyInstance) {
48
+ this.tippyInstance.destroy();
49
+ }
50
+ if (this.view) {
51
+ this.view.destroy();
52
+ }
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, isStandalone: true, selector: "gn-ui-popover", inputs: { content: "content", theme: "theme" }, viewQueries: [{ propertyName: "popoverContent", first: true, predicate: ["popoverContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span #popoverContent>\n <ng-content></ng-content>\n</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'gn-ui-popover', standalone: true, imports: [CommonModule], template: "<span #popoverContent>\n <ng-content></ng-content>\n</span>\n" }]
60
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }]; }, propDecorators: { popoverContent: [{
61
+ type: ViewChild,
62
+ args: ['popoverContent', { static: false }]
63
+ }], content: [{
64
+ type: Input
65
+ }], theme: [{
66
+ type: Input
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjL2xpYi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYy9saWIvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUlULFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEdBRWpCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sS0FBbUIsTUFBTSxVQUFVLENBQUE7O0FBUzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFDVSxnQkFBa0MsRUFDbEMsUUFBbUI7UUFEbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzFCLENBQUM7SUFFSSxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7YUFDcEI7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtZQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLHVCQUF1QjtZQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBLENBQUMsdUNBQXVDO1lBQ2xGLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBd0IsRUFBRTtZQUN2RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQTtZQUMxQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO2FBQ25EO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUE7WUFDOUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTthQUNqRDtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtTQUM3QjtRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7U0FDcEI7SUFDSCxDQUFDOytHQTNEVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixnUUN4QjdCLGdFQUdBLHlERG1CWSxZQUFZOzs0RkFFWCxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzsrSEFHeUIsY0FBYztzQkFBN0QsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ3JDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEFmdGVyVmlld0luaXQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdGlwcHksIHsgSW5zdGFuY2UgfSBmcm9tICd0aXBweS5qcydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdwb3BvdmVyQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3BvdmVyQ29udGVudDogRWxlbWVudFJlZlxuICBASW5wdXQoKSBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+XG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2xpZ2h0LWJvcmRlcicgfCAndHJhbnNsdWNlbnQnIHwgJ21hdGVyaWFsJyB8ICcnXG5cbiAgcHJpdmF0ZSB0aXBweUluc3RhbmNlOiBJbnN0YW5jZVxuICBwcml2YXRlIHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZW50KCk6IHN0cmluZyB8IEhUTUxFbGVtZW50IHtcbiAgICBpZiAodGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIGlmICh0aGlzLnZpZXcpIHtcbiAgICAgICAgdGhpcy52aWV3LmRlc3Ryb3koKVxuICAgICAgfVxuICAgICAgdGhpcy52aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRlbnQpXG4gICAgICB0aGlzLnZpZXcuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSAvLyBDcmVhdGUgYSB3cmFwcGVyIGRpdlxuICAgICAgdGhpcy52aWV3LnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQod3JhcHBlciwgbm9kZSkgLy8gQXBwZW5kIGVhY2ggcm9vdCBub2RlIHRvIHRoZSB3cmFwcGVyXG4gICAgICB9KVxuICAgICAgcmV0dXJuIHdyYXBwZXJcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGlwcHlJbnN0YW5jZSA9IHRpcHB5KHRoaXMucG9wb3ZlckNvbnRlbnQubmF0aXZlRWxlbWVudCBhcyBFbGVtZW50LCB7XG4gICAgICBjb250ZW50OiB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgIGFsbG93SFRNTDogdHJ1ZSxcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RoZW1lJ10pIHtcbiAgICAgIHRoaXMudGhlbWUgPSBjaGFuZ2VzWyd0aGVtZSddLmN1cnJlbnRWYWx1ZVxuICAgICAgaWYgKHRoaXMudGlwcHlJbnN0YW5jZSkge1xuICAgICAgICB0aGlzLnRpcHB5SW5zdGFuY2Uuc2V0UHJvcHMoeyB0aGVtZTogdGhpcy50aGVtZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snY29udGVudCddKSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBjaGFuZ2VzWydjb250ZW50J10uY3VycmVudFZhbHVlXG4gICAgICBpZiAodGhpcy50aXBweUluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMudGlwcHlJbnN0YW5jZS5zZXRDb250ZW50KHRoaXMuZ2V0Q29udGVudCgpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpcHB5SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMudGlwcHlJbnN0YW5jZS5kZXN0cm95KClcbiAgICB9XG4gICAgaWYgKHRoaXMudmlldykge1xuICAgICAgdGhpcy52aWV3LmRlc3Ryb3koKVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gI3BvcG92ZXJDb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './lib/app-config';
2
2
  export * from './lib/fixtures';
3
3
  export * from './lib/model';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwLWNvbmZpZydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpeHR1cmVzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwnXG4iXX0=
4
+ export * from './lib/map-layers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsa0JBQWtCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHAtY29uZmlnJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZml4dHVyZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC1sYXllcnMnXG4iXX0=
@@ -1,4 +1,4 @@
1
- export const CONFIG_OK = `
1
+ export const okAppConfigFixture = () => `
2
2
  [global]
3
3
  geonetwork4_api_url = "/geonetwork/srv/api"
4
4
  proxy_path = "/proxy/?url="
@@ -60,8 +60,8 @@ my.first.key = 'Erste Etikett.'
60
60
  my.sample.text = "Un bon exemple de texte."
61
61
  "my.quoted.text" = 'du texte entre guillements.'
62
62
  `;
63
- export const CONFIG_WITH_TRANSLATIONS = CONFIG_OK;
64
- export const CONFIG_MINIMAL = `
63
+ export const appConfigWithTranslationFixture = () => okAppConfigFixture();
64
+ export const minimalAppConfigFixture = () => `
65
65
  [global]
66
66
  geonetwork4_api_url = "/geonetwork/srv/api"
67
67
  proxy_path = "/proxy/?url="
@@ -72,7 +72,7 @@ secondary_color = "#c2e9dc"
72
72
  main_color = "#212029" # All-purpose text color
73
73
  background_color = "#fdfbff"
74
74
  `;
75
- export const MAP_CONFIG_FIXTURE = {
75
+ export const mapConfigFixture = () => ({
76
76
  MAX_ZOOM: 10,
77
77
  MAX_EXTENT: [-418263.418776, 5251529.591305, 961272.067714, 6706890.609855],
78
78
  DO_NOT_USE_DEFAULT_BASEMAP: false,
@@ -95,20 +95,20 @@ export const MAP_CONFIG_FIXTURE = {
95
95
  NAME: 'some_layername',
96
96
  },
97
97
  ],
98
- };
99
- export const CONFIG_MALFORMED = `
98
+ });
99
+ export const malformedConfigFixture = () => `
100
100
  {
101
101
  "I thought": "we were still doing json"
102
102
  }
103
103
  `;
104
- export const CONFIG_MISSING_MANDATORY = `
104
+ export const missingMandatoryConfigFixture = () => `
105
105
  [theme]
106
106
  primary_color = "#093564"
107
107
  secondary_color = "#c2e9dc"
108
108
  background_color = "#fdfbff"
109
109
  main_font = 'sans-serif'
110
110
  `;
111
- export const CONFIG_WRONG_LANGUAGE_CODE = `
111
+ export const wrongLanguageCodeConfigFixture = () => `
112
112
  [global]
113
113
  geonetwork4_api_url = "/geonetwork/srv/api"
114
114
  proxy_path = "/proxy/?url="
@@ -122,7 +122,7 @@ secondary_color = "#c2e9dc"
122
122
  main_color = "#212029" # All-purpose text color
123
123
  background_color = "#fdfbff"
124
124
  `;
125
- export const CONFIG_UNRECOGNIZED_KEYS = `
125
+ export const unrecognizedKeysConfigFixture = () => `
126
126
  [global]
127
127
  geonetwork4_api_url = "/geonetwork/srv/api"
128
128
  proxy_path = "/proxy/?url="
@@ -158,4 +158,4 @@ main_font = 'sans-serif'
158
158
  title_font = 'serif'
159
159
  another_color = 'red'
160
160
  `;
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZEeEIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7Ozs7Ozs7Ozs7Q0FVN0IsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFjO0lBQzNDLFFBQVEsRUFBRSxFQUFFO0lBQ1osVUFBVSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7SUFDM0UsMEJBQTBCLEVBQUUsS0FBSztJQUNqQyxlQUFlLEVBQUUsS0FBSztJQUN0Qiw0QkFBNEIsRUFDMUIsZ0xBQWdMO0lBQ2xMLDRCQUE0QixFQUFFLElBQUk7SUFDbEMsVUFBVSxFQUFFO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsS0FBSztZQUNYLEdBQUcsRUFBRSw2QkFBNkI7U0FDbkM7UUFDRDtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsS0FBSztZQUNYLEdBQUcsRUFBRSx5QkFBeUI7WUFDOUIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QjtLQUNGO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHOzs7O0NBSS9CLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRzs7Ozs7O0NBTXZDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRzs7Ozs7Ozs7Ozs7OztDQWF6QyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUN2QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwQ29uZmlnIH0gZnJvbSAnLi9tb2RlbCdcblxuZXhwb3J0IGNvbnN0IENPTkZJR19PSyA9IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJlXCJcbmxvZ2luX3VybCA9IFwiL2Nhcy9sb2dpbj9zZXJ2aWNlPVwiXG53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCA9IFwiL2RhdGFodWIvd2MtZW1iZWRkZXIuaHRtbFwiXG5cblttYXBdXG5tYXhfem9vbSA9IDEwXG5tYXhfZXh0ZW50ID0gWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdXG5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCA9IGZhbHNlXG5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXI/J1xuZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYiA9IHRydWVcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndtc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndmc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG50aHVtYm5haWxfcGxhY2Vob2xkZXIgPSAnYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmcnXG5oZWFkZXJfYmFja2dyb3VuZCA9ICd0ZWFsJ1xuaGVhZGVyX2ZvcmVncm91bmRfY29sb3IgPSBcIiM4NzJlMmVcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG50aXRsZV9mb250ID0gJ3NlcmlmJ1xuZm9udHNfc3R5bGVzaGVldF91cmwgPSBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zXCJcblxuW3NlYXJjaF1cbmZpbHRlcl9nZW9tZXRyeV91cmwgPSAnaHR0cHM6Ly9teS5kb21haW4ub3JnL2dlb20uanNvbidcbmFkdmFuY2VkX2ZpbHRlcnMgPSBbJ3B1YmxpY2F0aW9uWWVhcicsICdkb2N1bWVudFN0YW5kYXJkJywgJ2luc3BpcmVLZXl3b3JkJywgJ3RvcGljJywgJ2xpY2Vuc2UnXVxuXG5bW3NlYXJjaF9wcmVzZXRdXVxuc29ydCA9IFwiLWNyZWF0ZURhdGVcIlxubmFtZSA9ICdmaWx0ZXJCeU9yZ3MnXG5maWx0ZXJzLnEgPSAnQ2FydG8nXG5maWx0ZXJzLm9yZ2FuaXNhdGlvbiA9IFsnT3JnMScsICdPcmcyJ11cbmZpbHRlcnMuZm9ybWF0ID0gWydFU1JJIFNoYXBlZmlsZSddXG5maWx0ZXJzLnRvcGljID0gWydib3VuZGFyaWVzJ11cbmZpbHRlcnMucHVibGljYXRpb25ZZWFyID0gWycyMDIzJywgJzIwMjInXVxuZmlsdGVycy5zcGF0aWFsID0gWyd5ZXMnXVxuXG5bdHJhbnNsYXRpb25zLmVuXVxuXCJteS5maXJzdC5rZXlcIiA9ICdGaXJzdCBsYWJlbC4nXG5cIm15LnNlY29uZC5rZXlcIiA9IFwiXCJcIlxuU2Vjb25kIGxhYmVsLFxub24gdHdvIGxpbmVzLlwiXCJcIlxuXG5bdHJhbnNsYXRpb25zLmRlXVxubXkuZmlyc3Qua2V5ID0gJ0Vyc3RlIEV0aWtldHQuJ1xuXG5bdHJhbnNsYXRpb25zLmZyXVxubXkuc2FtcGxlLnRleHQgPSBcIlVuIGJvbiBleGVtcGxlIGRlIHRleHRlLlwiXG5cIm15LnF1b3RlZC50ZXh0XCIgPSAnZHUgdGV4dGUgZW50cmUgZ3VpbGxlbWVudHMuJ1xuYFxuXG5leHBvcnQgY29uc3QgQ09ORklHX1dJVEhfVFJBTlNMQVRJT05TID0gQ09ORklHX09LXG5cbmV4cG9ydCBjb25zdCBDT05GSUdfTUlOSU1BTCA9IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5cblt0aGVtZV1cbnByaW1hcnlfY29sb3IgPSBcIiMwOTM1NjRcIlxuc2Vjb25kYXJ5X2NvbG9yID0gXCIjYzJlOWRjXCJcbm1haW5fY29sb3IgPSBcIiMyMTIwMjlcIiAjIEFsbC1wdXJwb3NlIHRleHQgY29sb3JcbmJhY2tncm91bmRfY29sb3IgPSBcIiNmZGZiZmZcIlxuYFxuXG5leHBvcnQgY29uc3QgTUFQX0NPTkZJR19GSVhUVVJFOiBNYXBDb25maWcgPSB7XG4gIE1BWF9aT09NOiAxMCxcbiAgTUFYX0VYVEVOVDogWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdLFxuICBET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUDogZmFsc2UsXG4gIERPX05PVF9USUxFX1dNUzogZmFsc2UsXG4gIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXIvIy8/YWN0aW9ucz1be1widHlwZVwiOlwiQ0FUQUxPRzpBRERfTEFZRVJTX0ZST01fQ0FUQUxPR1NcIixcImxheWVyc1wiOltcIiR7bGF5ZXJfbmFtZX1cIl0sXCJzb3VyY2VzXCI6W3tcInVybFwiOlwiJHtzZXJ2aWNlX3VybH1cIixcInR5cGVcIjpcIiR7c2VydmljZV90eXBlfVwifV19XScsXG4gIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI6IHRydWUsXG4gIE1BUF9MQVlFUlM6IFtcbiAgICB7XG4gICAgICBUWVBFOiAneHl6JyxcbiAgICAgIFVSTDogJ2h0dHBzOi8vc29tZS1iYXNlbWFwLXNlcnZlcicsXG4gICAgfSxcbiAgICB7XG4gICAgICBUWVBFOiAnd21zJyxcbiAgICAgIFVSTDogJ2h0dHBzOi8vc29tZS13bXMtc2VydmVyJyxcbiAgICAgIE5BTUU6ICdzb21lX2xheWVybmFtZScsXG4gICAgfSxcbiAgICB7XG4gICAgICBUWVBFOiAnd2ZzJyxcbiAgICAgIFVSTDogJ2h0dHBzOi8vc29tZS13ZnMtc2VydmVyJyxcbiAgICAgIE5BTUU6ICdzb21lX2xheWVybmFtZScsXG4gICAgfSxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTkZJR19NQUxGT1JNRUQgPSBgXG57XG4gIFwiSSB0aG91Z2h0XCI6IFwid2Ugd2VyZSBzdGlsbCBkb2luZyBqc29uXCJcbn1cbmBcblxuZXhwb3J0IGNvbnN0IENPTkZJR19NSVNTSU5HX01BTkRBVE9SWSA9IGBcblt0aGVtZV1cbnByaW1hcnlfY29sb3IgPSBcIiMwOTM1NjRcIlxuc2Vjb25kYXJ5X2NvbG9yID0gXCIjYzJlOWRjXCJcbmJhY2tncm91bmRfY29sb3IgPSBcIiNmZGZiZmZcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG5gXG5cbmV4cG9ydCBjb25zdCBDT05GSUdfV1JPTkdfTEFOR1VBR0VfQ09ERSA9IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJhXCJcblxuW21hcF1cblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG5gXG5cbmV4cG9ydCBjb25zdCBDT05GSUdfVU5SRUNPR05JWkVEX0tFWVMgPSBgXG5bZ2xvYmFsXVxuZ2VvbmV0d29yazRfYXBpX3VybCA9IFwiL2dlb25ldHdvcmsvc3J2L2FwaVwiXG5wcm94eV9wYXRoID0gXCIvcHJveHkvP3VybD1cIlxubWV0YWRhdGFfbGFuZ3VhZ2UgPSBcImZyZVwiXG5hbm90aGVyX3BhdGggPSAnL3doYXRldmVyJ1xuXG5bbWFwXVxubWF4X3pvb20gPSAxMFxubWF4X2V4dGVudCA9IFstNDE4MjYzLjQxODc3NiwgNTI1MTUyOS41OTEzMDUsIDk2MTI3Mi4wNjc3MTQsIDY3MDY4OTAuNjA5ODU1XVxuZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAgPSBmYWxzZVxuZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZSA9ICdodHRwczovL2V4YW1wbGUuY29tL215dmlld2VyPydcbmV4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWIgPSB0cnVlXG5hbm90aGVyX3pvb20gPSAxNVxuW1ttYXBfbGF5ZXJdXVxudHlwZSA9IFwid21zXCJcbnVybCA9IFwiaHR0cHM6Ly93d3cuZ2VvMmZyYW5jZS5mci9nZW9zZXJ2ZXIvY3JfaGRmL293c1wiXG5uYW1lID0gXCJtYXNxdWVfaGRmX2lnbl9jYXJ0b19sYXRpbjFcIlxuW1ttYXBfbGF5ZXJdXVxudHlwZSA9IFwid2ZzXCJcbnVybCA9IFwiaHR0cHM6Ly93d3cuZ2VvMmZyYW5jZS5mci9nZW9zZXJ2ZXIvY3JfaGRmL293c1wiXG5uYW1lID0gXCJtYXNxdWVfaGRmX2lnbl9jYXJ0b19sYXRpbjFcIlxuYW5vdGhlcl9sYXllciA9IFwid3JvbmcgbGF5ZXIgZGVmaW5pdGlvblwiXG5cblt0aGVtZV1cbnByaW1hcnlfY29sb3IgPSBcIiMwOTM1NjRcIlxuc2Vjb25kYXJ5X2NvbG9yID0gXCIjYzJlOWRjXCJcbm1haW5fY29sb3IgPSBcIiMyMTIwMjlcIiAjIEFsbC1wdXJwb3NlIHRleHQgY29sb3JcbmJhY2tncm91bmRfY29sb3IgPSBcIiNmZGZiZmZcIlxudGh1bWJuYWlsX3BsYWNlaG9sZGVyID0gJ2Fzc2V0cy9pbWcvcGxhY2Vob2xkZXIuc3ZnJ1xuaGVhZGVyX2JhY2tncm91bmQgPSAndGVhbCdcbmhlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yID0gXCIjODcyZTJlXCJcbm1haW5fZm9udCA9ICdzYW5zLXNlcmlmJ1xudGl0bGVfZm9udCA9ICdzZXJpZidcbmFub3RoZXJfY29sb3IgPSAncmVkJ1xuYFxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkR2QyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtBQUV6RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7OztDQVU1QyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBYyxFQUFFLENBQUMsQ0FBQztJQUNoRCxRQUFRLEVBQUUsRUFBRTtJQUNaLFVBQVUsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO0lBQzNFLDBCQUEwQixFQUFFLEtBQUs7SUFDakMsZUFBZSxFQUFFLEtBQUs7SUFDdEIsNEJBQTRCLEVBQzFCLGdMQUFnTDtJQUNsTCw0QkFBNEIsRUFBRSxJQUFJO0lBQ2xDLFVBQVUsRUFBRTtRQUNWO1lBQ0UsSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLEVBQUUsNkJBQTZCO1NBQ25DO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsS0FBSztZQUNYLEdBQUcsRUFBRSx5QkFBeUI7WUFDOUIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLEVBQUUseUJBQXlCO1lBQzlCLElBQUksRUFBRSxnQkFBZ0I7U0FDdkI7S0FDRjtDQUNGLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7O0NBSTNDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLEVBQUUsQ0FBQzs7Ozs7O0NBTWxELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7OztDQWFuRCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxFQUFFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUNsRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwQ29uZmlnIH0gZnJvbSAnLi9tb2RlbCdcblxuZXhwb3J0IGNvbnN0IG9rQXBwQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJlXCJcbmxvZ2luX3VybCA9IFwiL2Nhcy9sb2dpbj9zZXJ2aWNlPVwiXG53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCA9IFwiL2RhdGFodWIvd2MtZW1iZWRkZXIuaHRtbFwiXG5cblttYXBdXG5tYXhfem9vbSA9IDEwXG5tYXhfZXh0ZW50ID0gWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdXG5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCA9IGZhbHNlXG5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXI/J1xuZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYiA9IHRydWVcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndtc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndmc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG50aHVtYm5haWxfcGxhY2Vob2xkZXIgPSAnYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmcnXG5oZWFkZXJfYmFja2dyb3VuZCA9ICd0ZWFsJ1xuaGVhZGVyX2ZvcmVncm91bmRfY29sb3IgPSBcIiM4NzJlMmVcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG50aXRsZV9mb250ID0gJ3NlcmlmJ1xuZm9udHNfc3R5bGVzaGVldF91cmwgPSBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zXCJcblxuW3NlYXJjaF1cbmZpbHRlcl9nZW9tZXRyeV91cmwgPSAnaHR0cHM6Ly9teS5kb21haW4ub3JnL2dlb20uanNvbidcbmFkdmFuY2VkX2ZpbHRlcnMgPSBbJ3B1YmxpY2F0aW9uWWVhcicsICdkb2N1bWVudFN0YW5kYXJkJywgJ2luc3BpcmVLZXl3b3JkJywgJ3RvcGljJywgJ2xpY2Vuc2UnXVxuXG5bW3NlYXJjaF9wcmVzZXRdXVxuc29ydCA9IFwiLWNyZWF0ZURhdGVcIlxubmFtZSA9ICdmaWx0ZXJCeU9yZ3MnXG5maWx0ZXJzLnEgPSAnQ2FydG8nXG5maWx0ZXJzLm9yZ2FuaXNhdGlvbiA9IFsnT3JnMScsICdPcmcyJ11cbmZpbHRlcnMuZm9ybWF0ID0gWydFU1JJIFNoYXBlZmlsZSddXG5maWx0ZXJzLnRvcGljID0gWydib3VuZGFyaWVzJ11cbmZpbHRlcnMucHVibGljYXRpb25ZZWFyID0gWycyMDIzJywgJzIwMjInXVxuZmlsdGVycy5zcGF0aWFsID0gWyd5ZXMnXVxuXG5bdHJhbnNsYXRpb25zLmVuXVxuXCJteS5maXJzdC5rZXlcIiA9ICdGaXJzdCBsYWJlbC4nXG5cIm15LnNlY29uZC5rZXlcIiA9IFwiXCJcIlxuU2Vjb25kIGxhYmVsLFxub24gdHdvIGxpbmVzLlwiXCJcIlxuXG5bdHJhbnNsYXRpb25zLmRlXVxubXkuZmlyc3Qua2V5ID0gJ0Vyc3RlIEV0aWtldHQuJ1xuXG5bdHJhbnNsYXRpb25zLmZyXVxubXkuc2FtcGxlLnRleHQgPSBcIlVuIGJvbiBleGVtcGxlIGRlIHRleHRlLlwiXG5cIm15LnF1b3RlZC50ZXh0XCIgPSAnZHUgdGV4dGUgZW50cmUgZ3VpbGxlbWVudHMuJ1xuYFxuXG5leHBvcnQgY29uc3QgYXBwQ29uZmlnV2l0aFRyYW5zbGF0aW9uRml4dHVyZSA9ICgpID0+IG9rQXBwQ29uZmlnRml4dHVyZSgpXG5cbmV4cG9ydCBjb25zdCBtaW5pbWFsQXBwQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5cblt0aGVtZV1cbnByaW1hcnlfY29sb3IgPSBcIiMwOTM1NjRcIlxuc2Vjb25kYXJ5X2NvbG9yID0gXCIjYzJlOWRjXCJcbm1haW5fY29sb3IgPSBcIiMyMTIwMjlcIiAjIEFsbC1wdXJwb3NlIHRleHQgY29sb3JcbmJhY2tncm91bmRfY29sb3IgPSBcIiNmZGZiZmZcIlxuYFxuXG5leHBvcnQgY29uc3QgbWFwQ29uZmlnRml4dHVyZSA9ICgpOiBNYXBDb25maWcgPT4gKHtcbiAgTUFYX1pPT006IDEwLFxuICBNQVhfRVhURU5UOiBbLTQxODI2My40MTg3NzYsIDUyNTE1MjkuNTkxMzA1LCA5NjEyNzIuMDY3NzE0LCA2NzA2ODkwLjYwOTg1NV0sXG4gIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOiBmYWxzZSxcbiAgRE9fTk9UX1RJTEVfV01TOiBmYWxzZSxcbiAgRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURTpcbiAgICAnaHR0cHM6Ly9leGFtcGxlLmNvbS9teXZpZXdlci8jLz9hY3Rpb25zPVt7XCJ0eXBlXCI6XCJDQVRBTE9HOkFERF9MQVlFUlNfRlJPTV9DQVRBTE9HU1wiLFwibGF5ZXJzXCI6W1wiJHtsYXllcl9uYW1lfVwiXSxcInNvdXJjZXNcIjpbe1widXJsXCI6XCIke3NlcnZpY2VfdXJsfVwiLFwidHlwZVwiOlwiJHtzZXJ2aWNlX3R5cGV9XCJ9XX1dJyxcbiAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQjogdHJ1ZSxcbiAgTUFQX0xBWUVSUzogW1xuICAgIHtcbiAgICAgIFRZUEU6ICd4eXonLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLWJhc2VtYXAtc2VydmVyJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIFRZUEU6ICd3bXMnLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLXdtcy1zZXJ2ZXInLFxuICAgICAgTkFNRTogJ3NvbWVfbGF5ZXJuYW1lJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIFRZUEU6ICd3ZnMnLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLXdmcy1zZXJ2ZXInLFxuICAgICAgTkFNRTogJ3NvbWVfbGF5ZXJuYW1lJyxcbiAgICB9LFxuICBdLFxufSlcblxuZXhwb3J0IGNvbnN0IG1hbGZvcm1lZENvbmZpZ0ZpeHR1cmUgPSAoKSA9PiBgXG57XG4gIFwiSSB0aG91Z2h0XCI6IFwid2Ugd2VyZSBzdGlsbCBkb2luZyBqc29uXCJcbn1cbmBcblxuZXhwb3J0IGNvbnN0IG1pc3NpbmdNYW5kYXRvcnlDb25maWdGaXh0dXJlID0gKCkgPT4gYFxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG5tYWluX2ZvbnQgPSAnc2Fucy1zZXJpZidcbmBcblxuZXhwb3J0IGNvbnN0IHdyb25nTGFuZ3VhZ2VDb2RlQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJhXCJcblxuW21hcF1cblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG5gXG5cbmV4cG9ydCBjb25zdCB1bnJlY29nbml6ZWRLZXlzQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJlXCJcbmFub3RoZXJfcGF0aCA9ICcvd2hhdGV2ZXInXG5cblttYXBdXG5tYXhfem9vbSA9IDEwXG5tYXhfZXh0ZW50ID0gWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdXG5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCA9IGZhbHNlXG5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXI/J1xuZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYiA9IHRydWVcbmFub3RoZXJfem9vbSA9IDE1XG5bW21hcF9sYXllcl1dXG50eXBlID0gXCJ3bXNcIlxudXJsID0gXCJodHRwczovL3d3dy5nZW8yZnJhbmNlLmZyL2dlb3NlcnZlci9jcl9oZGYvb3dzXCJcbm5hbWUgPSBcIm1hc3F1ZV9oZGZfaWduX2NhcnRvX2xhdGluMVwiXG5bW21hcF9sYXllcl1dXG50eXBlID0gXCJ3ZnNcIlxudXJsID0gXCJodHRwczovL3d3dy5nZW8yZnJhbmNlLmZyL2dlb3NlcnZlci9jcl9oZGYvb3dzXCJcbm5hbWUgPSBcIm1hc3F1ZV9oZGZfaWduX2NhcnRvX2xhdGluMVwiXG5hbm90aGVyX2xheWVyID0gXCJ3cm9uZyBsYXllciBkZWZpbml0aW9uXCJcblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG50aHVtYm5haWxfcGxhY2Vob2xkZXIgPSAnYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmcnXG5oZWFkZXJfYmFja2dyb3VuZCA9ICd0ZWFsJ1xuaGVhZGVyX2ZvcmVncm91bmRfY29sb3IgPSBcIiM4NzJlMmVcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG50aXRsZV9mb250ID0gJ3NlcmlmJ1xuYW5vdGhlcl9jb2xvciA9ICdyZWQnXG5gXG4iXX0=
@@ -0,0 +1,27 @@
1
+ export function getMapContextLayerFromConfig(config) {
2
+ switch (config.TYPE) {
3
+ case 'wms':
4
+ return {
5
+ type: 'wms',
6
+ url: config.URL,
7
+ name: config.NAME,
8
+ };
9
+ case 'wfs':
10
+ return {
11
+ type: 'wfs',
12
+ url: config.URL,
13
+ featureType: config.NAME,
14
+ };
15
+ case 'xyz':
16
+ return {
17
+ type: config.TYPE,
18
+ url: config.URL,
19
+ };
20
+ case 'geojson':
21
+ return {
22
+ type: config.TYPE,
23
+ ...(config.DATA ? { data: config.DATA } : { url: config.URL }),
24
+ };
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxheWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvbWFwLWxheWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLE1BQW1CO0lBRW5CLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLEtBQUs7WUFDUixPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLO2dCQUNYLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztnQkFDZixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7YUFDbEIsQ0FBQTtRQUNILEtBQUssS0FBSztZQUNSLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO2dCQUNmLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSTthQUN6QixDQUFBO1FBQ0gsS0FBSyxLQUFLO1lBQ1IsT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRzthQUNoQixDQUFBO1FBQ0gsS0FBSyxTQUFTO1lBQ1osT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUMvRCxDQUFBO0tBQ0o7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5ZXJDb25maWcgfSBmcm9tICcuL21vZGVsJ1xuaW1wb3J0IHsgTWFwQ29udGV4dExheWVyIH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXBDb250ZXh0TGF5ZXJGcm9tQ29uZmlnKFxuICBjb25maWc6IExheWVyQ29uZmlnXG4pOiBNYXBDb250ZXh0TGF5ZXIge1xuICBzd2l0Y2ggKGNvbmZpZy5UWVBFKSB7XG4gICAgY2FzZSAnd21zJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd3bXMnLFxuICAgICAgICB1cmw6IGNvbmZpZy5VUkwsXG4gICAgICAgIG5hbWU6IGNvbmZpZy5OQU1FLFxuICAgICAgfVxuICAgIGNhc2UgJ3dmcyc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgdXJsOiBjb25maWcuVVJMLFxuICAgICAgICBmZWF0dXJlVHlwZTogY29uZmlnLk5BTUUsXG4gICAgICB9XG4gICAgY2FzZSAneHl6JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGNvbmZpZy5UWVBFLFxuICAgICAgICB1cmw6IGNvbmZpZy5VUkwsXG4gICAgICB9XG4gICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBjb25maWcuVFlQRSxcbiAgICAgICAgLi4uKGNvbmZpZy5EQVRBID8geyBkYXRhOiBjb25maWcuREFUQSB9IDogeyB1cmw6IGNvbmZpZy5VUkwgfSksXG4gICAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
59
  providedIn: 'root',
60
60
  }]
61
61
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jbGFzc2lmaWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvbGlua3MvbGluay1jbGFzc2lmaWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBOztBQUM1QyxNQUFNLENBQU4sSUFBWSxTQVFYO0FBUkQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwrQkFBa0IsQ0FBQTtJQUNsQixrQ0FBcUIsQ0FBQTtJQUNyQiwwQkFBYSxDQUFBO0lBQ2IsZ0NBQW1CLENBQUE7SUFDbkIseUNBQTRCLENBQUE7SUFDNUIsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVJXLFNBQVMsS0FBVCxTQUFTLFFBUXBCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQyxJQUF5QjtRQUN4QyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDZCxRQUFRLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtvQkFDbEMsS0FBSyxVQUFVLENBQUM7b0JBQ2hCLEtBQUssS0FBSzt3QkFDUixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDL0QsS0FBSyxLQUFLLENBQUM7b0JBQ1gsS0FBSyxNQUFNO3dCQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDM0MsS0FBSyxhQUFhO3dCQUNoQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDL0Q7d0JBQ0UsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDN0I7YUFDRjtZQUNELEtBQUssTUFBTTtnQkFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzVCLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsUUFBUSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzNCLEtBQUssTUFBTSxDQUFDO29CQUNaLEtBQUssS0FBSyxDQUFDO29CQUNYLEtBQUssT0FBTzt3QkFDVixPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQzdDLEtBQUssU0FBUzt3QkFDWixPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ2hEO3dCQUNFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7NEJBQ3ZDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTt5QkFDL0M7d0JBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtpQkFDOUI7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF5QixFQUFFLEtBQWdCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDOytHQXZDVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBEYXRhc2V0RGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgZ2V0RmlsZUZvcm1hdCB9IGZyb20gJy4vbGluay11dGlscydcbmV4cG9ydCBlbnVtIExpbmtVc2FnZSB7XG4gIEFQSSA9ICdhcGknLFxuICBNQVBfQVBJID0gJ21hcGFwaScsXG4gIERPV05MT0FEID0gJ2Rvd25sb2FkJyxcbiAgREFUQSA9ICdkYXRhJyxcbiAgR0VPREFUQSA9ICdnZW9kYXRhJyxcbiAgTEFORElOR19QQUdFID0gJ2xhbmRpbmdwYWdlJyxcbiAgVU5LTk9XTiA9ICd1bmtub3duJyxcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDbGFzc2lmaWVyU2VydmljZSB7XG4gIGdldFVzYWdlc0ZvckxpbmsobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IExpbmtVc2FnZVtdIHtcbiAgICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgICAgY2FzZSAnc2VydmljZSc6IHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ2VzcmlSZXN0JzpcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuQVBJLCBMaW5rVXNhZ2UuRE9XTkxPQUQsIExpbmtVc2FnZS5HRU9EQVRBXVxuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5BUEksIExpbmtVc2FnZS5NQVBfQVBJXVxuICAgICAgICAgIGNhc2UgJ29nY0ZlYXR1cmVzJzpcbiAgICAgICAgICAgIHJldHVybiBbTGlua1VzYWdlLkFQSSwgTGlua1VzYWdlLkRPV05MT0FELCBMaW5rVXNhZ2UuR0VPREFUQV1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuVU5LTk9XTl1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHJldHVybiBbTGlua1VzYWdlLlVOS05PV05dXG4gICAgICBjYXNlICdkb3dubG9hZCc6IHtcbiAgICAgICAgc3dpdGNoIChnZXRGaWxlRm9ybWF0KGxpbmspKSB7XG4gICAgICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgICAgY2FzZSAnY3N2JzpcbiAgICAgICAgICBjYXNlICdleGNlbCc6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkRBVEFdXG4gICAgICAgICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkdFT0RBVEFdXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChsaW5rLnVybC50b1N0cmluZygpLm1hdGNoKC9cXC93ZnMvaSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuRE9XTkxPQUQsIExpbmtVc2FnZS5HRU9EQVRBXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuRE9XTkxPQURdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXNVc2FnZShsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLCB1c2FnZTogTGlua1VzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNhZ2VzRm9yTGluayhsaW5rKS5pbmRleE9mKHVzYWdlKSA+IC0xXG4gIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jbGFzc2lmaWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvbGlua3MvbGluay1jbGFzc2lmaWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBOztBQUU1QyxNQUFNLENBQU4sSUFBWSxTQVFYO0FBUkQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwrQkFBa0IsQ0FBQTtJQUNsQixrQ0FBcUIsQ0FBQTtJQUNyQiwwQkFBYSxDQUFBO0lBQ2IsZ0NBQW1CLENBQUE7SUFDbkIseUNBQTRCLENBQUE7SUFDNUIsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVJXLFNBQVMsS0FBVCxTQUFTLFFBUXBCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQyxJQUEyQjtRQUMxQyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDZCxRQUFRLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtvQkFDbEMsS0FBSyxVQUFVLENBQUM7b0JBQ2hCLEtBQUssS0FBSzt3QkFDUixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDL0QsS0FBSyxLQUFLLENBQUM7b0JBQ1gsS0FBSyxNQUFNO3dCQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDM0MsS0FBSyxhQUFhO3dCQUNoQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDL0Q7d0JBQ0UsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDN0I7YUFDRjtZQUNELEtBQUssTUFBTTtnQkFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzVCLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsUUFBUSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzNCLEtBQUssTUFBTSxDQUFDO29CQUNaLEtBQUssS0FBSyxDQUFDO29CQUNYLEtBQUssT0FBTzt3QkFDVixPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQzdDLEtBQUssU0FBUzt3QkFDWixPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ2hEO3dCQUNFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7NEJBQ3ZDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTt5QkFDL0M7d0JBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtpQkFDOUI7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUEyQixFQUFFLEtBQWdCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDOytHQXZDVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBnZXRGaWxlRm9ybWF0IH0gZnJvbSAnLi9saW5rLXV0aWxzJ1xuXG5leHBvcnQgZW51bSBMaW5rVXNhZ2Uge1xuICBBUEkgPSAnYXBpJyxcbiAgTUFQX0FQSSA9ICdtYXBhcGknLFxuICBET1dOTE9BRCA9ICdkb3dubG9hZCcsXG4gIERBVEEgPSAnZGF0YScsXG4gIEdFT0RBVEEgPSAnZ2VvZGF0YScsXG4gIExBTkRJTkdfUEFHRSA9ICdsYW5kaW5ncGFnZScsXG4gIFVOS05PV04gPSAndW5rbm93bicsXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ2xhc3NpZmllclNlcnZpY2Uge1xuICBnZXRVc2FnZXNGb3JMaW5rKGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSk6IExpbmtVc2FnZVtdIHtcbiAgICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgICAgY2FzZSAnc2VydmljZSc6IHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ2VzcmlSZXN0JzpcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuQVBJLCBMaW5rVXNhZ2UuRE9XTkxPQUQsIExpbmtVc2FnZS5HRU9EQVRBXVxuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5BUEksIExpbmtVc2FnZS5NQVBfQVBJXVxuICAgICAgICAgIGNhc2UgJ29nY0ZlYXR1cmVzJzpcbiAgICAgICAgICAgIHJldHVybiBbTGlua1VzYWdlLkFQSSwgTGlua1VzYWdlLkRPV05MT0FELCBMaW5rVXNhZ2UuR0VPREFUQV1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuVU5LTk9XTl1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHJldHVybiBbTGlua1VzYWdlLlVOS05PV05dXG4gICAgICBjYXNlICdkb3dubG9hZCc6IHtcbiAgICAgICAgc3dpdGNoIChnZXRGaWxlRm9ybWF0KGxpbmspKSB7XG4gICAgICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgICAgY2FzZSAnY3N2JzpcbiAgICAgICAgICBjYXNlICdleGNlbCc6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkRBVEFdXG4gICAgICAgICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkdFT0RBVEFdXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChsaW5rLnVybC50b1N0cmluZygpLm1hdGNoKC9cXC93ZnMvaSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuRE9XTkxPQUQsIExpbmtVc2FnZS5HRU9EQVRBXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuRE9XTkxPQURdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXNVc2FnZShsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UsIHVzYWdlOiBMaW5rVXNhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2FnZXNGb3JMaW5rKGxpbmspLmluZGV4T2YodXNhZ2UpID4gLTFcbiAgfVxufVxuIl19
@@ -220,4 +220,4 @@ export function getLinkLabel(link) {
220
220
  export function getMimeTypeForFormat(format) {
221
221
  return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
222
222
  }
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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TSxHQUFHLE1BQU0sQ0FBQTt3QkFDZixNQUFLO29CQUNQLEtBQUssVUFBVTt3QkFDYixNQUFNLEdBQUcsTUFBTSxDQUFBO3dCQUNmLE1BQUs7aUJBQ1I7YUFDRjtZQUNELE1BQUs7UUFDUDtZQUNFLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDL0I7SUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDM0MsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFrQjtJQUNyRCxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxubWFya2VyKCdkb3dubG9hZHMud2ZzLmZlYXR1cmV0eXBlLm5vdC5mb3VuZCcpXG5cbmV4cG9ydCBjb25zdCBGT1JNQVRTID0ge1xuICBjc3Y6IHtcbiAgICBleHRlbnNpb25zOiBbJ2NzdiddLFxuICAgIHByaW9yaXR5OiAxLFxuICAgIGNvbG9yOiAnIzU1OWQ3ZicsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvY3N2JywgJ2FwcGxpY2F0aW9uL2NzdiddLFxuICB9LFxuICBleGNlbDoge1xuICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICdleGNlbCcsXG4gICAgICAneGxzJyxcbiAgICAgICd4bHN4JyxcbiAgICAgICdtcy1leGNlbCcsXG4gICAgICAnb3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQnLFxuICAgIF0sXG4gICAgcHJpb3JpdHk6IDIsXG4gICAgY29sb3I6ICcjMGY0Mzk1JyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICBdLFxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydnZW9qc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjMWU1MTgwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ2VvK2pzb24nLCAnYXBwbGljYXRpb24vdm5kLmdlbytqc29uJ10sXG4gIH0sXG4gIGpzb246IHtcbiAgICBleHRlbnNpb25zOiBbJ2pzb24nXSxcbiAgICBwcmlvcml0eTogMyxcbiAgICBjb2xvcjogJyMxZTUxODAnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9qc29uJ10sXG4gIH0sXG4gIHNocDoge1xuICAgIGV4dGVuc2lvbnM6IFsnc2hwJywgJ3NoYXBlJywgJ3ppcHBlZC1zaGFwZWZpbGUnXSxcbiAgICBwcmlvcml0eTogNCxcbiAgICBjb2xvcjogJyMzMjg1NTYnLFxuICAgIG1pbWVUeXBlczogWyd4LWdpcy94LXNoYXBlZmlsZSddLFxuICB9LFxuICBnbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dtbCddLFxuICAgIHByaW9yaXR5OiA1LFxuICAgIGNvbG9yOiAnI2M5MmJjZScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dtbCt4bWwnLCAndGV4dC94bWw7IHN1YnR5cGU9Z21sJ10sXG4gIH0sXG4gIGttbDoge1xuICAgIGV4dGVuc2lvbnM6IFsna21sJywgJ2tteiddLFxuICAgIHByaW9yaXR5OiA2LFxuICAgIGNvbG9yOiAnIzM0ODAwOScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmtteicsXG4gICAgXSxcbiAgfSxcbiAgZ3BrZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ3BrZycsICdnZW9wYWNrYWdlJ10sXG4gICAgcHJpb3JpdHk6IDcsXG4gICAgY29sb3I6ICcjZWE3OWJhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ2VvcGFja2FnZStzcWxpdGUzJ10sXG4gIH0sXG4gIHppcDoge1xuICAgIGV4dGVuc2lvbnM6IFsnemlwJywgJ3Rhci5neiddLFxuICAgIHByaW9yaXR5OiA4LFxuICAgIGNvbG9yOiAnI2YyYmIzYScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3ppcCcsICdhcHBsaWNhdGlvbi94LXppcCddLFxuICB9LFxuICBwZGY6IHtcbiAgICBleHRlbnNpb25zOiBbJ3BkZiddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI2RiNTQ0YScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3BkZiddLFxuICB9LFxuICBqcGc6IHtcbiAgICBleHRlbnNpb25zOiBbJ2pwZycsICdqcGVnJywgJ2pmaWYnLCAncGpwZWcnLCAncGpwJ10sXG4gICAgcHJpb3JpdHk6IDksXG4gICAgY29sb3I6ICcjNjczYWI3JyxcbiAgICBtaW1lVHlwZXM6IFsnaW1hZ2UvanBnJ10sXG4gIH0sXG4gIHN2Zzoge1xuICAgIGV4dGVuc2lvbnM6IFsnc3ZnJ10sXG4gICAgcHJpb3JpdHk6IDEwLFxuICAgIGNvbG9yOiAnI2Q5ODI5NCcsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL3N2Zyt4bWwnXSxcbiAgfSxcbiAgZHhmOiB7XG4gICAgZXh0ZW5zaW9uczogWydkeGYnXSxcbiAgICBwcmlvcml0eTogMTEsXG4gICAgY29sb3I6ICcjZGU2MzBiJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24veC1keGYnLCAnaW1hZ2UveC1keGYnXSxcbiAgfSxcbiAgaHRtbDoge1xuICAgIGV4dGVuc2lvbnM6IFsnaHRtbCcsICdodG0nXSxcbiAgICBwcmlvcml0eTogMTIsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFsndGV4dC9odG1sJ10sXG4gIH0sXG4gIGZnYjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZmdiJywgJ2ZsYXRnZW9idWYnXSxcbiAgICBwcmlvcml0eTogMTMsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZmxhdGdlb2J1ZiddLFxuICB9LFxuICBqc29uZmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ2pzb25mZycsICdqc29uZmdjJ10sXG4gICAgcHJpb3JpdHk6IDE0LFxuICAgIGNvbG9yOiAnI2YyYmIzYScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub2djLmZnK2pzb247Y29tcGF0aWJpbGl0eT1nZW9qc29uJyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBGaWxlRm9ybWF0ID0ga2V5b2YgdHlwZW9mIEZPUk1BVFNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdFByaW9yaXR5KGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBudW1iZXIge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBleHQgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2V4dH1gLCAnaScpLnRlc3QobGlua0Zvcm1hdCkpIHtcbiAgICAgICAgaWYgKEZPUk1BVFNbZm9ybWF0XS5wcmlvcml0eSA9PT0gMCkgcmV0dXJuIDBcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEZPUk1BVFMpLmxlbmd0aCAtIEZPUk1BVFNbZm9ybWF0XS5wcmlvcml0eVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gMFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlua1ByaW9yaXR5KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBudW1iZXIge1xuICByZXR1cm4gZ2V0Rm9ybWF0UHJpb3JpdHkoZ2V0RmlsZUZvcm1hdChsaW5rKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChcbiAgc2VydmljZU91dHB1dDogc3RyaW5nXG4pOiBGaWxlRm9ybWF0IHwgbnVsbCB7XG4gIGZ1bmN0aW9uIGZvcm1hdE1hdGNoZXIoZm9ybWF0OiB0eXBlb2YgRk9STUFUU1tGaWxlRm9ybWF0XSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHNlcnZpY2VPdXRwdXQudG9Mb3dlckNhc2UoKVxuICAgIHJldHVybiAoXG4gICAgICBmb3JtYXQuZXh0ZW5zaW9ucy5zb21lKChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgICAgb3V0cHV0LmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICAgICkgfHxcbiAgICAgIGZvcm1hdC5taW1lVHlwZXMuc29tZSgobWltZVR5cGU6IHN0cmluZykgPT4gb3V0cHV0LmluY2x1ZGVzKG1pbWVUeXBlKSlcbiAgICApXG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXROYW1lIGluIEZPUk1BVFMpIHtcbiAgICBpZiAoZm9ybWF0TWF0Y2hlcihGT1JNQVRTW2Zvcm1hdE5hbWVdKSkge1xuICAgICAgcmV0dXJuIGZvcm1hdE5hbWUgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdChsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKTogRmlsZUZvcm1hdCB7XG4gIGlmICgnbWltZVR5cGUnIGluIGxpbmspIHtcbiAgICBjb25zdCBtaW1lVHlwZUZvcm1hdCA9IG1pbWVUeXBlVG9Gb3JtYXQobGluay5taW1lVHlwZSlcbiAgICBpZiAobWltZVR5cGVGb3JtYXQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtaW1lVHlwZUZvcm1hdFxuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKGNoZWNrRmlsZUZvcm1hdChsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgICAgaWYgKGlzRm9ybWF0SW5RdWVyeVBhcmFtKGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1hdEluUXVlcnlQYXJhbShcbiAgbGluazogRGF0YXNldERpc3RyaWJ1dGlvbixcbiAgYWxpYXM6IHN0cmluZ1xuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbGluay51cmwuc2VhcmNoUGFyYW1zXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHF1ZXJ5UGFyYW1zLmVudHJpZXMoKSkge1xuICAgIGlmIChrZXkgPT09ICdmb3JtYXQnIHx8IGtleSA9PT0gJ2YnKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IGFsaWFzXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWltZVR5cGVUb0Zvcm1hdChtaW1lVHlwZTogc3RyaW5nKTogRmlsZUZvcm1hdCB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IG10IG9mIEZPUk1BVFNbZm9ybWF0XS5taW1lVHlwZXMpIHtcbiAgICAgIGlmIChtaW1lVHlwZSA9PT0gbXQpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBmb3JtYXQ6IEZpbGVGb3JtYXRcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgICgnbmFtZScgaW4gbGluayAmJiBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsubmFtZSkpIHx8XG4gICAgKCd1cmwnIGluIGxpbmsgJiZcbiAgICAgIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay51cmwudG9TdHJpbmcoKSkpXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhZGdlQ29sb3IobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChgJHthbGlhc31gLCAnaScpLnRlc3QobGlua0Zvcm1hdCkpXG4gICAgICAgIHJldHVybiBGT1JNQVRTW2Zvcm1hdF0uY29sb3JcbiAgICB9XG4gIH1cbiAgcmV0dXJuICd2YXIoLS1jb2xvci1ncmF5LTcwMCknIC8vIERlZmF1bHQgY29sb3IgP1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlua0xhYmVsKGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBzdHJpbmcge1xuICBsZXQgZm9ybWF0ID0gJydcbiAgc3dpdGNoIChsaW5rLnR5cGUpIHtcbiAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgIHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV0ZTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01UUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnZXNyaVJlc3QnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1JFU1QnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIGRlZmF1bHQ6XG4gICAgICBmb3JtYXQgPSBnZXRGaWxlRm9ybWF0KGxpbmspXG4gIH1cbiAgY29uc3QgbGFiZWwgPSBsaW5rLmRlc2NyaXB0aW9uIHx8IGxpbmsubmFtZVxuICByZXR1cm4gZm9ybWF0ID8gYCR7bGFiZWx9ICgke2Zvcm1hdH0pYCA6IGxhYmVsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaW1lVHlwZUZvckZvcm1hdChmb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIGZvcm1hdCBpbiBGT1JNQVRTID8gRk9STUFUU1tmb3JtYXQudG9Mb3dlckNhc2UoKV0ubWltZVR5cGVzWzBdIDogbnVsbFxufVxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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TSxHQUFHLE1BQU0sQ0FBQTt3QkFDZixNQUFLO29CQUNQLEtBQUssVUFBVTt3QkFDYixNQUFNLEdBQUcsTUFBTSxDQUFBO3dCQUNmLE1BQUs7aUJBQ1I7YUFDRjtZQUNELE1BQUs7UUFDUDtZQUNFLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDL0I7SUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDM0MsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFrQjtJQUNyRCxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5tYXJrZXIoJ2Rvd25sb2Fkcy53ZnMuZmVhdHVyZXR5cGUubm90LmZvdW5kJylcblxuZXhwb3J0IGNvbnN0IEZPUk1BVFMgPSB7XG4gIGNzdjoge1xuICAgIGV4dGVuc2lvbnM6IFsnY3N2J10sXG4gICAgcHJpb3JpdHk6IDEsXG4gICAgY29sb3I6ICcjNTU5ZDdmJyxcbiAgICBtaW1lVHlwZXM6IFsndGV4dC9jc3YnLCAnYXBwbGljYXRpb24vY3N2J10sXG4gIH0sXG4gIGV4Y2VsOiB7XG4gICAgZXh0ZW5zaW9uczogW1xuICAgICAgJ2V4Y2VsJyxcbiAgICAgICd4bHMnLFxuICAgICAgJ3hsc3gnLFxuICAgICAgJ21zLWV4Y2VsJyxcbiAgICAgICdvcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudCcsXG4gICAgXSxcbiAgICBwcmlvcml0eTogMixcbiAgICBjb2xvcjogJyMwZjQzOTUnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgIF0sXG4gIH0sXG4gIGdlb2pzb246IHtcbiAgICBleHRlbnNpb25zOiBbJ2dlb2pzb24nXSxcbiAgICBwcmlvcml0eTogMyxcbiAgICBjb2xvcjogJyMxZTUxODAnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW8ranNvbicsICdhcHBsaWNhdGlvbi92bmQuZ2VvK2pzb24nXSxcbiAgfSxcbiAganNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzFlNTE4MCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2pzb24nXSxcbiAgfSxcbiAgc2hwOiB7XG4gICAgZXh0ZW5zaW9uczogWydzaHAnLCAnc2hhcGUnLCAnemlwcGVkLXNoYXBlZmlsZSddLFxuICAgIHByaW9yaXR5OiA0LFxuICAgIGNvbG9yOiAnIzMyODU1NicsXG4gICAgbWltZVR5cGVzOiBbJ3gtZ2lzL3gtc2hhcGVmaWxlJ10sXG4gIH0sXG4gIGdtbDoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ21sJ10sXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY29sb3I6ICcjYzkyYmNlJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ21sK3htbCcsICd0ZXh0L3htbDsgc3VidHlwZT1nbWwnXSxcbiAgfSxcbiAga21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydrbWwnLCAna216J10sXG4gICAgcHJpb3JpdHk6IDYsXG4gICAgY29sb3I6ICcjMzQ4MDA5JyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JyxcbiAgICBdLFxuICB9LFxuICBncGtnOiB7XG4gICAgZXh0ZW5zaW9uczogWydncGtnJywgJ2dlb3BhY2thZ2UnXSxcbiAgICBwcmlvcml0eTogNyxcbiAgICBjb2xvcjogJyNlYTc5YmEnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTMnXSxcbiAgfSxcbiAgemlwOiB7XG4gICAgZXh0ZW5zaW9uczogWyd6aXAnLCAndGFyLmd6J10sXG4gICAgcHJpb3JpdHk6IDgsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vemlwJywgJ2FwcGxpY2F0aW9uL3gtemlwJ10sXG4gIH0sXG4gIHBkZjoge1xuICAgIGV4dGVuc2lvbnM6IFsncGRmJ10sXG4gICAgcHJpb3JpdHk6IDksXG4gICAgY29sb3I6ICcjZGI1NDRhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gIH0sXG4gIGpwZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanBnJywgJ2pwZWcnLCAnamZpZicsICdwanBlZycsICdwanAnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyM2NzNhYjcnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9qcGcnXSxcbiAgfSxcbiAgc3ZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydzdmcnXSxcbiAgICBwcmlvcml0eTogMTAsXG4gICAgY29sb3I6ICcjZDk4Mjk0JyxcbiAgICBtaW1lVHlwZXM6IFsnaW1hZ2Uvc3ZnK3htbCddLFxuICB9LFxuICBkeGY6IHtcbiAgICBleHRlbnNpb25zOiBbJ2R4ZiddLFxuICAgIHByaW9yaXR5OiAxMSxcbiAgICBjb2xvcjogJyNkZTYzMGInLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi94LWR4ZicsICdpbWFnZS94LWR4ZiddLFxuICB9LFxuICBodG1sOiB7XG4gICAgZXh0ZW5zaW9uczogWydodG1sJywgJ2h0bSddLFxuICAgIHByaW9yaXR5OiAxMixcbiAgICBjb2xvcjogJyNmMmJiM2EnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2h0bWwnXSxcbiAgfSxcbiAgZmdiOiB7XG4gICAgZXh0ZW5zaW9uczogWydmZ2InLCAnZmxhdGdlb2J1ZiddLFxuICAgIHByaW9yaXR5OiAxMyxcbiAgICBjb2xvcjogJyNmMmJiM2EnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9mbGF0Z2VvYnVmJ10sXG4gIH0sXG4gIGpzb25mZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanNvbmZnJywgJ2pzb25mZ2MnXSxcbiAgICBwcmlvcml0eTogMTQsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub2djLmZnK2pzb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbjtjb21wYXRpYmlsaXR5PWdlb2pzb24nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGdldEZvcm1hdFByaW9yaXR5KGdldEZpbGVGb3JtYXQobGluaykpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0RnJvbVNlcnZpY2VPdXRwdXQoXG4gIHNlcnZpY2VPdXRwdXQ6IHN0cmluZ1xuKTogRmlsZUZvcm1hdCB8IG51bGwge1xuICBmdW5jdGlvbiBmb3JtYXRNYXRjaGVyKGZvcm1hdDogdHlwZW9mIEZPUk1BVFNbRmlsZUZvcm1hdF0pOiBib29sZWFuIHtcbiAgICBjb25zdCBvdXRwdXQgPSBzZXJ2aWNlT3V0cHV0LnRvTG93ZXJDYXNlKClcbiAgICByZXR1cm4gKFxuICAgICAgZm9ybWF0LmV4dGVuc2lvbnMuc29tZSgoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICAgIG91dHB1dC5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgICApIHx8XG4gICAgICBmb3JtYXQubWltZVR5cGVzLnNvbWUoKG1pbWVUeXBlOiBzdHJpbmcpID0+IG91dHB1dC5pbmNsdWRlcyhtaW1lVHlwZSkpXG4gICAgKVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0TmFtZSBpbiBGT1JNQVRTKSB7XG4gICAgaWYgKGZvcm1hdE1hdGNoZXIoRk9STUFUU1tmb3JtYXROYW1lXSkpIHtcbiAgICAgIHJldHVybiBmb3JtYXROYW1lIGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXQobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogRmlsZUZvcm1hdCB7XG4gIGlmICgnbWltZVR5cGUnIGluIGxpbmspIHtcbiAgICBjb25zdCBtaW1lVHlwZUZvcm1hdCA9IG1pbWVUeXBlVG9Gb3JtYXQobGluay5taW1lVHlwZSlcbiAgICBpZiAobWltZVR5cGVGb3JtYXQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtaW1lVHlwZUZvcm1hdFxuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKGNoZWNrRmlsZUZvcm1hdChsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgICAgaWYgKGlzRm9ybWF0SW5RdWVyeVBhcmFtKGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1hdEluUXVlcnlQYXJhbShcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSxcbiAgZm9ybWF0OiBGaWxlRm9ybWF0XG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoJ25hbWUnIGluIGxpbmsgJiYgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLm5hbWUpKSB8fFxuICAgICgndXJsJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsudXJsLnRvU3RyaW5nKCkpKVxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWRnZUNvbG9yKGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7YWxpYXN9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKVxuICAgICAgICByZXR1cm4gRk9STUFUU1tmb3JtYXRdLmNvbG9yXG4gICAgfVxuICB9XG4gIHJldHVybiAndmFyKC0tY29sb3ItZ3JheS03MDApJyAvLyBEZWZhdWx0IGNvbG9yID9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtMYWJlbChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBzdHJpbmcge1xuICBsZXQgZm9ybWF0ID0gJydcbiAgc3dpdGNoIChsaW5rLnR5cGUpIHtcbiAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgIHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV0ZTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01UUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnZXNyaVJlc3QnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1JFU1QnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIGRlZmF1bHQ6XG4gICAgICBmb3JtYXQgPSBnZXRGaWxlRm9ybWF0KGxpbmspXG4gIH1cbiAgY29uc3QgbGFiZWwgPSBsaW5rLmRlc2NyaXB0aW9uIHx8IGxpbmsubmFtZVxuICByZXR1cm4gZm9ybWF0ID8gYCR7bGFiZWx9ICgke2Zvcm1hdH0pYCA6IGxhYmVsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaW1lVHlwZUZvckZvcm1hdChmb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIGZvcm1hdCBpbiBGT1JNQVRTID8gRk9STUFUU1tmb3JtYXQudG9Mb3dlckNhc2UoKV0ubWltZVR5cGVzWzBdIDogbnVsbFxufVxuIl19