geonetwork-ui 2.4.0-dev.fdf8f64b → 2.4.1-dev.c1a684900

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 (1144) hide show
  1. package/README.md +1 -7
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +38 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +1 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/convert-utils.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +51 -35
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +71 -40
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +37 -26
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +30 -8
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +32 -12
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +1 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +1 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +7 -6
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +31 -18
  17. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +5 -5
  18. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.mjs +1 -1
  19. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +11 -5
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +36 -12
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +45 -18
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +150 -87
  24. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +114 -28
  25. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  26. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +1 -1
  27. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +1 -1
  28. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +1 -1
  29. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +116 -63
  30. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +77 -22
  31. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +36 -9
  32. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +5 -5
  33. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.mjs +12 -0
  34. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -25
  35. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/index.mjs +2 -1
  36. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  37. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +61 -15
  38. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +4 -4
  39. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +5 -5
  40. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +5 -5
  41. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +59 -31
  42. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  43. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  44. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  45. package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
  46. package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
  47. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +19 -19
  48. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  49. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  50. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  51. package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
  52. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  53. package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +2 -1
  54. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  55. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +6 -6
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +6 -6
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +6 -6
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +6 -6
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +6 -6
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +6 -6
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +6 -6
  63. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +6 -6
  64. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +6 -6
  65. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +6 -6
  66. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +6 -6
  67. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +6 -6
  68. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +6 -6
  69. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +6 -6
  70. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +6 -6
  71. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -6
  72. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +6 -6
  73. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +6 -6
  74. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +6 -6
  75. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +6 -6
  76. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +6 -6
  77. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +6 -6
  78. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +6 -6
  79. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +6 -6
  80. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +6 -6
  81. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +6 -6
  82. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +6 -6
  83. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +6 -6
  84. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +6 -6
  85. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +6 -6
  86. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +6 -6
  87. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +6 -6
  88. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +7 -7
  89. package/esm2022/libs/data-access/gn4/src/openapi/configuration.mjs +1 -1
  90. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +4 -4
  91. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +14 -21
  92. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  93. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +41 -16
  94. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -4
  95. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +6 -6
  96. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +5 -5
  97. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  98. package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
  99. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +18 -11
  100. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +7 -6
  101. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  102. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +7 -10
  103. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +20 -9
  104. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -10
  105. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +4 -1
  106. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +23 -6
  107. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +12 -4
  108. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  109. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +25 -1
  110. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -1
  111. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +68 -0
  112. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +5 -6
  113. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +18 -10
  114. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +36 -18
  115. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +23 -9
  116. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +8 -7
  117. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +3 -3
  118. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +76 -0
  119. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.mjs +35 -0
  120. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +130 -0
  121. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -6
  122. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +19 -9
  123. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.mjs +19 -0
  124. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +5 -5
  125. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +5 -5
  126. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +31 -50
  127. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +4 -4
  128. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +3 -3
  129. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +18 -11
  130. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
  131. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +17 -17
  132. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +19 -12
  133. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +5 -5
  134. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +7 -26
  135. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +6 -30
  136. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.mjs +44 -0
  137. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +19 -9
  138. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +6 -6
  139. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +29 -12
  140. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  141. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +6 -6
  142. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +5 -5
  143. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -7
  144. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +5 -5
  145. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  146. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +4 -4
  147. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -13
  148. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  149. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
  150. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +5 -5
  151. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
  152. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +4 -4
  153. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +5 -5
  154. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +5 -5
  155. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +5 -5
  156. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +5 -5
  157. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +6 -6
  158. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -9
  159. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -5
  160. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +6 -6
  161. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +33 -15
  162. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +5 -5
  163. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  164. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -4
  165. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +4 -4
  166. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  167. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +6 -5
  168. package/esm2022/libs/feature/record/src/index.mjs +4 -1
  169. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -10
  170. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +12 -10
  171. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +18 -10
  172. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +13 -11
  173. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +12 -10
  174. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +25 -58
  175. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +169 -0
  176. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +45 -0
  177. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +56 -20
  178. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +45 -0
  179. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  180. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -6
  181. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +1 -1
  182. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +6 -6
  183. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  184. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -5
  185. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  186. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +50 -0
  187. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +8 -8
  188. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -8
  189. package/esm2022/libs/feature/search/src/index.mjs +3 -1
  190. package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -2
  191. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  192. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +4 -4
  193. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +5 -5
  194. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -7
  195. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +22 -19
  196. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +30 -8
  197. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -5
  198. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +5 -5
  199. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  200. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +5 -5
  201. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +15 -10
  202. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +6 -6
  203. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +67 -0
  204. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +84 -0
  205. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +9 -5
  206. package/esm2022/libs/feature/search/src/lib/state/actions.mjs +1 -1
  207. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +6 -6
  208. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -6
  209. package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +1 -1
  210. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +7 -9
  211. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +1 -9
  212. package/esm2022/libs/feature/search/src/lib/utils/operators/search.operator.mjs +1 -1
  213. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +63 -8
  214. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +13 -6
  215. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  216. package/esm2022/libs/ui/catalog/src/index.mjs +1 -2
  217. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +6 -5
  218. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +15 -19
  219. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +17 -7
  220. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +3 -3
  221. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +6 -5
  222. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +6 -6
  223. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -7
  224. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +6 -6
  225. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +33 -7
  226. package/esm2022/libs/ui/elements/src/index.mjs +1 -3
  227. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +28 -9
  228. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +3 -3
  229. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -5
  230. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +6 -5
  231. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +19 -8
  232. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +40 -12
  233. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +25 -7
  234. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +17 -9
  235. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +17 -7
  236. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +4 -6
  237. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +7 -5
  238. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +7 -6
  239. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +28 -8
  240. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +7 -6
  241. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +43 -16
  242. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +16 -9
  243. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +10 -8
  244. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +38 -7
  245. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +40 -35
  246. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +20 -11
  247. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +6 -6
  248. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +17 -98
  249. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +6 -6
  250. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +29 -11
  251. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  252. package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
  253. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +32 -14
  254. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +21 -7
  255. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
  256. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +7 -7
  257. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  258. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +5 -5
  259. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +10 -7
  260. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +19 -9
  261. package/esm2022/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.mjs +65 -0
  262. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -9
  263. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +3 -3
  264. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -8
  265. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +25 -9
  266. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +5 -5
  267. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +32 -11
  268. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  269. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +38 -11
  270. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +7 -7
  271. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +17 -7
  272. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +8 -6
  273. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +8 -5
  274. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  275. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +3 -3
  276. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +31 -26
  277. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +52 -23
  278. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +5 -5
  279. package/esm2022/libs/ui/layout/src/index.mjs +6 -1
  280. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +5 -5
  281. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +20 -15
  282. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +27 -22
  283. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +9 -7
  284. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +8 -6
  285. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +7 -6
  286. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +6 -4
  287. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +12 -8
  288. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +6 -6
  289. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +5 -5
  290. package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +2 -0
  291. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +52 -0
  292. package/esm2022/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.mjs +52 -0
  293. package/esm2022/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.mjs +36 -0
  294. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +26 -0
  295. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +5 -13
  296. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +6 -6
  297. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +17 -26
  298. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  299. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +3 -3
  300. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +20 -10
  301. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +32 -0
  302. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +1 -1
  303. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  304. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +6 -6
  305. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +3 -3
  306. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +4 -4
  307. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +3 -3
  308. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +5 -5
  309. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +3 -3
  310. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +8 -7
  311. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +3 -3
  312. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +10 -9
  313. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +3 -3
  314. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +3 -3
  315. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  316. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +1 -1
  317. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  318. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +5 -5
  319. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +25 -33
  320. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +74 -32
  321. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +34 -12
  322. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  323. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +7 -6
  324. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +5 -5
  325. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +8 -8
  326. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +5 -5
  327. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +5 -5
  328. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +5 -5
  329. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +9 -34
  330. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +9 -2
  331. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  332. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +7 -1
  333. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  334. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +1 -1
  335. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +1 -1
  336. package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +1 -1
  337. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +3 -3
  338. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +1 -1
  339. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +1 -1
  340. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +1 -1
  341. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +1 -1
  342. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +1 -1
  343. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +1 -1
  344. package/esm2022/libs/util/data-fetcher/src/lib/sql-utils.mjs +1 -1
  345. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -11
  346. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  347. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
  348. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  349. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +6 -6
  350. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
  351. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +6 -6
  352. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +5 -5
  353. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +6 -4
  354. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +17 -17
  355. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +3 -3
  356. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +12 -9
  357. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
  358. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +4 -4
  359. package/esm2022/libs/util/shared/src/lib/utils/format-fields.mjs +9 -0
  360. package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +1 -1
  361. package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +1 -1
  362. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +3 -1
  363. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  364. package/esm2022/libs/util/shared/src/lib/utils/parse.mjs +1 -1
  365. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +1 -1
  366. package/esm2022/libs/util/shared/src/lib/utils/url.mjs +1 -1
  367. package/esm2022/translations/de.json +49 -24
  368. package/esm2022/translations/en.json +113 -69
  369. package/esm2022/translations/es.json +38 -13
  370. package/esm2022/translations/fr.json +109 -65
  371. package/esm2022/translations/it.json +41 -16
  372. package/esm2022/translations/nl.json +38 -13
  373. package/esm2022/translations/pt.json +38 -13
  374. package/fesm2022/geonetwork-ui.mjs +7323 -5096
  375. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  376. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  377. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +5 -0
  378. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -0
  379. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +2 -2
  380. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
  381. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +6 -5
  382. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
  383. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +11 -5
  384. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -1
  385. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -1
  386. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -1
  387. package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
  388. package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
  389. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +4 -4
  390. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  391. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  392. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  393. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts +1 -1
  394. package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts.map +1 -1
  395. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +11 -10
  396. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  397. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  398. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +6 -3
  399. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  400. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +5 -2
  401. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  402. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +4 -2
  403. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  404. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +14 -4
  405. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  406. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +16 -9
  407. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  408. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +47 -4
  409. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  410. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts +14 -2
  411. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  412. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts +4 -0
  413. package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts.map +1 -0
  414. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +5 -1
  415. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  416. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts +1 -0
  417. package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts.map +1 -1
  418. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +15 -8
  419. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  420. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +5 -17
  421. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  422. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
  423. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  424. package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
  425. package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
  426. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
  427. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
  428. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
  429. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  430. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  431. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  432. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +27 -7
  433. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  434. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +2 -0
  435. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  436. package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
  437. package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
  438. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +16 -1
  439. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  440. package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
  441. package/libs/common/domain/src/lib/platform.service.interface.d.ts +4 -4
  442. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  443. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +5 -0
  444. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  445. package/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.d.ts.map +1 -1
  446. package/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.d.ts.map +1 -1
  447. package/libs/data-access/gn4/src/openapi/model/link.api.model.d.ts.map +1 -1
  448. package/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.d.ts.map +1 -1
  449. package/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.d.ts.map +1 -1
  450. package/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.d.ts.map +1 -1
  451. package/libs/data-access/gn4/src/openapi/model/operation.api.model.d.ts.map +1 -1
  452. package/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.d.ts.map +1 -1
  453. package/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.d.ts.map +1 -1
  454. package/libs/data-access/gn4/src/openapi/model/setting.api.model.d.ts.map +1 -1
  455. package/libs/data-access/gn4/src/openapi/model/status.api.model.d.ts.map +1 -1
  456. package/libs/data-access/gn4/src/openapi/model/statusValue.api.model.d.ts.map +1 -1
  457. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts.map +1 -1
  458. package/libs/data-access/gn4/src/openapi/model/userGroup.api.model.d.ts.map +1 -1
  459. package/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.d.ts.map +1 -1
  460. package/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.d.ts.map +1 -1
  461. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +8 -9
  462. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  463. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +10 -3
  464. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  465. package/libs/feature/dataviz/src/index.d.ts +0 -1
  466. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  467. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +1 -1
  468. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  469. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts +1 -1
  470. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  471. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +1 -1
  472. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  473. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
  474. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  475. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
  476. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  477. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +33 -9
  478. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  479. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +18 -10
  480. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  481. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +11 -4
  482. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  483. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +1 -1
  484. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  485. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -0
  486. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  487. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +8 -1
  488. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  489. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts +16 -0
  490. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -0
  491. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  492. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  493. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  494. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  495. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +2 -1
  496. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  497. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts +18 -0
  498. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -0
  499. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts +6 -0
  500. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts.map +1 -0
  501. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts +32 -0
  502. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts.map +1 -0
  503. 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 -1
  504. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts +9 -0
  505. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts.map +1 -0
  506. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  507. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +14 -35
  508. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  509. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +5 -2
  510. 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 -1
  511. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +4 -1
  512. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  513. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +1 -2
  514. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -1
  515. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +5 -2
  516. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  517. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +2 -8
  518. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  519. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +3 -7
  520. 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
  521. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts +14 -0
  522. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts.map +1 -0
  523. 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
  524. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +11 -9
  525. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  526. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  527. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  528. package/libs/feature/editor/src/lib/fields.config.d.ts +11 -3
  529. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  530. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -3
  531. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  532. package/libs/feature/editor/src/lib/services/editor.service.d.ts +4 -0
  533. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  534. package/libs/feature/map/src/lib/+state/map.actions.d.ts +3 -3
  535. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  536. package/libs/feature/map/src/lib/feature-map.module.d.ts +9 -10
  537. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  538. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  539. package/libs/feature/notifications/src/lib/notifications.service.d.ts +1 -1
  540. package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -1
  541. package/libs/feature/record/src/index.d.ts +3 -0
  542. package/libs/feature/record/src/index.d.ts.map +1 -1
  543. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -1
  544. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  545. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +1 -1
  546. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  547. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +1 -1
  548. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  549. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -1
  550. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  551. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +1 -1
  552. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  553. package/libs/feature/record/src/lib/feature-record.module.d.ts +15 -25
  554. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  555. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts +74 -0
  556. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -0
  557. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts +19 -0
  558. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -0
  559. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -1
  560. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  561. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +14 -0
  562. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts.map +1 -0
  563. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +13 -13
  564. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  565. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -9
  566. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  567. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  568. package/libs/feature/router/src/lib/default/constants.d.ts +3 -2
  569. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  570. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts +4 -0
  571. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -0
  572. package/libs/feature/router/src/lib/default/state/router.actions.d.ts +3 -3
  573. package/libs/feature/router/src/lib/default/state/router.actions.d.ts.map +1 -1
  574. package/libs/feature/router/src/lib/default/state/router.effects.d.ts +5 -5
  575. package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
  576. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -1
  577. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  578. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts +1 -1
  579. package/libs/feature/router/src/lib/default/state/router.selectors.d.ts.map +1 -1
  580. package/libs/feature/search/src/index.d.ts +2 -0
  581. package/libs/feature/search/src/index.d.ts.map +1 -1
  582. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  583. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  584. package/libs/feature/search/src/lib/feature-search.module.d.ts +17 -15
  585. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  586. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +7 -1
  587. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  588. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -0
  589. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  590. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  591. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +22 -0
  592. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -0
  593. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts +34 -0
  594. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -0
  595. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
  596. package/libs/feature/search/src/lib/state/actions.d.ts.map +1 -1
  597. package/libs/feature/search/src/lib/state/search.facade.d.ts +0 -2
  598. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  599. package/libs/feature/search/src/lib/state/selectors.d.ts +0 -2
  600. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  601. package/libs/feature/search/src/lib/utils/operators/search.operator.d.ts.map +1 -1
  602. package/libs/feature/search/src/lib/utils/service/fields.d.ts +24 -6
  603. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  604. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +4 -2
  605. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  606. package/libs/ui/catalog/src/index.d.ts +0 -1
  607. package/libs/ui/catalog/src/index.d.ts.map +1 -1
  608. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts +1 -1
  609. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts.map +1 -1
  610. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts +10 -8
  611. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts.map +1 -1
  612. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +1 -1
  613. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts.map +1 -1
  614. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts +1 -1
  615. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts.map +1 -1
  616. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +3 -3
  617. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +1 -1
  618. package/libs/ui/elements/src/index.d.ts +0 -2
  619. package/libs/ui/elements/src/index.d.ts.map +1 -1
  620. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +1 -1
  621. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  622. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts +1 -1
  623. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts.map +1 -1
  624. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  625. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  626. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +10 -9
  627. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  628. package/libs/ui/elements/src/lib/error/error.component.d.ts +1 -1
  629. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  630. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +1 -1
  631. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -1
  632. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  633. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  634. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +2 -1
  635. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  636. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts +1 -1
  637. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts.map +1 -1
  638. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -1
  639. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  640. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts +2 -2
  641. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts.map +1 -1
  642. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -1
  643. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  644. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +1 -1
  645. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  646. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts +2 -2
  647. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  648. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +1 -0
  649. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -1
  650. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +6 -17
  651. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  652. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +1 -1
  653. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  654. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -37
  655. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  656. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -1
  657. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
  658. package/libs/ui/inputs/src/index.d.ts +1 -1
  659. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  660. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  661. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  662. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +2 -2
  663. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  664. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +1 -1
  665. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts +1 -1
  666. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts.map +1 -1
  667. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  668. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts +20 -0
  669. package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts.map +1 -0
  670. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  671. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  672. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  673. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +3 -2
  674. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  675. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +2 -1
  676. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  677. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +1 -1
  678. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +1 -1
  679. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  680. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +1 -1
  681. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  682. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +2 -1
  683. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
  684. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +28 -31
  685. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  686. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +14 -12
  687. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  688. package/libs/ui/layout/src/index.d.ts +5 -0
  689. package/libs/ui/layout/src/index.d.ts.map +1 -1
  690. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +7 -5
  691. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  692. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +9 -7
  693. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  694. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +1 -1
  695. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  696. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts +1 -1
  697. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts.map +1 -1
  698. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +2 -1
  699. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -1
  700. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  701. package/libs/ui/layout/src/lib/paginable.interface.d.ts +15 -0
  702. package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -0
  703. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts +11 -0
  704. package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts.map +1 -0
  705. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts +9 -0
  706. package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +1 -0
  707. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts +10 -0
  708. package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts.map +1 -0
  709. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +8 -0
  710. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  711. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -1
  712. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +6 -8
  713. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  714. package/libs/ui/map/src/index.d.ts +1 -0
  715. package/libs/ui/map/src/index.d.ts.map +1 -1
  716. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
  717. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -1
  718. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts +12 -0
  719. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -0
  720. package/libs/ui/search/src/lib/results-list/results-layout.config.d.ts.map +1 -1
  721. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +10 -6
  722. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  723. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +11 -4
  724. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  725. package/libs/ui/search/src/lib/ui-search.module.d.ts +6 -5
  726. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  727. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts +1 -1
  728. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts.map +1 -1
  729. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  730. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  731. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  732. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts +1 -1
  733. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts.map +1 -1
  734. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -13
  735. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  736. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  737. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  738. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -1
  739. package/libs/util/app-config/src/lib/model.d.ts +6 -1
  740. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  741. package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
  742. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  743. package/libs/util/data-fetcher/src/lib/readers/csv.d.ts.map +1 -1
  744. package/libs/util/data-fetcher/src/lib/readers/excel.d.ts.map +1 -1
  745. package/libs/util/data-fetcher/src/lib/readers/geojson.d.ts.map +1 -1
  746. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  747. package/libs/util/data-fetcher/src/lib/readers/json.d.ts.map +1 -1
  748. package/libs/util/data-fetcher/src/lib/utils.d.ts +1 -1
  749. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  750. package/libs/util/i18n/src/index.d.ts +1 -0
  751. package/libs/util/i18n/src/index.d.ts.map +1 -1
  752. package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
  753. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  754. package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
  755. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
  756. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  757. package/libs/util/shared/src/lib/links/link-utils.d.ts +16 -16
  758. package/libs/util/shared/src/lib/services/proxy.service.d.ts +4 -2
  759. package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
  760. package/libs/util/shared/src/lib/utils/format-fields.d.ts +2 -0
  761. package/libs/util/shared/src/lib/utils/format-fields.d.ts.map +1 -0
  762. package/libs/util/shared/src/lib/utils/index.d.ts +2 -0
  763. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  764. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  765. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  766. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +4 -1
  767. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  768. package/package.json +50 -43
  769. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  770. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +50 -0
  771. package/src/libs/api/metadata-converter/src/lib/convert-utils.ts +1 -1
  772. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +160 -34
  773. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +140 -47
  774. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +62 -47
  775. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +37 -7
  776. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +51 -18
  777. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +473 -2
  778. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +36 -3
  779. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +246 -0
  780. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +101 -0
  781. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +187 -0
  782. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +20 -3
  783. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +336 -5
  784. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +216 -0
  785. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +84 -2
  786. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +336 -9
  787. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +404 -2
  788. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +4 -1
  789. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +451 -0
  790. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +289 -0
  791. package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
  792. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
  793. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +29 -23
  794. package/src/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.ts +1 -1
  795. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +11 -10
  796. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +15 -3
  797. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +69 -20
  798. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +100 -25
  799. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +165 -81
  800. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +279 -49
  801. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +428 -172
  802. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +97 -24
  803. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +35 -6
  804. package/src/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.ts +13 -0
  805. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +58 -23
  806. package/src/libs/api/repository/src/lib/gn4/elasticsearch/index.ts +1 -0
  807. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +111 -52
  808. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
  809. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +113 -31
  810. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
  811. package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
  812. package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
  813. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
  814. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  815. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +44 -7
  816. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +4 -0
  817. package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
  818. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +17 -1
  819. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +1 -0
  820. package/src/libs/common/domain/src/lib/platform.service.interface.ts +4 -3
  821. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -0
  822. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +10 -3
  823. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +1673 -0
  824. package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +12931 -0
  825. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +37 -28
  826. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +117 -15
  827. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -9
  828. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -5
  829. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +41 -5
  830. package/src/libs/feature/dataviz/src/index.ts +0 -1
  831. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -1
  832. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +20 -2
  833. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +3 -1
  834. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +6 -1
  835. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +30 -7
  836. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -1
  837. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +15 -2
  838. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +16 -0
  839. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +41 -2
  840. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -0
  841. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -1
  842. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +27 -0
  843. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +5 -0
  844. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.css +4 -0
  845. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +28 -0
  846. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +71 -0
  847. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -2
  848. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +3 -0
  849. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +7 -6
  850. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +12 -2
  851. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +3 -4
  852. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +32 -11
  853. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +1 -1
  854. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +15 -2
  855. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +2 -0
  856. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +1 -2
  857. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.css +4 -0
  858. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.html +24 -0
  859. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +85 -0
  860. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.ts +42 -0
  861. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.css +4 -0
  862. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.html +34 -0
  863. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +210 -0
  864. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
  865. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -1
  866. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +13 -2
  867. package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.ts → form-field-date/form-field-date.component.ts} +4 -4
  868. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.html +1 -1
  869. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +11 -8
  870. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +33 -45
  871. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +55 -40
  872. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +29 -18
  873. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +83 -66
  874. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +27 -17
  875. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +1 -1
  876. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +15 -12
  877. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +22 -11
  878. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +30 -17
  879. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
  880. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +4 -25
  881. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +3 -23
  882. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -5
  883. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -42
  884. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.html +5 -0
  885. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.ts +60 -0
  886. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +3 -2
  887. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +13 -2
  888. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -0
  889. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +55 -21
  890. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +33 -8
  891. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  892. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +6 -1
  893. package/src/libs/feature/editor/src/lib/fields.config.ts +83 -12
  894. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -4
  895. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  896. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +2 -2
  897. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -2
  898. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +3 -5
  899. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +23 -4
  900. package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -1
  901. package/src/libs/feature/record/src/index.ts +3 -0
  902. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
  903. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +15 -0
  904. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +5 -0
  905. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +16 -1
  906. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +5 -0
  907. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +1 -1
  908. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +8 -1
  909. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -38
  910. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.css +22 -0
  911. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.html +132 -0
  912. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +253 -0
  913. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.html +37 -0
  914. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +43 -0
  915. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +50 -12
  916. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +62 -4
  917. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +45 -0
  918. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +10 -1
  919. package/src/libs/feature/router/src/lib/default/constants.ts +6 -1
  920. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +61 -0
  921. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  922. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +5 -3
  923. package/src/libs/feature/search/src/index.ts +2 -0
  924. package/src/libs/feature/search/src/lib/constants.ts +1 -1
  925. package/src/libs/feature/search/src/lib/facets/facets.service.ts +4 -4
  926. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +3 -0
  927. package/src/libs/feature/search/src/lib/feature-search.module.ts +15 -8
  928. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +20 -10
  929. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +32 -1
  930. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -6
  931. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +12 -1
  932. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +16 -12
  933. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.css +0 -0
  934. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.html +17 -0
  935. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +78 -0
  936. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.css +0 -0
  937. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.html +20 -0
  938. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +118 -0
  939. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +4 -0
  940. package/src/libs/feature/search/src/lib/state/actions.ts +69 -17
  941. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  942. package/src/libs/feature/search/src/lib/state/search.facade.ts +0 -8
  943. package/src/libs/feature/search/src/lib/state/selectors.ts +0 -18
  944. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +20 -3
  945. package/src/libs/feature/search/src/lib/utils/service/fields.ts +91 -12
  946. package/src/libs/ui/catalog/src/index.ts +0 -1
  947. package/src/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.ts +3 -0
  948. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  949. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +15 -21
  950. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +2 -3
  951. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +11 -0
  952. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +3 -0
  953. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +1 -1
  954. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +6 -5
  955. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +17 -2
  956. package/src/libs/ui/elements/src/index.ts +0 -2
  957. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +18 -8
  958. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +21 -1
  959. package/src/libs/ui/elements/src/lib/content-ghost/content-ghost.component.ts +3 -0
  960. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +7 -5
  961. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +12 -1
  962. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +1 -1
  963. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +57 -11
  964. package/src/libs/ui/elements/src/lib/error/error.component.css +24 -19
  965. package/src/libs/ui/elements/src/lib/error/error.component.html +11 -21
  966. package/src/libs/ui/elements/src/lib/error/error.component.ts +19 -0
  967. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -6
  968. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  969. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +2 -6
  970. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +13 -2
  971. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +0 -2
  972. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +4 -1
  973. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  974. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +4 -1
  975. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +20 -22
  976. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +24 -0
  977. package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +7 -3
  978. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  979. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +47 -26
  980. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +43 -1
  981. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +18 -1
  982. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  983. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +7 -1
  984. package/src/libs/ui/elements/src/lib/notification/notification.component.html +10 -14
  985. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +33 -2
  986. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.css +2 -2
  987. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +44 -35
  988. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +4 -4
  989. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +15 -0
  990. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -55
  991. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +2 -2
  992. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +2 -6
  993. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +22 -0
  994. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -4
  995. package/src/libs/ui/inputs/src/index.ts +1 -1
  996. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +3 -10
  997. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +5 -5
  998. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +18 -2
  999. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +2 -2
  1000. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +15 -2
  1001. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.html +4 -1
  1002. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -3
  1003. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +4 -1
  1004. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +5 -6
  1005. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.ts +7 -0
  1006. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +1 -3
  1007. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +13 -2
  1008. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +5 -0
  1009. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +30 -0
  1010. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +63 -0
  1011. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +1 -3
  1012. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -2
  1013. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +16 -20
  1014. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +7 -7
  1015. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +16 -2
  1016. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +4 -1
  1017. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +14 -13
  1018. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +19 -3
  1019. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +32 -28
  1020. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +32 -3
  1021. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -3
  1022. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +4 -1
  1023. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.html +2 -2
  1024. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +13 -2
  1025. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -9
  1026. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +2 -6
  1027. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +6 -0
  1028. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +1 -0
  1029. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -0
  1030. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +21 -11
  1031. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +1 -1
  1032. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +12 -21
  1033. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +49 -20
  1034. package/src/libs/ui/layout/src/index.ts +5 -0
  1035. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +0 -16
  1036. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +4 -12
  1037. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +20 -11
  1038. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -16
  1039. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -12
  1040. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +22 -19
  1041. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +2 -4
  1042. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +8 -2
  1043. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.html +2 -6
  1044. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.ts +6 -0
  1045. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
  1046. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
  1047. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +1 -0
  1048. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +4 -8
  1049. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +9 -9
  1050. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -3
  1051. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  1052. package/src/libs/ui/layout/src/lib/paginable.interface.ts +14 -0
  1053. package/src/libs/ui/layout/src/lib/pagination/pagination.component.css +0 -0
  1054. package/src/libs/ui/{elements → layout}/src/lib/pagination/pagination.component.html +12 -13
  1055. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +45 -0
  1056. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.css +0 -0
  1057. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.html +51 -0
  1058. package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.ts +50 -0
  1059. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.css +16 -0
  1060. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.html +15 -0
  1061. package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.ts +31 -0
  1062. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +18 -0
  1063. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +29 -0
  1064. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.css +4 -2
  1065. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +1 -9
  1066. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +8 -15
  1067. package/src/libs/ui/map/src/index.ts +1 -0
  1068. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.html +4 -3
  1069. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +13 -2
  1070. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.css +5 -0
  1071. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.html +1 -0
  1072. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +39 -0
  1073. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +17 -13
  1074. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +16 -10
  1075. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +1 -1
  1076. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +59 -26
  1077. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +17 -30
  1078. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +35 -27
  1079. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +89 -28
  1080. package/src/libs/ui/search/src/lib/ui-search.module.ts +22 -3
  1081. package/src/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.ts +4 -6
  1082. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.html +2 -4
  1083. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +8 -2
  1084. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +1 -0
  1085. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.ts +1 -0
  1086. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +2 -2
  1087. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -18
  1088. package/src/libs/util/app-config/src/lib/app-config.ts +9 -2
  1089. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  1090. package/src/libs/util/app-config/src/lib/map-layers.ts +6 -0
  1091. package/src/libs/util/app-config/src/lib/model.ts +6 -1
  1092. package/src/libs/util/data-fetcher/src/lib/model.ts +6 -6
  1093. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -1
  1094. package/src/libs/util/data-fetcher/src/lib/utils.ts +13 -11
  1095. package/src/libs/util/i18n/src/index.ts +1 -0
  1096. package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
  1097. package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
  1098. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
  1099. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
  1100. package/src/libs/util/shared/src/lib/links/link-utils.ts +17 -17
  1101. package/src/libs/util/shared/src/lib/services/proxy.service.ts +7 -3
  1102. package/src/libs/util/shared/src/lib/utils/format-fields.ts +11 -0
  1103. package/src/libs/util/shared/src/lib/utils/index.ts +2 -0
  1104. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  1105. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -1
  1106. package/tailwind.base.css +17 -6
  1107. package/translations/de.json +49 -24
  1108. package/translations/en.json +113 -69
  1109. package/translations/es.json +38 -13
  1110. package/translations/fr.json +109 -65
  1111. package/translations/it.json +41 -16
  1112. package/translations/nl.json +38 -13
  1113. package/translations/pt.json +38 -13
  1114. package/translations/sk.json +39 -14
  1115. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +0 -74
  1116. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +0 -19
  1117. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +0 -57
  1118. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +0 -54
  1119. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +0 -66
  1120. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +0 -29
  1121. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +0 -22
  1122. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +0 -1
  1123. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +0 -9
  1124. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +0 -1
  1125. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +0 -17
  1126. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +0 -1
  1127. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts +0 -16
  1128. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts.map +0 -1
  1129. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts +0 -17
  1130. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +0 -1
  1131. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +0 -12
  1132. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +0 -1
  1133. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +0 -48
  1134. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -35
  1135. package/src/libs/ui/elements/src/lib/pagination/pagination.component.ts +0 -50
  1136. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.html +0 -33
  1137. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.ts +0 -68
  1138. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +0 -26
  1139. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +0 -32
  1140. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.css → form-field-date/form-field-date.component.css} +0 -0
  1141. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.html → form-field-date/form-field-date.component.html} +0 -0
  1142. /package/src/libs/{ui/elements/src/lib/pagination-buttons/pagination-buttons.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.css} +0 -0
  1143. /package/src/libs/{ui/elements/src/lib/pagination/pagination.component.css → feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.css} +0 -0
  1144. /package/src/libs/ui/{inputs → layout}/src/lib/previous-next-buttons/previous-next-buttons.component.css +0 -0
@@ -1,17 +1,19 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import { getTemporalRangeUnion } from '../../../../../../libs/util/shared/src';
3
+ import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
4
+ import { ExpandablePanelComponent, MaxLinesComponent, } from '../../../../../../libs/ui/layout/src';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { BadgeComponent, CopyTextButtonComponent, } from '../../../../../../libs/ui/inputs/src';
7
+ import { ContentGhostComponent } from '../content-ghost/content-ghost.component';
8
+ import { NgIcon, provideIcons } from '@ng-icons/core';
9
+ import { CommonModule } from '@angular/common';
10
+ import { matOpenInNew } from '@ng-icons/material-icons/baseline';
11
+ import { matMailOutline } from '@ng-icons/material-icons/outline';
12
+ import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
13
+ import { GnUiLinkifyDirective } from './linkify.directive';
3
14
  import * as i0 from "@angular/core";
4
15
  import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/icon";
6
- import * as i3 from "../../../../layout/src/lib/expandable-panel/expandable-panel.component";
7
- import * as i4 from "@ngx-translate/core";
8
- import * as i5 from "../../../../inputs/src/lib/copy-text-button/copy-text-button.component";
9
- import * as i6 from "../../../../inputs/src/lib/badge/badge.component";
10
- import * as i7 from "../markdown-parser/markdown-parser.component";
11
- import * as i8 from "../thumbnail/thumbnail.component";
12
- import * as i9 from "../../../../layout/src/lib/max-lines/max-lines.component";
13
- import * as i10 from "../content-ghost/content-ghost.component";
14
- import * as i11 from "./linkify.directive";
16
+ import * as i2 from "@ngx-translate/core";
15
17
  export class MetadataInfoComponent {
16
18
  constructor() {
17
19
  this.keyword = new EventEmitter();
@@ -27,7 +29,10 @@ export class MetadataInfoComponent {
27
29
  get legalConstraints() {
28
30
  let array = [];
29
31
  if (this.metadata.legalConstraints?.length) {
30
- array = array.concat(this.metadata.legalConstraints.filter((c) => c.text).map((c) => c.text));
32
+ const licensesTexts = this.metadata.licenses.map((license) => license.text);
33
+ array = array.concat(this.metadata.legalConstraints
34
+ .filter((c) => c.text && !licensesTexts.includes(c.text))
35
+ .map((c) => c.text));
31
36
  }
32
37
  return array;
33
38
  }
@@ -75,12 +80,34 @@ export class MetadataInfoComponent {
75
80
  onKeywordClick(keyword) {
76
81
  this.keyword.emit(keyword);
77
82
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: i6.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: i7.MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: i8.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i9.MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: i10.ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: i11.GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataInfoComponent, isStandalone: true, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-primary text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.resourceCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.resourcePublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }], viewProviders: [
85
+ provideIcons({
86
+ matOpenInNew,
87
+ matMailOutline,
88
+ }),
89
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
90
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, decorators: [{
82
92
  type: Component,
83
- args: [{ selector: 'gn-ui-metadata-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"] }]
93
+ args: [{ selector: 'gn-ui-metadata-info', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
94
+ CommonModule,
95
+ TranslateModule,
96
+ MarkdownParserComponent,
97
+ ExpandablePanelComponent,
98
+ BadgeComponent,
99
+ ContentGhostComponent,
100
+ ThumbnailComponent,
101
+ MaxLinesComponent,
102
+ CopyTextButtonComponent,
103
+ NgIcon,
104
+ GnUiLinkifyDirective,
105
+ ], viewProviders: [
106
+ provideIcons({
107
+ matOpenInNew,
108
+ matMailOutline,
109
+ }),
110
+ ], template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-primary text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.resourceCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.resourcePublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}\n"] }]
84
111
  }], propDecorators: { metadata: [{
85
112
  type: Input
86
113
  }], incomplete: [{
@@ -88,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
88
115
  }], keyword: [{
89
116
  type: Output
90
117
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtaW5mby9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFLdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7Ozs7Ozs7Ozs7QUFROUUsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQVNZLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO0tBNkVoRDtJQTFFQyxJQUFJLFFBQVE7UUFDVixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxLQUFLLElBQUk7WUFDekMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDakUsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQzFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RSxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQzFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RSxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2lCQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUFBO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsWUFBWSxNQUFNLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUE7WUFDOUQsT0FBTyxpQ0FBaUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUE7U0FDNUU7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1lBQzVELE9BQU8saUNBQWlDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUE7U0FDeEU7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQTtRQUNyRCxPQUFPLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZ0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUIsQ0FBQzsrR0EvRVUscUJBQXFCO21HQUFyQixxQkFBcUIsd0pDbkJsQyx5bFNBZ1FBOzs0RkQ3T2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRSZWNvcmQsXG4gIEtleXdvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IGdldFRlbXBvcmFsUmFuZ2VVbmlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhSW5mb0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhOiBQYXJ0aWFsPERhdGFzZXRSZWNvcmQ+XG4gIEBJbnB1dCgpIGluY29tcGxldGU6IGJvb2xlYW5cbiAgQE91dHB1dCgpIGtleXdvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPEtleXdvcmQ+KClcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXJcblxuICBnZXQgaGFzVXNhZ2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWV0YWRhdGEuZXh0cmFzPy5pc09wZW5EYXRhID09PSB0cnVlIHx8XG4gICAgICAodGhpcy5tZXRhZGF0YS5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMubGVnYWxDb25zdHJhaW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMubWV0YWRhdGEub3RoZXJDb25zdHJhaW50cz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICB0aGlzLm90aGVyQ29uc3RyYWludHMubGVuZ3RoID4gMCkgfHxcbiAgICAgICh0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzPy5sZW5ndGggPiAwICYmIHRoaXMubGljZW5zZXMubGVuZ3RoID4gMClcbiAgICApXG4gIH1cblxuICBnZXQgbGVnYWxDb25zdHJhaW50cygpIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCkge1xuICAgICAgYXJyYXkgPSBhcnJheS5jb25jYXQoXG4gICAgICAgIHRoaXMubWV0YWRhdGEubGVnYWxDb25zdHJhaW50cy5maWx0ZXIoKGMpID0+IGMudGV4dCkubWFwKChjKSA9PiBjLnRleHQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhcnJheVxuICB9XG5cbiAgZ2V0IG90aGVyQ29uc3RyYWludHMoKSB7XG4gICAgbGV0IGFycmF5ID0gW11cbiAgICBpZiAodGhpcy5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLm90aGVyQ29uc3RyYWludHMuZmlsdGVyKChjKSA9PiBjLnRleHQpLm1hcCgoYykgPT4gYy50ZXh0KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlcbiAgfVxuXG4gIGdldCBsaWNlbnNlcygpOiB7IHRleHQ6IHN0cmluZzsgdXJsOiBzdHJpbmcgfVtdIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzXG4gICAgICAgICAgLmZpbHRlcigoYykgPT4gYy50ZXh0KVxuICAgICAgICAgIC5tYXAoKGMpID0+ICh7IHRleHQ6IGMudGV4dCwgdXJsOiBjLnVybCB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5XG4gIH1cblxuICBnZXQgdXBkYXRlRnJlcXVlbmN5KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICB0aGlzLnVwZGF0ZWRUaW1lcyA9IHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnVwZGF0ZWRUaW1lc1xuICAgICAgcmV0dXJuIGBkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS4ke3RoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnBlcn1gXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYGRvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LiR7dGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3l9YFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgZ2V0IHRlbXBvcmFsRXh0ZW50KCk6IHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgdGVtcG9yYWxFeHRlbnRzID0gdGhpcy5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudHNcbiAgICByZXR1cm4gZ2V0VGVtcG9yYWxSYW5nZVVuaW9uKHRlbXBvcmFsRXh0ZW50cylcbiAgfVxuXG4gIGdldCBzaG93bk9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IHJlc291cmNlQ29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5jb250YWN0c0ZvclJlc291cmNlPy5bMF1cbiAgfVxuXG4gIGZpZWxkUmVhZHkocHJvcE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiAhdGhpcy5pbmNvbXBsZXRlIHx8IHByb3BOYW1lIGluIHRoaXMubWV0YWRhdGFcbiAgfVxuXG4gIG9uS2V5d29yZENsaWNrKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICB0aGlzLmtleXdvcmQuZW1pdChrZXl3b3JkKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNiBtZC1kZXNjcmlwdGlvbiBzbTptYi00IHNtOnByLTE2XCI+XG4gIDxnbi11aS1jb250ZW50LWdob3N0IGdob3N0Q2xhc3M9XCJoLTMyXCIgW3Nob3dDb250ZW50XT1cImZpZWxkUmVhZHkoJ2Fic3RyYWN0JylcIj5cbiAgICA8Z24tdWktbWF4LWxpbmVzIFttYXhMaW5lc109XCI2XCIgKm5nSWY9XCJtZXRhZGF0YS5hYnN0cmFjdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTZcIj5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJtZXRhZGF0YS5hYnN0cmFjdFwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZ24tdWktbWF4LWxpbmVzPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5rZXl3b3Jkcz8ubGVuZ3RoXCI+XG4gICAgICA8cCBjbGFzcz1cIm10LTYgbWItMyBmb250LW1lZGl1bSB0ZXh0LXByaW1hcnkgdGV4dC1zbVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmtleXdvcmRzXG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic206cGItNCBmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICA8Z24tdWktYmFkZ2VcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBsb3dlcmNhc2VcIlxuICAgICAgICAgIChjbGljayk9XCJvbktleXdvcmRDbGljayhrZXl3b3JkKVwiXG4gICAgICAgICAgW2NsaWNrYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQga2V5d29yZCBvZiBtZXRhZGF0YS5rZXl3b3Jkc1wiXG4gICAgICAgICAgPnt7IGtleXdvcmQubGFiZWwgfX08L2duLXVpLWJhZGdlXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2duLXVpLWNvbnRlbnQtZ2hvc3Q+XG48L2Rpdj5cblxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWwgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEudXNhZ2UnIHwgdHJhbnNsYXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC1bMTBweF0gbXItNCBweS1bMTJweF0gcm91bmRlZCB0ZXh0LWdyYXktOTAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGljZW5zZSBvZiBsaWNlbnNlc1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImxpY2Vuc2UudXJsOyBlbHNlIG5vVXJsXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBbaHJlZl09XCJsaWNlbnNlLnVybFwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZSB0cmFuc2l0aW9uLWFsbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsaWNlbnNlLnRleHQgfX1cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy1bMTJweF0gIWgtWzEycHhdICF0ZXh0LVsxMnB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICAgID5vcGVuX2luX25ldzwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNub1VybD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeVwiIGduVWlMaW5raWZ5PlxuICAgICAgICAgIHt7IGxpY2Vuc2UudGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxlZ2FsQ29uc3RyYWludHMubGVuZ3RoXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWItNlwiPlxuICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbnN0cmFpbnQgb2YgbGVnYWxDb25zdHJhaW50c1wiXG4gICAgICAgICAgW3RleHRDb250ZW50XT1cImNvbnN0cmFpbnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm90aGVyQ29uc3RyYWludHMubGVuZ3RoXCI+XG4gICAgICA8ZGl2IGduVWlMaW5raWZ5ICpuZ0Zvcj1cImxldCBjb25zdHJhaW50IG9mIG90aGVyQ29uc3RyYWludHNcIj5cbiAgICAgICAgPGg1IHRyYW5zbGF0ZSBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtYmxhY2sgdGV4dC1zbSBtYi1bMnB4XSBtdC1bMTZweF1cIj5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEub3RoZXJDb25zdHJhaW50c1xuICAgICAgICA8L2g1PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItNlwiPlxuICAgICAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXIgW3RleHRDb250ZW50XT1cImNvbnN0cmFpbnRcIj5cbiAgICAgICAgICA8L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxzcGFuIGNsYXNzPVwibm9Vc2FnZVwiICpuZ0lmPVwiIWhhc1VzYWdlXCI+XG4gICAgICB7eyAncmVjb3JkLm1ldGFkYXRhLm5vVXNhZ2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbjxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICpuZ0lmPVwiXG4gICAgbWV0YWRhdGEubGluZWFnZSB8fFxuICAgIG1ldGFkYXRhLnJlY29yZFVwZGF0ZWQgfHxcbiAgICBtZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgfHxcbiAgICBtZXRhZGF0YS5zdGF0dXNcbiAgXCJcbiAgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEuZGV0YWlscycgfCB0cmFuc2xhdGVcIlxuPlxuICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEubGluZWFnZVwiIGNsYXNzPVwidGV4dC1ncmF5LTkwMCBmbGV4IGZsZXgtY29sIG10LTQgZ2FwLTJcIj5cbiAgICA8cCBjbGFzcz1cIndoaXRlc3BhY2UtcHJlLWxpbmUgYnJlYWstd29yZHMgdGV4dC1ncmF5LTkwMFwiIGduVWlMaW5raWZ5PlxuICAgICAge3sgbWV0YWRhdGEubGluZWFnZSB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC02IG10LTUgbWItOFwiICpuZ0lmPVwicmVzb3VyY2VDb250YWN0XCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uPy5sb2dvVXJsPy5ocmVmXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXNvbGlkIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBiZy13aGl0ZSBoLTMyIG92ZXJmbG93LWhpZGRlblwiXG4gICAgPlxuICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGgtZnVsbCB3LWZ1bGxcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24ubG9nb1VybC5ocmVmXCJcbiAgICAgICAgZml0PVwiY29udGFpblwiXG4gICAgICA+PC9nbi11aS10aHVtYm5haWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEucHJvZHVjZXI8L3A+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtdGl0bGUgdGV4dC0yMSBtci0yIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZVwiXG4gICAgICAgIGRhdGEtY3k9XCJvcmdhbml6YXRpb24tbmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24/Lm5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24/LndlYnNpdGVcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBbaHJlZl09XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uLndlYnNpdGVcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgY2xhc3M9XCJjb250YWN0LXdlYnNpdGUgdGV4dC1wcmltYXJ5IHRleHQtc20gY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lIHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgICA+e3sgcmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbi53ZWJzaXRlIH19XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctWzEycHhdICFoLVsxMnB4XSAhdGV4dC1bMTJweF0gb3BhY2l0eS03NSBzaHJpbmstMFwiXG4gICAgICAgICAgICA+b3Blbl9pbl9uZXc8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCIgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3QuZW1haWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhdy01ICFoLTUgIXRleHQtWzIwcHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIG1haWxfb3V0bGluZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwicmVzb3VyY2VDb250YWN0LmVtYWlsXCJcbiAgICAgICAgICAgIFtocmVmXT1cIidtYWlsdG86JyArIHJlc291cmNlQ29udGFjdC5lbWFpbFwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc20gaG92ZXI6dW5kZXJsaW5lIG1sLTJcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIGRhdGEtY3k9XCJjb250YWN0LWVtYWlsXCJcbiAgICAgICAgICAgID57eyByZXNvdXJjZUNvbnRhY3Q/LmVtYWlsIH19PC9hXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicHktNiBweC02IHJvdW5kZWQgYmctZ3JheS0xMDAgZ3JpZCBncmlkLWNvbHMtMiBnYXAteS02IGdhcC14LVsyMHB4XSB0ZXh0LWdyYXktNzAwXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5yZWNvcmRDcmVhdGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmNyZWF0aW9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW0gbXQtMVwiPlxuICAgICAgICB7eyBtZXRhZGF0YS5yZWNvcmRDcmVhdGVkLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlY29yZFB1Ymxpc2hlZFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5wdWJsaWNhdGlvbjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIG10LTFcIj5cbiAgICAgICAge3sgbWV0YWRhdGEucmVjb3JkUHVibGlzaGVkLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInVwZGF0ZUZyZXF1ZW5jeVwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3k8L3A+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bSBtdC0xIHVwZGF0ZUZyZXF1ZW5jeVwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgY291bnQ6IHVwZGF0ZWRUaW1lcyB9XCJcbiAgICAgID5cbiAgICAgICAge3sgdXBkYXRlRnJlcXVlbmN5IH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmxhbmd1YWdlc1wiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIG1iLTFcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmxhbmd1YWdlczwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0xIGZsZXgtd3JhcFwiPlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgbWV0YWRhdGEubGFuZ3VhZ2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIGxhbmd1YWdlLnt7IGxhbmd1YWdlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0xIG1iLTEgdGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiB0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwie1xuICAgICAgICAgICAgc3RhcnQ6IHRlbXBvcmFsRXh0ZW50LnN0YXJ0LFxuICAgICAgICAgICAgZW5kOiB0ZW1wb3JhbEV4dGVudC5lbmRcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudC5mcm9tRGF0ZVRvRGF0ZVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiAhdGVtcG9yYWxFeHRlbnQuZW5kXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgc3RhcnQ6IHRlbXBvcmFsRXh0ZW50LnN0YXJ0IH1cIlxuICAgICAgICA+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50LnNpbmNlRGF0ZVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCIhdGVtcG9yYWxFeHRlbnQuc3RhcnQgJiYgdGVtcG9yYWxFeHRlbnQuZW5kXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgZW5kOiB0ZW1wb3JhbEV4dGVudC5lbmQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEudGVtcG9yYWxFeHRlbnQudW50aWxEYXRlXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbjxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICpuZ0lmPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIlxuICBbdGl0bGVdPVwiJ3JlY29yZC5tZXRhZGF0YS50ZWNobmljYWwnIHwgdHJhbnNsYXRlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgbXItNCBweS01IHJvdW5kZWQgdGV4dC1ncmF5LTcwMFwiPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5yZWNvcmRVcGRhdGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVwZGF0ZWRPbjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhLnJlY29yZFVwZGF0ZWQgJiYgbWV0YWRhdGEucmVjb3JkVXBkYXRlZC50b0xvY2FsZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmxhbmRpbmdQYWdlXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnNoZWV0PC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIiB0cmFuc2xhdGU+XG4gICAgICAgIDxhIFtocmVmXT1cIm1ldGFkYXRhLmxhbmRpbmdQYWdlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVhay1hbGxcIiBnblVpTGlua2lmeT57eyBtZXRhZGF0YS5sYW5kaW5nUGFnZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5vd25lcjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uLm5hbWUgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEudW5pcXVlSWRlbnRpZmllclwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS51bmlxdWVJZDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGNvbnRlbnQtYWxpZ24gaXRlbXMtZW5kIGdhcC0xXCI+XG4gICAgICAgIDxnbi11aS1jb3B5LXRleHQtYnV0dG9uXG4gICAgICAgICAgW3RleHRdPVwibWV0YWRhdGEudW5pcXVlSWRlbnRpZmllclwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIid0b29sdGlwLmlkLmNvcHknIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGlzcGxheVRleHRdPVwiZmFsc2VcIlxuICAgICAgICA+PC9nbi11aS1jb3B5LXRleHQtYnV0dG9uPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiPlxuICAgICAgICAgIHt7IG1ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXIgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnRvcGljcz8ubGVuZ3RoXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gbWItMVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudG9waWNzPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNtOnBiLTQgc206cHItMTZcIj5cbiAgICAgICAgPGduLXVpLWJhZGdlXG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgbXItMiBtYi0yIGxvd2VyY2FzZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRvcGljIG9mIG1ldGFkYXRhLnRvcGljc1wiXG4gICAgICAgICAgPnt7IHRvcGljIH19PC9nbi11aS1iYWRnZVxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2duLXVpLWV4cGFuZGFibGUtcGFuZWw+XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtaW5mby9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFLdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDdEYsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsR0FDeEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7O0FBNEIxRCxNQUFNLE9BQU8scUJBQXFCO0lBMUJsQztRQTZCWSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWtGaEQ7SUEvRUMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFVBQVUsS0FBSyxJQUFJO1lBQ3pDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQ2pFLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDOUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzFCLENBQUE7WUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7aUJBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEIsQ0FBQTtRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0MsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3hFLENBQUE7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNuQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2lCQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUFBO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxZQUFZLE1BQU0sRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFBO1lBQzlELE9BQU8saUNBQWlDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQzdFLENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0QsT0FBTyxpQ0FBaUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFBO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFBO1FBQ3JELE9BQU8scUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFnQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QixDQUFDOytHQXBGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw0S0N4RGxDLGk3U0FxUkEsMFNEaFBJLFlBQVksK1BBQ1osZUFBZSxtT0FDZix1QkFBdUIsNEdBQ3ZCLHdCQUF3QixtR0FDeEIsY0FBYyw2SEFDZCxxQkFBcUIsdUdBQ3JCLGtCQUFrQiw0SEFDbEIsaUJBQWlCLGtGQUNqQix1QkFBdUIsMkhBQ3ZCLE1BQU0sNkdBQ04sb0JBQW9CLCtDQUVQO1lBQ2IsWUFBWSxDQUFDO2dCQUNYLFlBQVk7Z0JBQ1osY0FBYzthQUNmLENBQUM7U0FDSDs7NEZBRVUscUJBQXFCO2tCQTFCakMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsTUFBTTt3QkFDTixvQkFBb0I7cUJBQ3JCLGlCQUNjO3dCQUNiLFlBQVksQ0FBQzs0QkFDWCxZQUFZOzRCQUNaLGNBQWM7eUJBQ2YsQ0FBQztxQkFDSDs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRSZWNvcmQsXG4gIEtleXdvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IGdldFRlbXBvcmFsUmFuZ2VVbmlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgTWFya2Rvd25QYXJzZXJDb21wb25lbnQgfSBmcm9tICcuLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgTWF4TGluZXNDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBCYWRnZUNvbXBvbmVudCxcbiAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IENvbnRlbnRHaG9zdENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRlbnQtZ2hvc3QvY29udGVudC1naG9zdC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgbWF0T3BlbkluTmV3IH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgbWF0TWFpbE91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuaW1wb3J0IHsgR25VaUxpbmtpZnlEaXJlY3RpdmUgfSBmcm9tICcuL2xpbmtpZnkuZGlyZWN0aXZlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhZGF0YS1pbmZvLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBDb250ZW50R2hvc3RDb21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1heExpbmVzQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIE5nSWNvbixcbiAgICBHblVpTGlua2lmeURpcmVjdGl2ZSxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRPcGVuSW5OZXcsXG4gICAgICBtYXRNYWlsT3V0bGluZSxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFJbmZvQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbWV0YWRhdGE6IFBhcnRpYWw8RGF0YXNldFJlY29yZD5cbiAgQElucHV0KCkgaW5jb21wbGV0ZTogYm9vbGVhblxuICBAT3V0cHV0KCkga2V5d29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5d29yZD4oKVxuICB1cGRhdGVkVGltZXM6IG51bWJlclxuXG4gIGdldCBoYXNVc2FnZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tZXRhZGF0YS5leHRyYXM/LmlzT3BlbkRhdGEgPT09IHRydWUgfHxcbiAgICAgICh0aGlzLm1ldGFkYXRhLmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgdGhpcy5sZWdhbENvbnN0cmFpbnRzLmxlbmd0aCA+IDApIHx8XG4gICAgICAodGhpcy5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzPy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMub3RoZXJDb25zdHJhaW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMubWV0YWRhdGEubGljZW5zZXM/Lmxlbmd0aCA+IDAgJiYgdGhpcy5saWNlbnNlcy5sZW5ndGggPiAwKVxuICAgIClcbiAgfVxuXG4gIGdldCBsZWdhbENvbnN0cmFpbnRzKCkge1xuICAgIGxldCBhcnJheSA9IFtdXG4gICAgaWYgKHRoaXMubWV0YWRhdGEubGVnYWxDb25zdHJhaW50cz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBsaWNlbnNlc1RleHRzID0gdGhpcy5tZXRhZGF0YS5saWNlbnNlcy5tYXAoXG4gICAgICAgIChsaWNlbnNlKSA9PiBsaWNlbnNlLnRleHRcbiAgICAgIClcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLmxlZ2FsQ29uc3RyYWludHNcbiAgICAgICAgICAuZmlsdGVyKChjKSA9PiBjLnRleHQgJiYgIWxpY2Vuc2VzVGV4dHMuaW5jbHVkZXMoYy50ZXh0KSlcbiAgICAgICAgICAubWFwKChjKSA9PiBjLnRleHQpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhcnJheVxuICB9XG5cbiAgZ2V0IG90aGVyQ29uc3RyYWludHMoKSB7XG4gICAgbGV0IGFycmF5ID0gW11cbiAgICBpZiAodGhpcy5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLm90aGVyQ29uc3RyYWludHMuZmlsdGVyKChjKSA9PiBjLnRleHQpLm1hcCgoYykgPT4gYy50ZXh0KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlcbiAgfVxuXG4gIGdldCBsaWNlbnNlcygpOiB7IHRleHQ6IHN0cmluZzsgdXJsOiBzdHJpbmcgfVtdIHtcbiAgICBsZXQgYXJyYXkgPSBbXVxuICAgIGlmICh0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzPy5sZW5ndGgpIHtcbiAgICAgIGFycmF5ID0gYXJyYXkuY29uY2F0KFxuICAgICAgICB0aGlzLm1ldGFkYXRhLmxpY2Vuc2VzXG4gICAgICAgICAgLmZpbHRlcigoYykgPT4gYy50ZXh0KVxuICAgICAgICAgIC5tYXAoKGMpID0+ICh7IHRleHQ6IGMudGV4dCwgdXJsOiBjLnVybCB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5XG4gIH1cblxuICBnZXQgdXBkYXRlRnJlcXVlbmN5KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICB0aGlzLnVwZGF0ZWRUaW1lcyA9IHRoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnVwZGF0ZWRUaW1lc1xuICAgICAgcmV0dXJuIGBkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS4ke3RoaXMubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5LnBlcn1gXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3kgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYGRvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LiR7dGhpcy5tZXRhZGF0YS51cGRhdGVGcmVxdWVuY3l9YFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgZ2V0IHRlbXBvcmFsRXh0ZW50KCk6IHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgdGVtcG9yYWxFeHRlbnRzID0gdGhpcy5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudHNcbiAgICByZXR1cm4gZ2V0VGVtcG9yYWxSYW5nZVVuaW9uKHRlbXBvcmFsRXh0ZW50cylcbiAgfVxuXG4gIGdldCBzaG93bk9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IHJlc291cmNlQ29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YS5jb250YWN0c0ZvclJlc291cmNlPy5bMF1cbiAgfVxuXG4gIGZpZWxkUmVhZHkocHJvcE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiAhdGhpcy5pbmNvbXBsZXRlIHx8IHByb3BOYW1lIGluIHRoaXMubWV0YWRhdGFcbiAgfVxuXG4gIG9uS2V5d29yZENsaWNrKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICB0aGlzLmtleXdvcmQuZW1pdChrZXl3b3JkKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNiBtZC1kZXNjcmlwdGlvbiBzbTptYi00IHNtOnByLTE2XCI+XG4gIDxnbi11aS1jb250ZW50LWdob3N0XG4gICAgZ2hvc3RDbGFzcz1cImgtWzE3OHB4XVwiXG4gICAgW3Nob3dDb250ZW50XT1cImZpZWxkUmVhZHkoJ2Fic3RyYWN0JylcIlxuICA+XG4gICAgPGduLXVpLW1heC1saW5lcyBbbWF4TGluZXNdPVwiNlwiICpuZ0lmPVwibWV0YWRhdGEuYWJzdHJhY3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi02XCI+XG4gICAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXJcbiAgICAgICAgICBbdGV4dENvbnRlbnRdPVwibWV0YWRhdGEuYWJzdHJhY3RcIlxuICAgICAgICA+PC9nbi11aS1tYXJrZG93bi1wYXJzZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2duLXVpLW1heC1saW5lcz5cbiAgPC9nbi11aS1jb250ZW50LWdob3N0PlxuXG4gIDxwXG4gICAgY2xhc3M9XCJtdC02IG1iLTMgZm9udC1tZWRpdW0gdGV4dC1wcmltYXJ5IHRleHQtc21cIlxuICAgIHRyYW5zbGF0ZVxuICAgICpuZ0lmPVwiIWZpZWxkUmVhZHkoJ2tleXdvcmRzJykgfHwgbWV0YWRhdGEua2V5d29yZHM/Lmxlbmd0aFwiXG4gID5cbiAgICByZWNvcmQubWV0YWRhdGEua2V5d29yZHNcbiAgPC9wPlxuXG4gIDxnbi11aS1jb250ZW50LWdob3N0XG4gICAgZ2hvc3RDbGFzcz1cImgtWzMxcHhdIHctMy80XCJcbiAgICBbc2hvd0NvbnRlbnRdPVwiZmllbGRSZWFkeSgna2V5d29yZHMnKVwiXG4gID5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEua2V5d29yZHM/Lmxlbmd0aFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNtOnBiLTQgZmxleCBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgICAgPGduLXVpLWJhZGdlXG4gICAgICAgICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgbG93ZXJjYXNlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25LZXl3b3JkQ2xpY2soa2V5d29yZClcIlxuICAgICAgICAgIFtjbGlja2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGtleXdvcmQgb2YgbWV0YWRhdGEua2V5d29yZHNcIlxuICAgICAgICAgID57eyBrZXl3b3JkLmxhYmVsIH19PC9nbi11aS1iYWRnZVxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9nbi11aS1jb250ZW50LWdob3N0PlxuPC9kaXY+XG5cbjxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICpuZ0lmPVwiXG4gICAgbWV0YWRhdGEubGljZW5zZXMgfHxcbiAgICBtZXRhZGF0YS5sZWdhbENvbnN0cmFpbnRzIHx8XG4gICAgbWV0YWRhdGEuc2VjdXJpdHlDb25zdHJhaW50cyB8fFxuICAgIG1ldGFkYXRhLm90aGVyQ29uc3RyYWludHNcbiAgXCJcbiAgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEudXNhZ2UnIHwgdHJhbnNsYXRlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLVsxMHB4XSBtci00IHB5LVsxMnB4XSByb3VuZGVkIHRleHQtZ3JheS05MDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaWNlbnNlIG9mIGxpY2Vuc2VzXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibGljZW5zZS51cmw7IGVsc2Ugbm9VcmxcIiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPlxuICAgICAgICA8YVxuICAgICAgICAgIFtocmVmXT1cImxpY2Vuc2UudXJsXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaG92ZXI6dW5kZXJsaW5lIHRyYW5zaXRpb24tYWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxpY2Vuc2UudGV4dCB9fVxuICAgICAgICAgIDxuZy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIiF3LVsxMnB4XSAhaC1bMTJweF0gIXRleHQtWzEycHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdE9wZW5Jbk5ld1wiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI25vVXJsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5XCIgZ25VaUxpbmtpZnk+XG4gICAgICAgICAge3sgbGljZW5zZS50ZXh0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGVnYWxDb25zdHJhaW50cy5sZW5ndGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi02XCI+XG4gICAgICAgIDxnbi11aS1tYXJrZG93bi1wYXJzZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29uc3RyYWludCBvZiBsZWdhbENvbnN0cmFpbnRzXCJcbiAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29uc3RyYWludFwiXG4gICAgICAgID5cbiAgICAgICAgPC9nbi11aS1tYXJrZG93bi1wYXJzZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3RoZXJDb25zdHJhaW50cy5sZW5ndGhcIj5cbiAgICAgIDxkaXYgZ25VaUxpbmtpZnkgKm5nRm9yPVwibGV0IGNvbnN0cmFpbnQgb2Ygb3RoZXJDb25zdHJhaW50c1wiPlxuICAgICAgICA8aDUgdHJhbnNsYXRlIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1ibGFjayB0ZXh0LXNtIG1iLVsycHhdIG10LVsxNnB4XVwiPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5vdGhlckNvbnN0cmFpbnRzXG4gICAgICAgIDwvaDU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi02XCI+XG4gICAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlciBbdGV4dENvbnRlbnRdPVwiY29uc3RyYWludFwiPlxuICAgICAgICAgIDwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJub1VzYWdlXCIgKm5nSWY9XCIhaGFzVXNhZ2VcIj5cbiAgICAgIHt7ICdyZWNvcmQubWV0YWRhdGEubm9Vc2FnZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsPlxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgKm5nSWY9XCJcbiAgICBtZXRhZGF0YS5saW5lYWdlIHx8XG4gICAgbWV0YWRhdGEucmVzb3VyY2VVcGRhdGVkIHx8XG4gICAgbWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5IHx8XG4gICAgbWV0YWRhdGEuc3RhdHVzXG4gIFwiXG4gIFt0aXRsZV09XCIncmVjb3JkLm1ldGFkYXRhLmRldGFpbHMnIHwgdHJhbnNsYXRlXCJcbj5cbiAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLmxpbmVhZ2VcIiBjbGFzcz1cInRleHQtZ3JheS05MDAgZmxleCBmbGV4LWNvbCBtdC00IGdhcC0yXCI+XG4gICAgPHAgY2xhc3M9XCJ3aGl0ZXNwYWNlLXByZS1saW5lIGJyZWFrLXdvcmRzIHRleHQtZ3JheS05MDBcIiBnblVpTGlua2lmeT5cbiAgICAgIHt7IG1ldGFkYXRhLmxpbmVhZ2UgfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNiBtdC01IG1iLThcIiAqbmdJZj1cInJlc291cmNlQ29udGFjdFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbj8ubG9nb1VybD8uaHJlZlwiXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1zb2xpZCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgYmctd2hpdGUgaC0zMiBvdmVyZmxvdy1oaWRkZW5cIlxuICAgID5cbiAgICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLWZ1bGwgdy1mdWxsXCJcbiAgICAgICAgW3RodW1ibmFpbFVybF09XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uLmxvZ29VcmwuaHJlZlwiXG4gICAgICAgIGZpdD1cImNvbnRhaW5cIlxuICAgICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnByb2R1Y2VyPC9wPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LXRpdGxlIHRleHQtMjEgbXItMiBjdXJzb3ItcG9pbnRlciBob3Zlcjp1bmRlcmxpbmVcIlxuICAgICAgICBkYXRhLWN5PVwib3JnYW5pemF0aW9uLW5hbWVcIlxuICAgICAgPlxuICAgICAgICB7eyByZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uPy5uYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3Qub3JnYW5pemF0aW9uPy53ZWJzaXRlXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgW2hyZWZdPVwicmVzb3VyY2VDb250YWN0Lm9yZ2FuaXphdGlvbi53ZWJzaXRlXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGNsYXNzPVwiY29udGFjdC13ZWJzaXRlIHRleHQtcHJpbWFyeSB0ZXh0LXNtIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZSB0cmFuc2l0aW9uLWFsbFwiXG4gICAgICAgICAgPnt7IHJlc291cmNlQ29udGFjdC5vcmdhbml6YXRpb24ud2Vic2l0ZSB9fVxuICAgICAgICAgIDxuZy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIiF3LVsxMnB4XSAhaC1bMTJweF0gIXRleHQtWzEycHhdIG9wYWNpdHktNzUgc2hyaW5rLTBcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdE9wZW5Jbk5ld1wiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNFwiICpuZ0lmPVwicmVzb3VyY2VDb250YWN0LmVtYWlsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiIXctNSAhaC01ICF0ZXh0LVsyMHB4XSBvcGFjaXR5LTc1IHNocmluay0wXCJcbiAgICAgICAgICAgIG5hbWU9XCJtYXRNYWlsT3V0bGluZVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgKm5nSWY9XCJyZXNvdXJjZUNvbnRhY3QuZW1haWxcIlxuICAgICAgICAgICAgW2hyZWZdPVwiJ21haWx0bzonICsgcmVzb3VyY2VDb250YWN0LmVtYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBob3Zlcjp1bmRlcmxpbmUgbWwtMlwiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgPnt7IHJlc291cmNlQ29udGFjdD8uZW1haWwgfX08L2FcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJweS02IHB4LTYgcm91bmRlZCBiZy1ncmF5LTEwMCBncmlkIGdyaWQtY29scy0yIGdhcC15LTYgZ2FwLXgtWzIwcHhdIHRleHQtZ3JheS03MDBcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlc291cmNlQ3JlYXRlZFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5jcmVhdGlvbjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIG10LTFcIj5cbiAgICAgICAge3sgbWV0YWRhdGEucmVzb3VyY2VDcmVhdGVkLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlc291cmNlUHVibGlzaGVkXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnB1YmxpY2F0aW9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW0gbXQtMVwiPlxuICAgICAgICB7eyBtZXRhZGF0YS5yZXNvdXJjZVB1Ymxpc2hlZC50b0xvY2FsZURhdGVTdHJpbmcoKSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ1cGRhdGVGcmVxdWVuY3lcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudXBkYXRlRnJlcXVlbmN5PC9wPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW0gbXQtMSB1cGRhdGVGcmVxdWVuY3lcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7IGNvdW50OiB1cGRhdGVkVGltZXMgfVwiXG4gICAgICA+XG4gICAgICAgIHt7IHVwZGF0ZUZyZXF1ZW5jeSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS5vdGhlckxhbmd1YWdlcz8ubGVuZ3RoXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc20gbWItMVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEubGFuZ3VhZ2VzPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTEgZmxleC13cmFwXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBtZXRhZGF0YS5vdGhlckxhbmd1YWdlc1wiXG4gICAgICAgID5cbiAgICAgICAgICBsYW5ndWFnZS57eyBsYW5ndWFnZSB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGVtcG9yYWxFeHRlbnRcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudGVtcG9yYWxFeHRlbnQ8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMSBtYi0xIHRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiPlxuICAgICAgICA8cFxuICAgICAgICAgICpuZ0lmPVwidGVtcG9yYWxFeHRlbnQuc3RhcnQgJiYgdGVtcG9yYWxFeHRlbnQuZW5kXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cIntcbiAgICAgICAgICAgIHN0YXJ0OiB0ZW1wb3JhbEV4dGVudC5zdGFydCxcbiAgICAgICAgICAgIGVuZDogdGVtcG9yYWxFeHRlbnQuZW5kLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLnRlbXBvcmFsRXh0ZW50LmZyb21EYXRlVG9EYXRlXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cInRlbXBvcmFsRXh0ZW50LnN0YXJ0ICYmICF0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBzdGFydDogdGVtcG9yYWxFeHRlbnQuc3RhcnQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEudGVtcG9yYWxFeHRlbnQuc2luY2VEYXRlXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cIiF0ZW1wb3JhbEV4dGVudC5zdGFydCAmJiB0ZW1wb3JhbEV4dGVudC5lbmRcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBlbmQ6IHRlbXBvcmFsRXh0ZW50LmVuZCB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS50ZW1wb3JhbEV4dGVudC51bnRpbERhdGVcbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsPlxuPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgKm5nSWY9XCJtZXRhZGF0YS5sYW5kaW5nUGFnZVwiXG4gIFt0aXRsZV09XCIncmVjb3JkLm1ldGFkYXRhLnRlY2huaWNhbCcgfCB0cmFuc2xhdGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBtci00IHB5LTUgcm91bmRlZCB0ZXh0LWdyYXktNzAwXCI+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLnJlY29yZFVwZGF0ZWRcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudXBkYXRlZE9uPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3sgbWV0YWRhdGEucmVjb3JkVXBkYXRlZCAmJiBtZXRhZGF0YS5yZWNvcmRVcGRhdGVkLnRvTG9jYWxlU3RyaW5nKCkgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuc2hlZXQ8L3A+XG4gICAgICA8cCBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgPGEgW2hyZWZdPVwibWV0YWRhdGEubGFuZGluZ1BhZ2VcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJyZWFrLWFsbFwiIGduVWlMaW5raWZ5Pnt7IG1ldGFkYXRhLmxhbmRpbmdQYWdlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1ldGFkYXRhLm93bmVyT3JnYW5pemF0aW9uXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLm93bmVyPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cbiAgICAgICAge3sgbWV0YWRhdGEub3duZXJPcmdhbml6YXRpb24ubmFtZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVuaXF1ZUlkPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgY29udGVudC1hbGlnbiBpdGVtcy1lbmQgZ2FwLTFcIj5cbiAgICAgICAgPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgICAgICAgICBbdGV4dF09XCJtZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ3Rvb2x0aXAuaWQuY29weScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNwbGF5VGV4dF09XCJmYWxzZVwiXG4gICAgICAgID48L2duLXVpLWNvcHktdGV4dC1idXR0b24+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAge3sgbWV0YWRhdGEudW5pcXVlSWRlbnRpZmllciB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGEudG9waWNzPy5sZW5ndGhcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSBtYi0xXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS50b3BpY3M8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic206cGItNCBzbTpwci0xNlwiPlxuICAgICAgICA8Z24tdWktYmFkZ2VcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9jayBtci0yIG1iLTIgbG93ZXJjYXNlXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdG9waWMgb2YgbWV0YWRhdGEudG9waWNzXCJcbiAgICAgICAgICA+e3sgdG9waWMgfX08L2duLXVpLWJhZGdlXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZ24tdWktZXhwYW5kYWJsZS1wYW5lbD5cbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { MetadataQualityItemComponent, } from '../metadata-quality-item/metadata-quality-item.component';
3
+ import { PopoverComponent, ProgressBarComponent, } from '../../../../../../libs/ui/widgets/src';
4
+ import { CommonModule } from '@angular/common';
5
+ import { TranslateModule } from '@ngx-translate/core';
2
6
  import * as i0 from "@angular/core";
3
7
  import * as i1 from "@angular/common";
4
- import * as i2 from "../../../../widgets/src/lib/progress-bar/progress-bar.component";
5
- import * as i3 from "@ngx-translate/core";
6
- import * as i4 from "../../../../widgets/src/lib/popover/popover.component";
7
- import * as i5 from "../metadata-quality-item/metadata-quality-item.component";
8
+ import * as i2 from "@ngx-translate/core";
8
9
  export class MetadataQualityComponent {
9
10
  constructor() {
10
11
  this.smaller = false;
@@ -41,12 +42,18 @@ export class MetadataQualityComponent {
41
42
  this.initialize();
42
43
  }
43
44
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <gn-ui-popover [content]=\"popoverItems\" theme=\"light-border\">\n <div class=\"min-w-[200px]\" [class]=\"smaller ? 'leading-[8px]' : ''\">\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n type=\"primary\"\n ></gn-ui-progress-bar>\n </div>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: i5.MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <gn-ui-popover [content]=\"popoverItems\" theme=\"light-border\">\n <div class=\"min-w-[200px]\" [class]=\"smaller ? 'leading-[8px]' : ''\">\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n type=\"primary\"\n ></gn-ui-progress-bar>\n </div>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
47
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataQualityComponent, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
48
49
  type: Component,
49
- args: [{ selector: 'gn-ui-metadata-quality', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <gn-ui-popover [content]=\"popoverItems\" theme=\"light-border\">\n <div class=\"min-w-[200px]\" [class]=\"smaller ? 'leading-[8px]' : ''\">\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n type=\"primary\"\n ></gn-ui-progress-bar>\n </div>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
50
+ args: [{ selector: 'gn-ui-metadata-quality', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
51
+ CommonModule,
52
+ PopoverComponent,
53
+ ProgressBarComponent,
54
+ MetadataQualityItemComponent,
55
+ TranslateModule,
56
+ ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <gn-ui-popover [content]=\"popoverItems\" theme=\"light-border\">\n <div class=\"min-w-[200px]\" [class]=\"smaller ? 'leading-[8px]' : ''\">\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n type=\"primary\"\n ></gn-ui-progress-bar>\n </div>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
50
57
  }], propDecorators: { metadata: [{
51
58
  type: Input
52
59
  }], smaller: [{
@@ -54,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
61
  }], metadataQualityDisplay: [{
55
62
  type: Input
56
63
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBOzs7Ozs7O0FBVXRCLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFRVyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBR3hCLFVBQUssR0FBMEIsRUFBRSxDQUFBO0tBdUNsQztJQXJDQyxJQUFJLFlBQVk7UUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUE7UUFDeEQsT0FBTyxPQUFPLFlBQVksS0FBSyxRQUFRO1lBQ3JDLENBQUMsQ0FBQyxZQUFZO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQzNFLENBQUE7SUFDSCxDQUFDO0lBRU8sR0FBRyxDQUFDLElBQVksRUFBRSxLQUFjO1FBQ3RDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7U0FDakM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7U0FDbEI7SUFDSCxDQUFDOytHQTNDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwyTENoQnJDLG90QkFxQkE7OzRGRExhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlJdGVtIH0gZnJvbSAnLi4vbWV0YWRhdGEtcXVhbGl0eS1pdGVtL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1xdWFsaXR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+XG4gIEBJbnB1dCgpIHNtYWxsZXIgPSBmYWxzZVxuICBASW5wdXQoKSBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5OiBib29sZWFuXG5cbiAgaXRlbXM6IE1ldGFkYXRhUXVhbGl0eUl0ZW1bXSA9IFtdXG5cbiAgZ2V0IHF1YWxpdHlTY29yZSgpIHtcbiAgICBjb25zdCBxdWFsaXR5U2NvcmUgPSB0aGlzLm1ldGFkYXRhPy5leHRyYXM/LnF1YWxpdHlTY29yZVxuICAgIHJldHVybiB0eXBlb2YgcXVhbGl0eVNjb3JlID09PSAnbnVtYmVyJ1xuICAgICAgPyBxdWFsaXR5U2NvcmVcbiAgICAgIDogdGhpcy5jYWxjdWxhdGVkUXVhbGl0eVNjb3JlXG4gIH1cblxuICBnZXQgY2FsY3VsYXRlZFF1YWxpdHlTY29yZSgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKFxuICAgICAgKHRoaXMuaXRlbXMuZmlsdGVyKCh7IHZhbHVlIH0pID0+IHZhbHVlKS5sZW5ndGggKiAxMDApIC8gdGhpcy5pdGVtcy5sZW5ndGhcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFkZChuYW1lOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGFRdWFsaXR5RGlzcGxheT8uW25hbWVdICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5pdGVtcy5wdXNoKHsgbmFtZSwgdmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIGNvbnN0IGNvbnRhY3QgPSB0aGlzLm1ldGFkYXRhPy5jb250YWN0cz8uWzBdXG4gICAgdGhpcy5pdGVtcyA9IFtdXG4gICAgdGhpcy5hZGQoJ3RpdGxlJywgISF0aGlzLm1ldGFkYXRhPy50aXRsZSlcbiAgICB0aGlzLmFkZCgnZGVzY3JpcHRpb24nLCAhIXRoaXMubWV0YWRhdGE/LmFic3RyYWN0KVxuICAgIHRoaXMuYWRkKCd0b3BpYycsIHRoaXMubWV0YWRhdGE/LnRvcGljcz8ubGVuZ3RoID4gMClcbiAgICB0aGlzLmFkZCgna2V5d29yZHMnLCB0aGlzLm1ldGFkYXRhPy5rZXl3b3Jkcz8ubGVuZ3RoID4gMClcbiAgICB0aGlzLmFkZCgnbGVnYWxDb25zdHJhaW50cycsIHRoaXMubWV0YWRhdGE/LmxlZ2FsQ29uc3RyYWludHM/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ29yZ2FuaXNhdGlvbicsICEhY29udGFjdD8ub3JnYW5pemF0aW9uKVxuICAgIHRoaXMuYWRkKCdjb250YWN0JywgISFjb250YWN0Py5lbWFpbClcbiAgICB0aGlzLmFkZCgndXBkYXRlRnJlcXVlbmN5JywgISF0aGlzLm1ldGFkYXRhPy51cGRhdGVGcmVxdWVuY3kpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ21ldGFkYXRhJ10gfHwgY2hhbmdlc1snbWV0YWRhdGFRdWFsaXR5RGlzcGxheSddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemUoKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIiBjbGFzcz1cIm1iLTYgbWV0YWRhdGEtcXVhbGl0eVwiPlxuICA8Z24tdWktcG9wb3ZlciBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIiB0aGVtZT1cImxpZ2h0LWJvcmRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaW4tdy1bMjAwcHhdXCIgW2NsYXNzXT1cInNtYWxsZXIgPyAnbGVhZGluZy1bOHB4XScgOiAnJ1wiPlxuICAgICAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbdmFsdWVdPVwicXVhbGl0eVNjb3JlXCJcbiAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICA8L2duLXVpLXBvcG92ZXI+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBmb250LWJvbGRcIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuZGV0YWlsczwvZGl2PlxuICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5LWl0ZW1cbiAgICAgICpuZ0Zvcj1cImxldCBlIG9mIGl0ZW1zXCJcbiAgICAgIFtuYW1lXT1cImUubmFtZVwiXG4gICAgICBbdmFsdWVdPVwiZS52YWx1ZVwiXG4gICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7QUFnQnJELE1BQU0sT0FBTyx3QkFBd0I7SUFkckM7UUFnQlcsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUd4QixVQUFLLEdBQTBCLEVBQUUsQ0FBQTtLQXVDbEM7SUFyQ0MsSUFBSSxZQUFZO1FBQ2QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFBO1FBQ3hELE9BQU8sT0FBTyxZQUFZLEtBQUssUUFBUTtZQUNyQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMzRSxDQUFBO0lBQ0gsQ0FBQztJQUVPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYztRQUN0QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDOytHQTNDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrTUNqQ3JDLG90QkFxQkEsMkhES0ksWUFBWSxnUUFDWixnQkFBZ0Isd0ZBQ2hCLG9CQUFvQiwwRkFDcEIsNEJBQTRCLGtHQUM1QixlQUFlOzs0RkFHTix3QkFBd0I7a0JBZHBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLGVBQWU7cUJBQ2hCOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNZXRhZGF0YVF1YWxpdHlJdGVtLFxuICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxufSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1ldGFkYXRhLXF1YWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuXG4gIGl0ZW1zOiBNZXRhZGF0YVF1YWxpdHlJdGVtW10gPSBbXVxuXG4gIGdldCBxdWFsaXR5U2NvcmUoKSB7XG4gICAgY29uc3QgcXVhbGl0eVNjb3JlID0gdGhpcy5tZXRhZGF0YT8uZXh0cmFzPy5xdWFsaXR5U2NvcmVcbiAgICByZXR1cm4gdHlwZW9mIHF1YWxpdHlTY29yZSA9PT0gJ251bWJlcidcbiAgICAgID8gcXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY2FsY3VsYXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNhbGN1bGF0ZWRRdWFsaXR5U2NvcmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICh0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkubGVuZ3RoICogMTAwKSAvIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGQobmFtZTogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUXVhbGl0eURpc3BsYXk/LltuYW1lXSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh7IG5hbWUsIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCBjb250YWN0ID0gdGhpcy5tZXRhZGF0YT8uY29udGFjdHM/LlswXVxuICAgIHRoaXMuaXRlbXMgPSBbXVxuICAgIHRoaXMuYWRkKCd0aXRsZScsICEhdGhpcy5tZXRhZGF0YT8udGl0bGUpXG4gICAgdGhpcy5hZGQoJ2Rlc2NyaXB0aW9uJywgISF0aGlzLm1ldGFkYXRhPy5hYnN0cmFjdClcbiAgICB0aGlzLmFkZCgndG9waWMnLCB0aGlzLm1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2tleXdvcmRzJywgdGhpcy5tZXRhZGF0YT8ua2V5d29yZHM/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2xlZ2FsQ29uc3RyYWludHMnLCB0aGlzLm1ldGFkYXRhPy5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwKVxuICAgIHRoaXMuYWRkKCdvcmdhbmlzYXRpb24nLCAhIWNvbnRhY3Q/Lm9yZ2FuaXphdGlvbilcbiAgICB0aGlzLmFkZCgnY29udGFjdCcsICEhY29udGFjdD8uZW1haWwpXG4gICAgdGhpcy5hZGQoJ3VwZGF0ZUZyZXF1ZW5jeScsICEhdGhpcy5tZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydtZXRhZGF0YSddIHx8IGNoYW5nZXNbJ21ldGFkYXRhUXVhbGl0eURpc3BsYXknXSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCIgY2xhc3M9XCJtYi02IG1ldGFkYXRhLXF1YWxpdHlcIj5cbiAgPGduLXVpLXBvcG92ZXIgW2NvbnRlbnRdPVwicG9wb3Zlckl0ZW1zXCIgdGhlbWU9XCJsaWdodC1ib3JkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWluLXctWzIwMHB4XVwiIFtjbGFzc109XCJzbWFsbGVyID8gJ2xlYWRpbmctWzhweF0nIDogJydcIj5cbiAgICAgIDxnbi11aS1wcm9ncmVzcy1iYXJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgW3ZhbHVlXT1cInF1YWxpdHlTY29yZVwiXG4gICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAgID48L2duLXVpLXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cbiAgPC9nbi11aS1wb3BvdmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,8 +1,10 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { NgIcon, provideIcons } from '@ng-icons/core';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { matCheck, matWarningAmber } from '@ng-icons/material-icons/baseline';
3
6
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/icon";
5
- import * as i2 from "@ngx-translate/core";
7
+ import * as i1 from "@ngx-translate/core";
6
8
  marker('record.metadata.quality.title.success');
7
9
  marker('record.metadata.quality.title.failed');
8
10
  marker('record.metadata.quality.description.success');
@@ -21,20 +23,20 @@ marker('record.metadata.quality.organisation.success');
21
23
  marker('record.metadata.quality.organisation.failed');
22
24
  export class MetadataQualityItemComponent {
23
25
  get icon() {
24
- return this.value ? 'check' : 'warning';
26
+ return this.value ? 'matCheck' : 'matWarningAmber';
25
27
  }
26
28
  get labelKey() {
27
29
  return `record.metadata.quality.${this.name}.${this.value ? 'success' : 'failed'}`;
28
30
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataQualityItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: { name: "name", value: "value" }, ngImport: i0, template: "<div class=\"ml-4 flex flex-row\">\n <mat-icon class=\"material-symbols-outlined min-w-fit\">{{ icon }}</mat-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n", dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityItemComponent, isStandalone: true, selector: "gn-ui-metadata-quality-item", inputs: { name: "name", value: "value" }, ngImport: i0, template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], viewProviders: [provideIcons({ matCheck, matWarningAmber })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
33
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataQualityItemComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityItemComponent, decorators: [{
33
35
  type: Component,
34
- args: [{ selector: 'gn-ui-metadata-quality-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ml-4 flex flex-row\">\n <mat-icon class=\"material-symbols-outlined min-w-fit\">{{ icon }}</mat-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n" }]
36
+ args: [{ selector: 'gn-ui-metadata-quality-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIcon, TranslateModule], viewProviders: [provideIcons({ matCheck, matWarningAmber })], template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n" }]
35
37
  }], propDecorators: { name: [{
36
38
  type: Input
37
39
  }], value: [{
38
40
  type: Input
39
41
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7OztBQUVoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQTtBQUMxRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtBQUN4RCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQVlyRCxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDekMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sMkJBQTJCLElBQUksQ0FBQyxJQUFJLElBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFDM0IsRUFBRSxDQUFBO0lBQ0osQ0FBQzsrR0FaVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw2R0M5QnpDLHdMQUlBOzs0RkQwQmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcblxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50aXRsZS5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuZGVzY3JpcHRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRvcGljLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5rZXl3b3Jkcy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkubGVnYWxDb25zdHJhaW50cy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkubGVnYWxDb25zdHJhaW50cy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jb250YWN0LnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jb250YWN0LmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudXBkYXRlRnJlcXVlbmN5LmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkub3JnYW5pc2F0aW9uLmZhaWxlZCcpXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFRdWFsaXR5SXRlbSB7XG4gIG5hbWU6IHN0cmluZ1xuICB2YWx1ZTogYm9vbGVhblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tZXRhZGF0YS1xdWFsaXR5LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBNZXRhZGF0YVF1YWxpdHlJdGVtIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuXG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAnY2hlY2snIDogJ3dhcm5pbmcnXG4gIH1cblxuICBnZXQgbGFiZWxLZXkoKSB7XG4gICAgcmV0dXJuIGByZWNvcmQubWV0YWRhdGEucXVhbGl0eS4ke3RoaXMubmFtZX0uJHtcbiAgICAgIHRoaXMudmFsdWUgPyAnc3VjY2VzcycgOiAnZmFpbGVkJ1xuICAgIH1gXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtbC00IGZsZXggZmxleC1yb3dcIj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtaW4tdy1maXRcIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgPHAgY2xhc3M9XCJtbC0yIHRleHRcIj57eyBsYWJlbEtleSB8IHRyYW5zbGF0ZSB9fTwvcD5cbjwvZGl2PlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7QUFFN0UsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFlckQsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUE7SUFDcEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sMkJBQTJCLElBQUksQ0FBQyxJQUFJLElBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFDM0IsRUFBRSxDQUFBO0lBQ0osQ0FBQzsrR0FaVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixpSUNwQ3pDLGtLQUlBLDRDRDZCWSxNQUFNLDRHQUFFLGVBQWUsaUZBQ2xCLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OzRGQUVqRCw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsaUJBQ25CLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OEJBR25ELElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5kZXNjcmlwdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudG9waWMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmtleXdvcmRzLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5mYWlsZWQnKVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBuYW1lOiBzdHJpbmdcbiAgdmFsdWU6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJY29uLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Q2hlY2ssIG1hdFdhcm5pbmdBbWJlciB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBNZXRhZGF0YVF1YWxpdHlJdGVtIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuXG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAnbWF0Q2hlY2snIDogJ21hdFdhcm5pbmdBbWJlcidcbiAgfVxuXG4gIGdldCBsYWJlbEtleSgpIHtcbiAgICByZXR1cm4gYHJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LiR7dGhpcy5uYW1lfS4ke1xuICAgICAgdGhpcy52YWx1ZSA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnXG4gICAgfWBcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1sLTQgZmxleCBmbGV4LXJvd1wiPlxuICA8bmctaWNvbiBbbmFtZV09XCJpY29uXCIgY2xhc3M9XCJtaW4tdy1maXRcIj48L25nLWljb24+XG4gIDxwIGNsYXNzPVwibWwtMiB0ZXh0XCI+e3sgbGFiZWxLZXkgfCB0cmFuc2xhdGUgfX08L3A+XG48L2Rpdj5cbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { MatIconModule } from '@angular/material/icon';
4
3
  import { ButtonComponent } from '../../../../../../libs/ui/inputs/src';
4
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
5
+ import { matCheckCircleOutline } from '@ng-icons/material-icons/baseline';
6
+ import { matErrorOutlineOutline, matWarningAmberOutline, matInfoOutline, matCloseOutline, } from '@ng-icons/material-icons/outline';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/icon";
8
9
  export class NotificationComponent {
9
10
  constructor() {
10
11
  this.type = 'info';
@@ -14,12 +15,42 @@ export class NotificationComponent {
14
15
  event?.preventDefault();
15
16
  this.notificationClose.emit();
16
17
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NotificationComponent, isStandalone: true, selector: "gn-ui-notification", inputs: { type: "type", title: "title", text: "text", closeMessage: "closeMessage" }, outputs: { notificationClose: "notificationClose" }, ngImport: i0, template: "<div\n class=\"p-[16px] flex flex-row gap-[16px] items-start border border-gray-200 shadow-md rounded bg-background\"\n>\n <div\n role=\"alert\"\n class=\"rounded-full text-white p-[6px] w-[32px] h-[32px] flex shrink-0\"\n [ngClass]=\"{\n 'bg-red-500': type === 'error',\n 'bg-yellow-500': type === 'warning',\n 'bg-green-500': type === 'success',\n 'bg-blue-500': type === 'info'\n }\"\n [ngSwitch]=\"type\"\n >\n <mat-icon class=\"material-symbols-outlined !w-[18px] !h-[18px] text-[20px]\">\n <ng-container *ngSwitchCase=\"'success'\">check_circle</ng-container>\n <ng-container *ngSwitchCase=\"'info'\">info</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">warning</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">error</ng-container>\n </mat-icon>\n </div>\n <div\n class=\"flex flex-col items-start gap-[4px] pt-[3px] grow shrink overflow-hidden\"\n >\n <div class=\"font-bold text-[16px] text-gray-900\">\n {{ title }}\n </div>\n <div class=\"text-[14px] text-gray-800\">\n {{ text }}\n </div>\n <a\n href\n *ngIf=\"closeMessage\"\n class=\"text-[14px] gn-ui-link\"\n (click)=\"handleClose($event)\"\n >\n {{ closeMessage }}\n </a>\n </div>\n <gn-ui-button\n type=\"light\"\n class=\"shrink-0\"\n (buttonClick)=\"handleClose()\"\n [style.--gn-ui-button-padding]=\"0\"\n [style.--gn-ui-button-width]=\"'21px'\"\n [style.--gn-ui-button-height]=\"'21px'\"\n >\n <mat-icon class=\"material-symbols-outlined text-[22px] !w-[21px] !h-[21px]\"\n >close</mat-icon\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ getIconName(type) {
19
+ switch (type) {
20
+ case 'success':
21
+ return 'matCheckCircleOutline';
22
+ case 'info':
23
+ return 'matInfoOutline';
24
+ case 'warning':
25
+ return 'matWarningAmberOutline';
26
+ case 'error':
27
+ return 'matErrorOutlineOutline';
28
+ default:
29
+ return '';
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NotificationComponent, isStandalone: true, selector: "gn-ui-notification", inputs: { type: "type", title: "title", text: "text", closeMessage: "closeMessage" }, outputs: { notificationClose: "notificationClose" }, providers: [
34
+ provideIcons({
35
+ matCheckCircleOutline,
36
+ matErrorOutlineOutline,
37
+ matWarningAmberOutline,
38
+ matInfoOutline,
39
+ matCloseOutline,
40
+ }),
41
+ ], ngImport: i0, template: "<div\n class=\"p-[16px] flex flex-row gap-[16px] items-start border border-gray-200 shadow-md rounded bg-background\"\n>\n <div\n role=\"alert\"\n class=\"rounded-full text-white p-[6px] w-[32px] h-[32px] flex shrink-0\"\n [ngClass]=\"{\n 'bg-red-500': type === 'error',\n 'bg-yellow-500': type === 'warning',\n 'bg-green-500': type === 'success',\n 'bg-blue-500': type === 'info',\n }\"\n >\n <ng-icon\n class=\"!w-[20px] !h-[16px] text-[24px]\"\n [name]=\"getIconName(type)\"\n ></ng-icon>\n </div>\n <div\n class=\"flex flex-col items-start gap-[4px] pt-[3px] grow shrink overflow-hidden\"\n >\n <div class=\"font-bold text-[16px] text-gray-900\">\n {{ title }}\n </div>\n <div class=\"text-[14px] text-gray-800 whitespace-pre-wrap\">{{ text }}</div>\n <a\n href\n *ngIf=\"closeMessage\"\n class=\"text-[14px] gn-ui-link\"\n (click)=\"handleClose($event)\"\n >\n {{ closeMessage }}\n </a>\n </div>\n <gn-ui-button\n type=\"light\"\n class=\"shrink-0\"\n (buttonClick)=\"handleClose()\"\n [style.--gn-ui-button-padding]=\"0\"\n [style.--gn-ui-button-width]=\"'21px'\"\n [style.--gn-ui-button-height]=\"'21px'\"\n >\n <ng-icon\n class=\"text-[22px] !w-[21px] !h-[21px]\"\n name=\"matCloseOutline\"\n ></ng-icon>\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
42
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationComponent, decorators: [{
21
44
  type: Component,
22
- args: [{ selector: 'gn-ui-notification', standalone: true, imports: [CommonModule, MatIconModule, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[16px] flex flex-row gap-[16px] items-start border border-gray-200 shadow-md rounded bg-background\"\n>\n <div\n role=\"alert\"\n class=\"rounded-full text-white p-[6px] w-[32px] h-[32px] flex shrink-0\"\n [ngClass]=\"{\n 'bg-red-500': type === 'error',\n 'bg-yellow-500': type === 'warning',\n 'bg-green-500': type === 'success',\n 'bg-blue-500': type === 'info'\n }\"\n [ngSwitch]=\"type\"\n >\n <mat-icon class=\"material-symbols-outlined !w-[18px] !h-[18px] text-[20px]\">\n <ng-container *ngSwitchCase=\"'success'\">check_circle</ng-container>\n <ng-container *ngSwitchCase=\"'info'\">info</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">warning</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">error</ng-container>\n </mat-icon>\n </div>\n <div\n class=\"flex flex-col items-start gap-[4px] pt-[3px] grow shrink overflow-hidden\"\n >\n <div class=\"font-bold text-[16px] text-gray-900\">\n {{ title }}\n </div>\n <div class=\"text-[14px] text-gray-800\">\n {{ text }}\n </div>\n <a\n href\n *ngIf=\"closeMessage\"\n class=\"text-[14px] gn-ui-link\"\n (click)=\"handleClose($event)\"\n >\n {{ closeMessage }}\n </a>\n </div>\n <gn-ui-button\n type=\"light\"\n class=\"shrink-0\"\n (buttonClick)=\"handleClose()\"\n [style.--gn-ui-button-padding]=\"0\"\n [style.--gn-ui-button-width]=\"'21px'\"\n [style.--gn-ui-button-height]=\"'21px'\"\n >\n <mat-icon class=\"material-symbols-outlined text-[22px] !w-[21px] !h-[21px]\"\n >close</mat-icon\n >\n </gn-ui-button>\n</div>\n" }]
45
+ args: [{ selector: 'gn-ui-notification', standalone: true, imports: [CommonModule, ButtonComponent, NgIconComponent], providers: [
46
+ provideIcons({
47
+ matCheckCircleOutline,
48
+ matErrorOutlineOutline,
49
+ matWarningAmberOutline,
50
+ matInfoOutline,
51
+ matCloseOutline,
52
+ }),
53
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[16px] flex flex-row gap-[16px] items-start border border-gray-200 shadow-md rounded bg-background\"\n>\n <div\n role=\"alert\"\n class=\"rounded-full text-white p-[6px] w-[32px] h-[32px] flex shrink-0\"\n [ngClass]=\"{\n 'bg-red-500': type === 'error',\n 'bg-yellow-500': type === 'warning',\n 'bg-green-500': type === 'success',\n 'bg-blue-500': type === 'info',\n }\"\n >\n <ng-icon\n class=\"!w-[20px] !h-[16px] text-[24px]\"\n [name]=\"getIconName(type)\"\n ></ng-icon>\n </div>\n <div\n class=\"flex flex-col items-start gap-[4px] pt-[3px] grow shrink overflow-hidden\"\n >\n <div class=\"font-bold text-[16px] text-gray-900\">\n {{ title }}\n </div>\n <div class=\"text-[14px] text-gray-800 whitespace-pre-wrap\">{{ text }}</div>\n <a\n href\n *ngIf=\"closeMessage\"\n class=\"text-[14px] gn-ui-link\"\n (click)=\"handleClose($event)\"\n >\n {{ closeMessage }}\n </a>\n </div>\n <gn-ui-button\n type=\"light\"\n class=\"shrink-0\"\n (buttonClick)=\"handleClose()\"\n [style.--gn-ui-button-padding]=\"0\"\n [style.--gn-ui-button-width]=\"'21px'\"\n [style.--gn-ui-button-height]=\"'21px'\"\n >\n <ng-icon\n class=\"text-[22px] !w-[21px] !h-[21px]\"\n name=\"matCloseOutline\"\n ></ng-icon>\n </gn-ui-button>\n</div>\n" }]
23
54
  }], propDecorators: { type: [{
24
55
  type: Input
25
56
  }], title: [{
@@ -31,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
62
  }], notificationClose: [{
32
63
  type: Output
33
64
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFBOzs7O0FBVXRFLE1BQU0sT0FBTyxxQkFBcUI7SUFSbEM7UUFTVyxTQUFJLEdBQTZDLE1BQU0sQ0FBQTtRQUl0RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0tBTXZEO0lBSkMsV0FBVyxDQUFDLEtBQWE7UUFDdkIsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMvQixDQUFDOytHQVZVLHFCQUFxQjttR0FBckIscUJBQXFCLHlOQ25CbEMseW9EQW9EQSx5RER0Q1ksWUFBWSw0WkFBRSxhQUFhLG9MQUFFLGVBQWU7OzRGQUszQyxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLG1CQUd0Qyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1ub3RpZmljYXRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgPSAnaW5mbydcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmdcbiAgQElucHV0KCkgY2xvc2VNZXNzYWdlPzogc3RyaW5nXG4gIEBPdXRwdXQoKSBub3RpZmljYXRpb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIGhhbmRsZUNsb3NlKGV2ZW50PzogRXZlbnQpIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMubm90aWZpY2F0aW9uQ2xvc2UuZW1pdCgpXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJwLVsxNnB4XSBmbGV4IGZsZXgtcm93IGdhcC1bMTZweF0gaXRlbXMtc3RhcnQgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBzaGFkb3ctbWQgcm91bmRlZCBiZy1iYWNrZ3JvdW5kXCJcbj5cbiAgPGRpdlxuICAgIHJvbGU9XCJhbGVydFwiXG4gICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgdGV4dC13aGl0ZSBwLVs2cHhdIHctWzMycHhdIGgtWzMycHhdIGZsZXggc2hyaW5rLTBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdiZy1yZWQtNTAwJzogdHlwZSA9PT0gJ2Vycm9yJyxcbiAgICAgICdiZy15ZWxsb3ctNTAwJzogdHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgJ2JnLWdyZWVuLTUwMCc6IHR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgICdiZy1ibHVlLTUwMCc6IHR5cGUgPT09ICdpbmZvJ1xuICAgIH1cIlxuICAgIFtuZ1N3aXRjaF09XCJ0eXBlXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgIXctWzE4cHhdICFoLVsxOHB4XSB0ZXh0LVsyMHB4XVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCI+Y2hlY2tfY2lyY2xlPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5mbydcIj5pbmZvPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInd2FybmluZydcIj53YXJuaW5nPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCI+ZXJyb3I8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1zdGFydCBnYXAtWzRweF0gcHQtWzNweF0gZ3JvdyBzaHJpbmsgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1bMTZweF0gdGV4dC1ncmF5LTkwMFwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1bMTRweF0gdGV4dC1ncmF5LTgwMFwiPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxhXG4gICAgICBocmVmXG4gICAgICAqbmdJZj1cImNsb3NlTWVzc2FnZVwiXG4gICAgICBjbGFzcz1cInRleHQtWzE0cHhdIGduLXVpLWxpbmtcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IGNsb3NlTWVzc2FnZSB9fVxuICAgIDwvYT5cbiAgPC9kaXY+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIGNsYXNzPVwic2hyaW5rLTBcIlxuICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24tcGFkZGluZ109XCIwXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24td2lkdGhdPVwiJzIxcHgnXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24taGVpZ2h0XT1cIicyMXB4J1wiXG4gID5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzIycHhdICF3LVsyMXB4XSAhaC1bMjFweF1cIlxuICAgICAgPmNsb3NlPC9tYXQtaWNvblxuICAgID5cbiAgPC9nbi11aS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN6RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZUFBZSxHQUNoQixNQUFNLGtDQUFrQyxDQUFBOzs7QUFtQnpDLE1BQU0sT0FBTyxxQkFBcUI7SUFqQmxDO1FBa0JXLFNBQUksR0FBNkMsTUFBTSxDQUFBO1FBSXRELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7S0FxQnZEO0lBbkJDLFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyx1QkFBdUIsQ0FBQTtZQUNoQyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxnQkFBZ0IsQ0FBQTtZQUN6QixLQUFLLFNBQVM7Z0JBQ1osT0FBTyx3QkFBd0IsQ0FBQTtZQUNqQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyx3QkFBd0IsQ0FBQTtZQUNqQztnQkFDRSxPQUFPLEVBQUUsQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDOytHQXpCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw0TUFickI7WUFDVCxZQUFZLENBQUM7Z0JBQ1gscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxlQUFlO2FBQ2hCLENBQUM7U0FDSCwwQkM5QkgseTJDQWdEQSx5REQzQlksWUFBWSxpT0FBRSxlQUFlLCtIQUFFLGVBQWU7OzRGQWM3QyxxQkFBcUI7a0JBakJqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxhQUM5Qzt3QkFDVCxZQUFZLENBQUM7NEJBQ1gscUJBQXFCOzRCQUNyQixzQkFBc0I7NEJBQ3RCLHNCQUFzQjs0QkFDdEIsY0FBYzs0QkFDZCxlQUFlO3lCQUNoQixDQUFDO3FCQUNILG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDaGVja0NpcmNsZU91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5pbXBvcnQge1xuICBtYXRFcnJvck91dGxpbmVPdXRsaW5lLFxuICBtYXRXYXJuaW5nQW1iZXJPdXRsaW5lLFxuICBtYXRJbmZvT3V0bGluZSxcbiAgbWF0Q2xvc2VPdXRsaW5lLFxufSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbm90aWZpY2F0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBOZ0ljb25Db21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0Q2hlY2tDaXJjbGVPdXRsaW5lLFxuICAgICAgbWF0RXJyb3JPdXRsaW5lT3V0bGluZSxcbiAgICAgIG1hdFdhcm5pbmdBbWJlck91dGxpbmUsXG4gICAgICBtYXRJbmZvT3V0bGluZSxcbiAgICAgIG1hdENsb3NlT3V0bGluZSxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ3N1Y2Nlc3MnID0gJ2luZm8nXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nXG4gIEBJbnB1dCgpIGNsb3NlTWVzc2FnZT86IHN0cmluZ1xuICBAT3V0cHV0KCkgbm90aWZpY2F0aW9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBoYW5kbGVDbG9zZShldmVudD86IEV2ZW50KSB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLm5vdGlmaWNhdGlvbkNsb3NlLmVtaXQoKVxuICB9XG5cbiAgZ2V0SWNvbk5hbWUodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICByZXR1cm4gJ21hdENoZWNrQ2lyY2xlT3V0bGluZSdcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICByZXR1cm4gJ21hdEluZm9PdXRsaW5lJ1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiAnbWF0V2FybmluZ0FtYmVyT3V0bGluZSdcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuICdtYXRFcnJvck91dGxpbmVPdXRsaW5lJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicC1bMTZweF0gZmxleCBmbGV4LXJvdyBnYXAtWzE2cHhdIGl0ZW1zLXN0YXJ0IGJvcmRlciBib3JkZXItZ3JheS0yMDAgc2hhZG93LW1kIHJvdW5kZWQgYmctYmFja2dyb3VuZFwiXG4+XG4gIDxkaXZcbiAgICByb2xlPVwiYWxlcnRcIlxuICAgIGNsYXNzPVwicm91bmRlZC1mdWxsIHRleHQtd2hpdGUgcC1bNnB4XSB3LVszMnB4XSBoLVszMnB4XSBmbGV4IHNocmluay0wXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYmctcmVkLTUwMCc6IHR5cGUgPT09ICdlcnJvcicsXG4gICAgICAnYmcteWVsbG93LTUwMCc6IHR5cGUgPT09ICd3YXJuaW5nJyxcbiAgICAgICdiZy1ncmVlbi01MDAnOiB0eXBlID09PSAnc3VjY2VzcycsXG4gICAgICAnYmctYmx1ZS01MDAnOiB0eXBlID09PSAnaW5mbycsXG4gICAgfVwiXG4gID5cbiAgICA8bmctaWNvblxuICAgICAgY2xhc3M9XCIhdy1bMjBweF0gIWgtWzE2cHhdIHRleHQtWzI0cHhdXCJcbiAgICAgIFtuYW1lXT1cImdldEljb25OYW1lKHR5cGUpXCJcbiAgICA+PC9uZy1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1zdGFydCBnYXAtWzRweF0gcHQtWzNweF0gZ3JvdyBzaHJpbmsgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1bMTZweF0gdGV4dC1ncmF5LTkwMFwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1bMTRweF0gdGV4dC1ncmF5LTgwMCB3aGl0ZXNwYWNlLXByZS13cmFwXCI+e3sgdGV4dCB9fTwvZGl2PlxuICAgIDxhXG4gICAgICBocmVmXG4gICAgICAqbmdJZj1cImNsb3NlTWVzc2FnZVwiXG4gICAgICBjbGFzcz1cInRleHQtWzE0cHhdIGduLXVpLWxpbmtcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IGNsb3NlTWVzc2FnZSB9fVxuICAgIDwvYT5cbiAgPC9kaXY+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIGNsYXNzPVwic2hyaW5rLTBcIlxuICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24tcGFkZGluZ109XCIwXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24td2lkdGhdPVwiJzIxcHgnXCJcbiAgICBbc3R5bGUuLS1nbi11aS1idXR0b24taGVpZ2h0XT1cIicyMXB4J1wiXG4gID5cbiAgICA8bmctaWNvblxuICAgICAgY2xhc3M9XCJ0ZXh0LVsyMnB4XSAhdy1bMjFweF0gIWgtWzIxcHhdXCJcbiAgICAgIG5hbWU9XCJtYXRDbG9zZU91dGxpbmVcIlxuICAgID48L25nLWljb24+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=