geonetwork-ui 2.2.0-dev.f866474c → 2.3.0-dev.139106e0

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 (717) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/index.mjs +5 -5
  3. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +15 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +29 -2
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +52 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +103 -62
  8. package/esm2022/libs/api/metadata-converter/src/lib/gn4/index.mjs +4 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/index.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +123 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +116 -0
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +138 -0
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/index.mjs +2 -0
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +242 -0
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +102 -74
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.mjs +18 -0
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +14 -0
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +48 -0
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +18 -0
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +64 -0
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +116 -79
  23. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +76 -14
  24. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -2
  25. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +4 -4
  26. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  27. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
  28. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
  29. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
  30. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  31. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  32. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  33. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  34. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  35. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  36. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  37. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  38. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  39. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +35 -7
  40. package/esm2022/libs/data-access/gn4/src/openapi/model/models.mjs +1 -2
  41. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  42. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +6 -5
  43. package/esm2022/libs/feature/editor/src/index.mjs +7 -2
  44. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +8 -0
  45. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +26 -0
  46. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +34 -0
  47. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +2 -0
  48. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +42 -0
  49. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +13 -0
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +11 -0
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +28 -0
  52. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +11 -0
  53. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +45 -0
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +50 -0
  55. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +11 -0
  56. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +11 -0
  57. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +107 -0
  58. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +2 -0
  59. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +10 -0
  60. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +29 -0
  61. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +13 -0
  62. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +21 -9
  63. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -0
  64. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +2 -0
  65. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +24 -46
  66. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  67. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -3
  68. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  69. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +72 -0
  70. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  71. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  72. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  73. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +29 -5
  74. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  75. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  76. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +12 -5
  77. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +2 -1
  78. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +61 -24
  79. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  80. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +63 -69
  81. package/esm2022/libs/feature/notifications/src/index.mjs +4 -0
  82. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +18 -0
  83. package/esm2022/libs/feature/notifications/src/lib/notification.model.mjs +2 -0
  84. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +49 -0
  85. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +29 -0
  86. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -13
  87. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +34 -21
  88. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  89. package/esm2022/libs/feature/router/src/lib/default/index.mjs +2 -1
  90. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +1 -1
  91. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  92. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
  93. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  94. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  95. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  96. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  97. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  98. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
  99. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  100. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  101. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  102. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
  103. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
  104. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  105. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +3 -3
  106. package/esm2022/libs/ui/elements/src/index.mjs +15 -12
  107. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  108. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  109. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +45 -0
  110. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
  111. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -3
  112. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  113. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +47 -16
  114. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
  115. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +34 -0
  116. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  117. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  118. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +9 -4
  119. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +20 -7
  120. package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
  121. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  122. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +10 -9
  123. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  124. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  125. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  126. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  127. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +59 -0
  128. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +183 -0
  129. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  130. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
  131. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  132. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -27
  133. package/esm2022/libs/ui/layout/src/index.mjs +6 -3
  134. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  135. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +18 -0
  136. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  137. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  138. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  139. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  140. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  141. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  142. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  143. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  144. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  145. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +3 -3
  146. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  147. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
  148. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  149. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -0
  150. package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +60 -0
  151. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +8 -5
  152. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
  153. package/esm2022/translations/de.json +151 -109
  154. package/esm2022/translations/en.json +83 -41
  155. package/esm2022/translations/es.json +61 -19
  156. package/esm2022/translations/fr.json +77 -35
  157. package/esm2022/translations/it.json +78 -36
  158. package/esm2022/translations/nl.json +62 -20
  159. package/esm2022/translations/pt.json +61 -19
  160. package/fesm2022/geonetwork-ui.mjs +6072 -3926
  161. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  162. package/index.d.ts +1 -0
  163. package/index.d.ts.map +1 -1
  164. package/index.ts +1 -0
  165. package/libs/api/metadata-converter/src/index.d.ts +4 -4
  166. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  167. package/libs/api/metadata-converter/src/lib/{metadata-base.mapper.d.ts → base.converter.d.ts} +3 -3
  168. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -0
  169. package/libs/api/metadata-converter/src/lib/find-converter.d.ts +3 -0
  170. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -0
  171. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
  172. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  173. package/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.d.ts → gn4.converter.d.ts} +5 -5
  174. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -0
  175. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
  176. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  177. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts +4 -0
  178. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts.map +1 -0
  179. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +4 -5
  180. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  181. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts +2 -0
  182. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts.map +1 -0
  183. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +9 -0
  184. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -0
  185. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +20 -0
  186. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -0
  187. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +21 -0
  188. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -0
  189. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts +2 -0
  190. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts.map +1 -0
  191. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +11 -0
  192. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -0
  193. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +39 -10
  194. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  195. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts +8 -0
  196. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts.map +1 -0
  197. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +3 -0
  198. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -0
  199. package/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.d.ts.map +1 -0
  200. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -0
  201. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -0
  202. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +43 -6
  203. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  204. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +14 -1
  205. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  206. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  207. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -2
  208. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  209. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  210. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  211. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  212. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
  213. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  214. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
  215. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  216. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  217. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  218. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +36 -20
  219. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  220. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  221. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  222. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  223. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  224. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  225. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  226. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  227. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  228. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  229. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  230. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
  231. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  232. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  233. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  234. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +9 -5
  235. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  236. package/libs/data-access/gn4/src/openapi/model/models.d.ts +0 -1
  237. package/libs/data-access/gn4/src/openapi/model/models.d.ts.map +1 -1
  238. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  239. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  240. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  241. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  242. package/libs/feature/editor/src/index.d.ts +6 -1
  243. package/libs/feature/editor/src/index.d.ts.map +1 -1
  244. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +23 -0
  245. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -0
  246. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +15 -0
  247. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -0
  248. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +22 -0
  249. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -0
  250. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +2 -0
  251. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -0
  252. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +18 -0
  253. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -0
  254. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +15 -0
  255. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -0
  256. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.d.ts +1 -1
  257. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.d.ts.map +1 -0
  258. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.d.ts +1 -1
  259. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.d.ts.map +1 -0
  260. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.d.ts +1 -1
  261. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.d.ts.map +1 -0
  262. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +16 -0
  263. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -0
  264. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.d.ts +2 -2
  265. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -0
  266. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +1 -1
  267. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -0
  268. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +1 -1
  269. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +1 -0
  270. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.component.d.ts +8 -3
  271. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -0
  272. package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.d.ts +0 -1
  273. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +1 -0
  274. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -0
  275. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +16 -0
  276. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -0
  277. package/libs/feature/editor/src/lib/expressions.d.ts +4 -0
  278. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -0
  279. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +4 -2
  280. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  281. package/libs/feature/editor/src/lib/fields.config.d.ts +3 -0
  282. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -0
  283. package/libs/feature/editor/src/lib/models/fields.model.d.ts +15 -0
  284. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +1 -0
  285. package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -13
  286. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  287. package/libs/feature/map/src/index.d.ts +1 -0
  288. package/libs/feature/map/src/index.d.ts.map +1 -1
  289. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  290. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  291. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  292. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +23 -0
  293. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -0
  294. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  295. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  296. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  297. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  298. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  299. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
  300. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  301. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  302. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  303. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  304. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  305. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +2 -0
  306. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  307. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +10 -5
  308. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  309. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
  310. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  311. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  312. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  313. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -12
  314. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  315. package/libs/feature/notifications/src/index.d.ts +4 -0
  316. package/libs/feature/notifications/src/index.d.ts.map +1 -0
  317. package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts +7 -0
  318. package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts.map +1 -0
  319. package/libs/feature/notifications/src/lib/notification.model.d.ts +7 -0
  320. package/libs/feature/notifications/src/lib/notification.model.d.ts.map +1 -0
  321. package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts +12 -0
  322. package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts.map +1 -0
  323. package/libs/feature/notifications/src/lib/notifications.service.d.ts +15 -0
  324. package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -0
  325. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  326. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  327. package/libs/feature/router/src/lib/default/index.d.ts +1 -0
  328. package/libs/feature/router/src/lib/default/index.d.ts.map +1 -1
  329. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -1
  330. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  331. package/libs/feature/search/src/index.d.ts +3 -0
  332. package/libs/feature/search/src/index.d.ts.map +1 -1
  333. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
  334. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  335. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  336. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  337. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  338. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  339. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  340. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  341. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  342. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  343. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  344. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  345. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  346. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  347. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  348. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  349. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  350. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
  351. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  352. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  353. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  354. package/libs/ui/elements/src/index.d.ts +14 -11
  355. package/libs/ui/elements/src/index.d.ts.map +1 -1
  356. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  357. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  358. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  359. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +13 -0
  360. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -0
  361. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
  362. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
  363. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
  364. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +16 -5
  365. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  366. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  367. package/libs/ui/elements/src/lib/notification/notification.component.d.ts +13 -0
  368. package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -0
  369. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  370. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  371. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  372. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  373. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +10 -8
  374. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  375. package/libs/ui/inputs/src/index.d.ts +1 -1
  376. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  377. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  378. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  379. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  380. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  381. package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts +14 -0
  382. package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts.map +1 -0
  383. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +44 -0
  384. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -0
  385. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
  386. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  387. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -39
  388. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  389. package/libs/ui/layout/src/index.d.ts +5 -2
  390. package/libs/ui/layout/src/index.d.ts.map +1 -1
  391. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +8 -0
  392. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -0
  393. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  394. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  395. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  396. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  397. package/libs/ui/search/src/index.d.ts +0 -1
  398. package/libs/ui/search/src/index.d.ts.map +1 -1
  399. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  400. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  401. package/libs/util/i18n/src/index.d.ts +0 -1
  402. package/libs/util/i18n/src/index.d.ts.map +1 -1
  403. package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
  404. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  405. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  406. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  407. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -0
  408. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -0
  409. package/libs/util/shared/src/lib/utils/image-resize.d.ts +3 -0
  410. package/libs/util/shared/src/lib/utils/image-resize.d.ts.map +1 -0
  411. package/libs/util/shared/src/lib/utils/index.d.ts +7 -4
  412. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  413. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
  414. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
  415. package/package.json +5 -2
  416. package/src/libs/api/metadata-converter/src/index.ts +4 -4
  417. package/src/libs/api/metadata-converter/src/lib/{metadata-base.mapper.ts → base.converter.ts} +2 -2
  418. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +16 -0
  419. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +94 -12
  420. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +67 -12
  421. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +260 -29
  422. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +580 -0
  423. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +33 -1
  424. package/src/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.ts → gn4.converter.ts} +9 -5
  425. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +149 -77
  426. package/src/libs/api/metadata-converter/src/lib/gn4/index.ts +3 -0
  427. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -5
  428. package/src/libs/api/metadata-converter/src/lib/iso19115-3/index.ts +1 -0
  429. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +176 -0
  430. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +329 -0
  431. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +513 -0
  432. package/src/libs/api/metadata-converter/src/lib/iso19139/index.ts +1 -0
  433. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +327 -0
  434. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +230 -134
  435. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.ts +20 -0
  436. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +16 -0
  437. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +338 -178
  438. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +84 -16
  439. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -1
  440. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  441. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  442. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
  443. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
  444. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
  445. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  446. package/src/libs/common/domain/src/lib/index.ts +2 -0
  447. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +45 -24
  448. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  449. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  450. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  451. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  452. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  453. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
  454. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  455. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
  456. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
  457. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
  458. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -10
  459. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +43 -12
  460. package/src/libs/data-access/gn4/src/openapi/model/models.ts +0 -1
  461. package/src/libs/data-access/gn4/src/spec.yaml +1 -1
  462. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  463. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +9 -6
  464. package/src/libs/feature/editor/src/index.ts +6 -1
  465. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +24 -0
  466. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +49 -0
  467. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +37 -0
  468. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -0
  469. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +68 -0
  470. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +39 -0
  471. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +8 -0
  472. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +70 -0
  473. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.ts +1 -0
  474. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.ts +4 -1
  475. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.ts +1 -0
  476. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +20 -0
  477. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +44 -0
  478. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.ts +4 -1
  479. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +1 -0
  480. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +1 -0
  481. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.component.html +28 -4
  482. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +121 -0
  483. package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.ts +0 -1
  484. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.css +0 -0
  485. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +11 -0
  486. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +30 -0
  487. package/src/libs/feature/editor/src/lib/expressions.ts +16 -0
  488. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +16 -5
  489. package/src/libs/feature/editor/src/lib/fields.config.ts +35 -0
  490. package/src/libs/feature/editor/src/lib/models/fields.model.ts +29 -0
  491. package/src/libs/feature/editor/src/lib/services/editor.service.ts +39 -67
  492. package/src/libs/feature/map/src/index.ts +1 -0
  493. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +5 -1
  494. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  495. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  496. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  497. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +0 -0
  498. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +36 -0
  499. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +80 -0
  500. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  501. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  502. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  503. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  504. package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
  505. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  506. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  507. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  508. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  509. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +14 -2
  510. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +5 -0
  511. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +10 -3
  512. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +72 -28
  513. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  514. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +87 -96
  515. package/src/libs/feature/notifications/src/index.ts +3 -0
  516. package/src/libs/feature/notifications/src/lib/feature-notifications.module.ts +10 -0
  517. package/src/libs/feature/notifications/src/lib/notification.model.ts +6 -0
  518. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.css +0 -0
  519. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.html +17 -0
  520. package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.ts +44 -0
  521. package/src/libs/feature/notifications/src/lib/notifications.service.ts +27 -0
  522. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +12 -12
  523. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +23 -4
  524. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  525. package/src/libs/feature/router/src/lib/default/index.ts +1 -0
  526. package/src/libs/feature/router/src/lib/default/router.service.ts +1 -1
  527. package/src/libs/feature/search/src/index.ts +3 -0
  528. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +13 -4
  529. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
  530. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  531. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  532. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  533. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  534. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  535. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  536. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  537. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  538. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  539. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  540. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  541. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
  542. package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
  543. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
  544. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
  545. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +5 -5
  546. package/src/libs/ui/elements/src/index.ts +14 -11
  547. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  548. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  549. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  550. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  551. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +0 -0
  552. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +18 -0
  553. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +45 -0
  554. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
  555. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
  556. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
  557. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
  558. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
  559. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +3 -3
  560. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  561. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +212 -68
  562. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +51 -10
  563. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
  564. package/src/libs/ui/elements/src/lib/notification/notification.component.css +0 -0
  565. package/src/libs/ui/elements/src/lib/notification/notification.component.html +52 -0
  566. package/src/libs/ui/elements/src/lib/notification/notification.component.ts +31 -0
  567. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +6 -6
  568. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  569. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  570. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
  571. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +9 -3
  572. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +8 -1
  573. package/src/libs/ui/inputs/src/index.ts +1 -1
  574. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  575. package/src/libs/ui/inputs/src/lib/button/button.component.css +0 -5
  576. package/src/libs/ui/inputs/src/lib/button/button.component.html +0 -1
  577. package/src/libs/ui/inputs/src/lib/button/button.component.ts +8 -7
  578. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  579. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +2 -2
  580. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
  581. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  582. package/src/libs/ui/inputs/src/lib/files-drop/files-drop.directive.ts +45 -0
  583. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +0 -0
  584. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +146 -0
  585. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +193 -0
  586. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  587. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
  588. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
  589. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
  590. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +8 -21
  591. package/src/libs/ui/layout/src/index.ts +5 -2
  592. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  593. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
  594. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.css +0 -0
  595. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +18 -0
  596. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +16 -0
  597. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  598. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  599. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  600. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  601. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  602. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  603. package/src/libs/ui/search/src/index.ts +0 -1
  604. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  605. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +3 -1
  606. package/src/libs/util/i18n/src/index.ts +0 -1
  607. package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
  608. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  609. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +3 -0
  610. package/src/libs/util/shared/src/lib/utils/image-resize.ts +72 -0
  611. package/src/libs/util/shared/src/lib/utils/index.ts +7 -4
  612. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
  613. package/tailwind.base.css +80 -15
  614. package/translations/de.json +151 -109
  615. package/translations/en.json +83 -41
  616. package/translations/es.json +61 -19
  617. package/translations/fr.json +77 -35
  618. package/translations/it.json +78 -36
  619. package/translations/nl.json +62 -20
  620. package/translations/pt.json +61 -19
  621. package/translations/sk.json +139 -97
  622. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +0 -48
  623. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.mjs +0 -48
  624. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.mjs +0 -18
  625. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.mjs +0 -64
  626. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +0 -122
  627. package/esm2022/libs/api/metadata-converter/src/lib/metadata-base.mapper.mjs +0 -14
  628. package/esm2022/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.mjs +0 -13
  629. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +0 -24
  630. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  631. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  632. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.mjs +0 -11
  633. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.mjs +0 -27
  634. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.mjs +0 -11
  635. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.mjs +0 -27
  636. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.mjs +0 -49
  637. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +0 -11
  638. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  639. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +0 -74
  640. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +0 -2
  641. package/esm2022/libs/ui/inputs/src/lib/form-field/index.mjs +0 -10
  642. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  643. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  644. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  645. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  646. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +0 -1
  647. package/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.d.ts.map +0 -1
  648. package/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.d.ts.map +0 -1
  649. package/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.d.ts.map +0 -1
  650. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts +0 -4
  651. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +0 -1
  652. package/libs/api/metadata-converter/src/lib/metadata-base.mapper.d.ts.map +0 -1
  653. package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts +0 -18
  654. package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts.map +0 -1
  655. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts +0 -11
  656. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +0 -1
  657. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  658. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  659. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  660. package/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.d.ts.map +0 -1
  661. package/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.d.ts.map +0 -1
  662. package/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.d.ts.map +0 -1
  663. package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts +0 -11
  664. package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts.map +0 -1
  665. package/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.d.ts.map +0 -1
  666. package/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +0 -1
  667. package/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  668. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +0 -1
  669. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +0 -1
  670. package/libs/ui/inputs/src/lib/form-field/index.d.ts.map +0 -1
  671. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  672. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  673. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  674. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  675. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  676. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  677. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  678. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  679. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +0 -187
  680. package/src/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts +0 -18
  681. package/src/libs/feature/editor/src/lib/record-form/record-form.component.html +0 -8
  682. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +0 -23
  683. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  684. package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.html +0 -11
  685. package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.ts +0 -15
  686. package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +0 -78
  687. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  688. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  689. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  690. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  691. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  692. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  693. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.d.ts +0 -0
  694. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.d.ts +0 -0
  695. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.d.ts +0 -0
  696. /package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.d.ts +0 -0
  697. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  698. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.ts +0 -0
  699. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.ts +0 -0
  700. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.ts +0 -0
  701. /package/src/libs/feature/editor/src/lib/{record-form/record-form.component.css → components/overview-upload/overview-upload.component.css} +0 -0
  702. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.css +0 -0
  703. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.html +0 -0
  704. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.css +0 -0
  705. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.html +0 -0
  706. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.css +0 -0
  707. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.html +0 -0
  708. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-rich/form-field-rich.component.css +0 -0
  709. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.css +0 -0
  710. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.html +0 -0
  711. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.css +0 -0
  712. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -0
  713. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css +0 -0
  714. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -0
  715. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.component.css +0 -0
  716. /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.ts +0 -0
  717. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xufVxuXG50eXBlIEJvb2xlYW5TdHJpbmcgPSAndHJ1ZScgfCAnZmFsc2UnXG5pbnRlcmZhY2UgQ29kZUxpc3RFbnRyeSBleHRlbmRzIE11bHRpbGluZ3VhbEZpZWxkIHtcbiAga2V5OiBzdHJpbmdcbiAgbGluaz86IHN0cmluZ1xufVxuXG50eXBlIE1heWJlQXJyYXk8VD4gPSBUIHwgVFtdXG5cbmludGVyZmFjZSBDb250YWN0IHtcbiAgb3JnYW5pc2F0aW9uOiBzdHJpbmdcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBLZXl3b3JkID0gTXVsdGlsaW5ndWFsRmllbGRcbnR5cGUgS2V5d29yZHMgPSBLZXl3b3JkW11cbnR5cGUgVGhlc2F1cnVzTmFtZSA9IHN0cmluZ1xuaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IEtleXdvcmRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluayB7XG4gIHByb3RvY29sPzogc3RyaW5nXG4gIG1pbWVUeXBlPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGZ1bmN0aW9uPzogc3RyaW5nXG4gIGFwcGxpY2F0aW9uUHJvZmlsZT86IHN0cmluZ1xuICBncm91cD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBNZXRhZGF0YU9iamVjdCA9IFBhcnRpYWw8e1xuICBNRF9Db25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkW11cbiAgTURfTGVnYWxDb25zdHJhaW50c090aGVyQ29uc3RyYWludHNPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkW11cbiAgT3JnOiBzdHJpbmdcbiAgT3JnRm9yUmVzb3VyY2U6IHN0cmluZ1tdXG4gIGFsbEtleXdvcmRzOiBSZWNvcmQ8VGhlc2F1cnVzTmFtZSwgVGhlc2F1cnVzPlxuICBjaGFuZ2VEYXRlOiBzdHJpbmdcbiAgY2xfY2hhcmFjdGVyU2V0OiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfZnVuY3Rpb246IENvZGVMaXN0RW50cnlbXVxuICBjbF9oaWVyYXJjaHlMZXZlbDogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3Jlc291cmNlQ2hhcmFjdGVyU2V0OiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfc3RhdHVzOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfdG9waWM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90eXBlOiBDb2RlTGlzdEVudHJ5W11cbiAgY29uZm9ybVRvX1RpdHJlZHVuZXNwY2lmaWNhdGlvbmxhcXVlbGxlbGFzcmllZGVkb25uZXNlc3Rjb25mb3JtZW91bm9uOiBzdHJpbmdcbiAgY29udGFjdDogQ29udGFjdFtdXG4gIGNvbnRhY3RGb3JSZXNvdXJjZTogQ29udGFjdFtdXG4gIGNyZWF0ZURhdGU6IHN0cmluZ1xuICBjcmVhdGlvbkRhdGVGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgY3JlYXRpb25Nb250aEZvclJlc291cmNlOiBzdHJpbmdcbiAgY3JlYXRpb25ZZWFyRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBkYXRlU3RhbXA6IHN0cmluZ1xuICBkaXNwbGF5T3JkZXI6IHN0cmluZ1xuICBkb2NUeXBlOiBzdHJpbmdcbiAgZG9jdW1lbnQ6IHN0cmluZ1xuICBkb2N1bWVudFN0YW5kYXJkOiBzdHJpbmdcbiAgZHJhZnQ6IHN0cmluZ1xuICBleHRlbnREZXNjcmlwdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBleHRyYTogc3RyaW5nXG4gIGZlYXR1cmVPZlJlY29yZDogc3RyaW5nXG4gIGZlZWRiYWNrQ291bnQ6IHN0cmluZ1xuICBnZW9tOiBHZW9tZXRyeVxuICBncm91cE93bmVyOiBzdHJpbmdcbiAgZ3JvdXBQdWJsaXNoZWQ6IHN0cmluZ1tdXG4gIGdyb3VwUHVibGlzaGVkSWQ6IHN0cmluZ1xuICBoYXJ2ZXN0ZXJVdWlkOiBzdHJpbmdcbiAgaGFzSW5zcGlyZVRoZW1lOiBCb29sZWFuU3RyaW5nXG4gIGhhc092ZXJ2aWV3OiBCb29sZWFuU3RyaW5nXG4gIGhhc3hsaW5rczogQm9vbGVhblN0cmluZ1xuICBpZDogc3RyaW5nXG4gIGluZGV4aW5nRGF0ZTogc3RyaW5nXG4gIGluZGV4aW5nRXJyb3I6IHN0cmluZ1tdXG4gIGluZGV4aW5nRXJyb3JNc2c6IHN0cmluZ1tdXG4gIGluc3BpcmVBbm5leDogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4Rm9yRmlyc3RUaGVtZTogc3RyaW5nXG4gIGluc3BpcmVUaGVtZTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lRmlyc3Q6IHN0cmluZ1xuICBpbnNwaXJlVGhlbWVGaXJzdF9zeW46IHN0cmluZ1xuICBpbnNwaXJlVGhlbWVOdW1iZXI6IHN0cmluZ1xuICBpbnNwaXJlVGhlbWVVcmk6IHN0cmluZ1tdXG4gIGluc3BpcmVUaGVtZV9zeW46IHN0cmluZ1tdXG4gIGlzSGFydmVzdGVkOiBzdHJpbmdcbiAgaXNPcGVuRGF0YTogc3RyaW5nXG4gIGlzUHVibGlzaGVkVG9BbGw6IHN0cmluZ1xuICBpc1RlbXBsYXRlOiBzdHJpbmdcbiAga2V5d29yZFR5cGU6IFJlY29yZDxzdHJpbmcsIE11bHRpbGluZ3VhbEZpZWxkW10+XG4gIGxpY2Vuc2VPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkW11cbiAgbGluZWFnZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgbGluazogTGlua1tdXG4gIGxpbmtQcm90b2NvbDogc3RyaW5nW11cbiAgbGlua1VybDogc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sT0dDV0ZTOiBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xPR0NXTVM6IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbFdXV0xJTksxMGh0dHBsaW5rOiBNYXliZUFycmF5PHN0cmluZz5cbiAgbGlua1VybFByb3RvY29sV1dXTElOSzEwaHR0cHJlbGF0ZWQ6IHN0cmluZ1xuICBsb2NhdGlvbjogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBtYWluTGFuZ3VhZ2U6IHN0cmluZ1xuICBtZXRhZGF0YUlkZW50aWZpZXI6IHN0cmluZ1xuICBvdmVydmlldzogT3ZlcnZpZXdbXVxuICBvd25lcjogc3RyaW5nXG4gIHBvaW50T2ZDb250YWN0T3JnOiBzdHJpbmdcbiAgcG9pbnRPZkNvbnRhY3RPcmdGb3JSZXNvdXJjZTogc3RyaW5nXG4gIHBvcHVsYXJpdHk6IG51bWJlclxuICByYXRpbmc6IHN0cmluZ1xuICByZWNvcmQ6IHN0cmluZ1xuICByZWNvcmRHcm91cDogc3RyaW5nXG4gIHJlY29yZE93bmVyOiBzdHJpbmdcbiAgcmVzb2x1dGlvbkRpc3RhbmNlOiBzdHJpbmdbXVxuICByZXNvbHV0aW9uU2NhbGVEZW5vbWluYXRvcjogc3RyaW5nW11cbiAgcmVzb3VyY2VBYnN0cmFjdE9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmVzb3VyY2VEYXRlOiBSZXNvdXJjZURhdGVbXVxuICByZXNvdXJjZUVkaXRpb246IHN0cmluZ1xuICByZXNvdXJjZUlkZW50aWZpZXI6IFJlc291cmNlSWRlbnRpZmllcltdXG4gIHJlc291cmNlTGFuZ3VhZ2U6IHN0cmluZ1tdXG4gIHJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2U6IFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2VbXVxuICByZXNvdXJjZVRlbXBvcmFsRXh0ZW50RGF0ZVJhbmdlOiBSZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlW11cbiAgcmVzb3VyY2VUaXRsZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmVzb3VyY2VUeXBlOiBzdHJpbmdbXVxuICByZXNvdXJjZVR5cGVOYW1lT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXZpc2lvbkRhdGVGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgcmV2aXNpb25Nb250aEZvclJlc291cmNlOiBzdHJpbmdcbiAgcmV2aXNpb25ZZWFyRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBzb3VyY2VDYXRhbG9ndWU6IHN0cmluZ1xuICBzcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2U6IE1heWJlQXJyYXk8U3BlY2lmaWNhdGlvbkNvbmZvcm1hbmNlPlxuICBzdGFuZGFyZE5hbWVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHN0YW5kYXJkVmVyc2lvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgdGFnOiBLZXl3b3Jkc1xuICB0YWdOdW1iZXI6IHN0cmluZ1xuICB1c2VyU2F2ZWRDb3VudDogc3RyaW5nXG4gIHVzZXJpbmZvOiBzdHJpbmdcbiAgdXVpZDogc3RyaW5nXG4gIHZhbGlkOiBzdHJpbmdcbiAgeGxpbms6IHN0cmluZ1tdXG59PlxuXG5leHBvcnQgaW50ZXJmYWNlIEduNFJlY29yZCB7XG4gIF9pbmRleDogc3RyaW5nXG4gIF90eXBlOiBzdHJpbmdcbiAgX2lkOiBzdHJpbmdcbiAgX3Njb3JlOiBudW1iZXJcbiAgX3NvdXJjZTogTWV0YWRhdGFPYmplY3RcbiAgZWRpdD86IGJvb2xlYW5cbiAgb3duZXI/OiBib29sZWFuXG4gIGlzUHVibGlzaGVkVG9BbGw/OiBib29sZWFuXG4gIHZpZXc/OiBib29sZWFuXG4gIG5vdGlmeT86IGJvb2xlYW5cbiAgZG93bmxvYWQ/OiBib29sZWFuXG4gIGR5bmFtaWM/OiBib29sZWFuXG4gIGZlYXR1cmVkPzogYm9vbGVhblxuICBndWVzdGRvd25sb2FkPzogYm9vbGVhblxuICBzZWxlY3RlZD86IGJvb2xlYW5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xufVxuXG50eXBlIEJvb2xlYW5TdHJpbmcgPSAndHJ1ZScgfCAnZmFsc2UnXG5pbnRlcmZhY2UgQ29kZUxpc3RFbnRyeSBleHRlbmRzIE11bHRpbGluZ3VhbEZpZWxkIHtcbiAga2V5OiBzdHJpbmdcbiAgbGluaz86IHN0cmluZ1xufVxuXG50eXBlIE1heWJlQXJyYXk8VD4gPSBUIHwgVFtdXG5cbmludGVyZmFjZSBDb250YWN0IHtcbiAgb3JnYW5pc2F0aW9uOiBzdHJpbmdcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBUaGVzYXVydXNOYW1lID0gc3RyaW5nXG5leHBvcnQgaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IE11bHRpbGluZ3VhbEZpZWxkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rIHtcbiAgcHJvdG9jb2w/OiBzdHJpbmdcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgZnVuY3Rpb24/OiBzdHJpbmdcbiAgYXBwbGljYXRpb25Qcm9maWxlPzogc3RyaW5nXG4gIGdyb3VwPzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhT2JqZWN0ID0gUGFydGlhbDx7XG4gIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBNRF9MZWdhbENvbnN0cmFpbnRzT3RoZXJDb25zdHJhaW50c09iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBPcmc6IHN0cmluZ1xuICBPcmdGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgYWxsS2V5d29yZHM6IFJlY29yZDxUaGVzYXVydXNOYW1lLCBUaGVzYXVydXM+XG4gIGNoYW5nZURhdGU6IHN0cmluZ1xuICBjbF9jaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9mdW5jdGlvbjogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX2hpZXJhcmNoeUxldmVsOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfcmVzb3VyY2VDaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9zdGF0dXM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90b3BpYzogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3R5cGU6IENvZGVMaXN0RW50cnlbXVxuICBjb25mb3JtVG9fVGl0cmVkdW5lc3BjaWZpY2F0aW9ubGFxdWVsbGVsYXNyaWVkZWRvbm5lc2VzdGNvbmZvcm1lb3Vub246IHN0cmluZ1xuICBjb250YWN0OiBDb250YWN0W11cbiAgY29udGFjdEZvclJlc291cmNlOiBDb250YWN0W11cbiAgY3JlYXRlRGF0ZTogc3RyaW5nXG4gIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICBjcmVhdGlvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBjcmVhdGlvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIGRhdGVTdGFtcDogc3RyaW5nXG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nXG4gIGRvY1R5cGU6IHN0cmluZ1xuICBkb2N1bWVudDogc3RyaW5nXG4gIGRvY3VtZW50U3RhbmRhcmQ6IHN0cmluZ1xuICBkcmFmdDogc3RyaW5nXG4gIGV4dGVudERlc2NyaXB0aW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGV4dHJhOiBzdHJpbmdcbiAgZmVhdHVyZU9mUmVjb3JkOiBzdHJpbmdcbiAgZmVlZGJhY2tDb3VudDogc3RyaW5nXG4gIGdlb206IEdlb21ldHJ5XG4gIGdyb3VwT3duZXI6IHN0cmluZ1xuICBncm91cFB1Ymxpc2hlZDogc3RyaW5nW11cbiAgZ3JvdXBQdWJsaXNoZWRJZDogc3RyaW5nXG4gIGhhcnZlc3RlclV1aWQ6IHN0cmluZ1xuICBoYXNJbnNwaXJlVGhlbWU6IEJvb2xlYW5TdHJpbmdcbiAgaGFzT3ZlcnZpZXc6IEJvb2xlYW5TdHJpbmdcbiAgaGFzeGxpbmtzOiBCb29sZWFuU3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgaW5kZXhpbmdEYXRlOiBzdHJpbmdcbiAgaW5kZXhpbmdFcnJvcjogc3RyaW5nW11cbiAgaW5kZXhpbmdFcnJvck1zZzogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4OiBzdHJpbmdbXVxuICBpbnNwaXJlQW5uZXhGb3JGaXJzdFRoZW1lOiBzdHJpbmdcbiAgaW5zcGlyZVRoZW1lOiBzdHJpbmdbXVxuICBpbnNwaXJlVGhlbWVGaXJzdDogc3RyaW5nXG4gIGluc3BpcmVUaGVtZUZpcnN0X3N5bjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZU51bWJlcjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZVVyaTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lX3N5bjogc3RyaW5nW11cbiAgaXNIYXJ2ZXN0ZWQ6IHN0cmluZ1xuICBpc09wZW5EYXRhOiBzdHJpbmdcbiAgaXNQdWJsaXNoZWRUb0FsbDogc3RyaW5nXG4gIGlzVGVtcGxhdGU6IHN0cmluZ1xuICBrZXl3b3JkVHlwZTogUmVjb3JkPHN0cmluZywgTXVsdGlsaW5ndWFsRmllbGRbXT5cbiAgbGljZW5zZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBsaW5lYWdlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBsaW5rOiBMaW5rW11cbiAgbGlua1Byb3RvY29sOiBzdHJpbmdbXVxuICBsaW5rVXJsOiBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xPR0NXRlM6IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbE9HQ1dNUzogc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sV1dXTElOSzEwaHR0cGxpbms6IE1heWJlQXJyYXk8c3RyaW5nPlxuICBsaW5rVXJsUHJvdG9jb2xXV1dMSU5LMTBodHRwcmVsYXRlZDogc3RyaW5nXG4gIGxvY2F0aW9uOiBzdHJpbmdcbiAgbG9nbzogc3RyaW5nXG4gIG1haW5MYW5ndWFnZTogc3RyaW5nXG4gIG1ldGFkYXRhSWRlbnRpZmllcjogc3RyaW5nXG4gIG92ZXJ2aWV3OiBPdmVydmlld1tdXG4gIG93bmVyOiBzdHJpbmdcbiAgcG9pbnRPZkNvbnRhY3RPcmc6IHN0cmluZ1xuICBwb2ludE9mQ29udGFjdE9yZ0ZvclJlc291cmNlOiBzdHJpbmdcbiAgcG9wdWxhcml0eTogbnVtYmVyXG4gIHB1YmxpY2F0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdcbiAgcmF0aW5nOiBzdHJpbmdcbiAgcmVjb3JkOiBzdHJpbmdcbiAgcmVjb3JkR3JvdXA6IHN0cmluZ1xuICByZWNvcmRPd25lcjogc3RyaW5nXG4gIHJlc29sdXRpb25EaXN0YW5jZTogc3RyaW5nW11cbiAgcmVzb2x1dGlvblNjYWxlRGVub21pbmF0b3I6IHN0cmluZ1tdXG4gIHJlc291cmNlQWJzdHJhY3RPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJlc291cmNlRGF0ZTogUmVzb3VyY2VEYXRlW11cbiAgcmVzb3VyY2VFZGl0aW9uOiBzdHJpbmdcbiAgcmVzb3VyY2VJZGVudGlmaWVyOiBSZXNvdXJjZUlkZW50aWZpZXJbXVxuICByZXNvdXJjZUxhbmd1YWdlOiBzdHJpbmdbXVxuICByZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlOiBSZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlW11cbiAgcmVzb3VyY2VUZW1wb3JhbEV4dGVudERhdGVSYW5nZTogUmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZVtdXG4gIHJlc291cmNlVGl0bGVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJlc291cmNlVHlwZTogc3RyaW5nW11cbiAgcmVzb3VyY2VUeXBlTmFtZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmV2aXNpb25EYXRlRm9yUmVzb3VyY2U6IHN0cmluZ1tdXG4gIHJldmlzaW9uTW9udGhGb3JSZXNvdXJjZTogc3RyaW5nXG4gIHJldmlzaW9uWWVhckZvclJlc291cmNlOiBzdHJpbmdcbiAgc291cmNlQ2F0YWxvZ3VlOiBzdHJpbmdcbiAgc3BlY2lmaWNhdGlvbkNvbmZvcm1hbmNlOiBNYXliZUFycmF5PFNwZWNpZmljYXRpb25Db25mb3JtYW5jZT5cbiAgc3RhbmRhcmROYW1lT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBzdGFuZGFyZFZlcnNpb25PYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHRhZzogTXVsdGlsaW5ndWFsRmllbGRbXVxuICB0YWdOdW1iZXI6IHN0cmluZ1xuICB1c2VyU2F2ZWRDb3VudDogc3RyaW5nXG4gIHVzZXJpbmZvOiBzdHJpbmdcbiAgdXVpZDogc3RyaW5nXG4gIHZhbGlkOiBzdHJpbmdcbiAgeGxpbms6IHN0cmluZ1tdXG59PlxuXG5leHBvcnQgaW50ZXJmYWNlIEduNFJlY29yZCB7XG4gIF9pbmRleDogc3RyaW5nXG4gIF90eXBlOiBzdHJpbmdcbiAgX2lkOiBzdHJpbmdcbiAgX3Njb3JlOiBudW1iZXJcbiAgX3NvdXJjZTogTWV0YWRhdGFPYmplY3RcbiAgZWRpdD86IGJvb2xlYW5cbiAgb3duZXI/OiBib29sZWFuXG4gIGlzUHVibGlzaGVkVG9BbGw/OiBib29sZWFuXG4gIHZpZXc/OiBib29sZWFuXG4gIG5vdGlmeT86IGJvb2xlYW5cbiAgZG93bmxvYWQ/OiBib29sZWFuXG4gIGR5bmFtaWM/OiBib29sZWFuXG4gIGZlYXR1cmVkPzogYm9vbGVhblxuICBndWVzdGRvd25sb2FkPzogYm9vbGVhblxuICBzZWxlY3RlZD86IGJvb2xlYW5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './iso19115-3.converter';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTExNS0zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lzbzE5MTE1LTMuY29udmVydGVyJ1xuIl19
@@ -0,0 +1,123 @@
1
+ import { Iso19139Converter } from '../iso19139';
2
+ import { readContacts, readDistributions, readKind, readLandingPage, readLineage, readOwnerOrganization, readRecordCreated, readRecordPublished, readRecordUpdated, readResourceContacts, readUniqueIdentifier, } from './read-parts';
3
+ import { writeContacts, writeContactsForResource, writeDistributions, writeKind, writeLandingPage, writeLineage, writeOwnerOrganization, writeRecordCreated, writeRecordPublished, writeRecordUpdated, writeResourceCreated, writeResourcePublished, writeResourceUpdated, writeSpatialRepresentation, writeStatus, writeUniqueIdentifier, } from './write-parts';
4
+ import { renameElements } from '../xml-utils';
5
+ export class Iso191153Converter extends Iso19139Converter {
6
+ constructor() {
7
+ super();
8
+ this.readers['uniqueIdentifier'] = readUniqueIdentifier;
9
+ this.readers['kind'] = readKind;
10
+ this.readers['recordUpdated'] = readRecordUpdated;
11
+ this.readers['recordCreated'] = readRecordCreated;
12
+ this.readers['recordPublished'] = readRecordPublished;
13
+ this.readers['contacts'] = readContacts;
14
+ this.readers['contactsForResource'] = readResourceContacts;
15
+ this.readers['ownerOrganization'] = readOwnerOrganization;
16
+ this.readers['landingPage'] = readLandingPage;
17
+ this.readers['lineage'] = readLineage;
18
+ this.readers['distributions'] = readDistributions;
19
+ this.writers['uniqueIdentifier'] = writeUniqueIdentifier;
20
+ this.writers['kind'] = writeKind;
21
+ this.writers['recordUpdated'] = writeRecordUpdated;
22
+ this.writers['recordCreated'] = writeRecordCreated;
23
+ this.writers['recordPublished'] = writeRecordPublished;
24
+ this.writers['resourceUpdated'] = writeResourceUpdated;
25
+ this.writers['resourceCreated'] = writeResourceCreated;
26
+ this.writers['resourcePublished'] = writeResourcePublished;
27
+ this.writers['contacts'] = writeContacts;
28
+ this.writers['contactsForResource'] = writeContactsForResource;
29
+ this.writers['ownerOrganization'] = writeOwnerOrganization;
30
+ this.writers['landingPage'] = writeLandingPage;
31
+ this.writers['lineage'] = writeLineage;
32
+ this.writers['distributions'] = writeDistributions;
33
+ this.writers['status'] = writeStatus;
34
+ this.writers['spatialRepresentation'] = writeSpatialRepresentation;
35
+ }
36
+ beforeDocumentCreation(rootEl) {
37
+ renameElements(rootEl, {
38
+ gmd: 'mdb',
39
+ 'gmd:characterEncoding': 'lan:characterEncoding',
40
+ 'gmd:MD_CharacterSetCode': 'lan:MD_CharacterSetCode',
41
+ 'gmd:MD_DataIdentification': 'mri:MD_DataIdentification',
42
+ 'gmd:citation': 'mri:citation',
43
+ 'gmd:abstract': 'mri:abstract',
44
+ 'gmd:title': 'cit:title',
45
+ 'gmd:CI_Citation': 'cit:CI_Citation',
46
+ 'gmx:Anchor': 'gcx:Anchor',
47
+ // languages
48
+ 'gmd:PT_Locale': 'lan:PT_Locale',
49
+ 'gmd:languageCode': 'lan:languageCode',
50
+ 'gmd:LanguageCode': 'lan:LanguageCode',
51
+ // status
52
+ 'gmd:status': 'mri:status',
53
+ 'gmd:MD_ProgressCode': 'mri:MD_ProgressCode',
54
+ // dates
55
+ 'gmd:date': 'cit:date',
56
+ 'gmd:CI_Date': 'cit:CI_Date',
57
+ 'gmd:dateType': 'cit:dateType',
58
+ 'gmd:CI_DateTypeCode': 'cit:CI_DateTypeCode',
59
+ // contacts
60
+ 'gmd:CI_Responsibility': 'cit:CI_Responsibility',
61
+ 'gmd:role': 'cit:role',
62
+ 'gmd:CI_RoleCode': 'cit:CI_RoleCode',
63
+ // keywords
64
+ 'gmd:descriptiveKeywords': 'mri:descriptiveKeywords',
65
+ 'gmd:MD_Keywords': 'mri:MD_Keywords',
66
+ 'gmd:type': 'mri:type',
67
+ 'gmd:MD_KeywordTypeCode': 'mri:MD_KeywordTypeCode',
68
+ 'gmd:thesaurusName': 'mri:thesaurusName',
69
+ 'gmd:keyword': 'mri:keyword',
70
+ 'gmd:identifier': 'cit:identifier',
71
+ 'gmd:MD_Identifier': 'mcc:MD_Identifier',
72
+ 'gmd:code': 'mcc:code',
73
+ // distributions
74
+ 'gmd:MD_Distribution': 'mrd:MD_Distribution',
75
+ 'gmd:transferOptions': 'mrd:transferOptions',
76
+ 'gmd:MD_DigitalTransferOptions': 'mrd:MD_DigitalTransferOptions',
77
+ 'gmd:onLine': 'mrd:onLine',
78
+ 'gmd:distributionFormat': 'mrd:distributionFormat',
79
+ 'gmd:MD_Format': 'mrd:MD_Format',
80
+ 'gmd:CI_OnlineResource': 'cit:CI_OnlineResource',
81
+ 'gmd:linkage': 'cit:linkage',
82
+ 'gmd:name': 'cit:name',
83
+ 'gmd:description': 'cit:description',
84
+ 'gmd:CI_OnLineFunctionCode': 'cit:CI_OnLineFunctionCode',
85
+ 'gmd:function': 'cit:function',
86
+ 'gmd:protocol': 'cit:protocol',
87
+ // topic
88
+ 'gmd:topicCategory': 'mri:topicCategory',
89
+ 'gmd:MD_TopicCategoryCode': 'mri:MD_TopicCategoryCode',
90
+ // update frequency
91
+ 'gmd:resourceMaintenance': 'mri:resourceMaintenance',
92
+ 'gmd:MD_MaintenanceInformation': 'mmi:MD_MaintenanceInformation',
93
+ 'gmd:userDefinedMaintenanceFrequency': 'mmi:userDefinedMaintenanceFrequency',
94
+ 'gts:TM_PeriodDuration': 'gco:TM_PeriodDuration',
95
+ // constraints
96
+ 'gmd:resourceConstraints': 'mri:resourceConstraints',
97
+ 'gmd:MD_Constraints': 'mco:MD_Constraints',
98
+ 'gmd:MD_LegalConstraints': 'mco:MD_LegalConstraints',
99
+ 'gmd:MD_SecurityConstraints': 'mco:MD_SecurityConstraints',
100
+ 'gmd:useLimitation': 'mco:useLimitation',
101
+ 'gmd:useConstraints': 'mco:useConstraints',
102
+ 'gmd:accessConstraints': 'mco:accessConstraints',
103
+ 'gmd:otherConstraints': 'mco:otherConstraints',
104
+ 'gmd:MD_RestrictionCode': 'mco:MD_RestrictionCode',
105
+ 'gmd:classification': 'mco:classification',
106
+ 'gmd:MD_ClassificationCode': 'mco:MD_ClassificationCode',
107
+ // overviews
108
+ 'gmd:graphicOverview': 'mri:graphicOverview',
109
+ 'gmd:MD_BrowseGraphic': 'mcc:MD_BrowseGraphic',
110
+ 'gmd:fileName': 'mcc:fileName',
111
+ 'gmd:fileDescription': 'mcc:fileDescription',
112
+ // no more URL elements
113
+ 'gmd:URL': 'gco:CharacterString',
114
+ });
115
+ }
116
+ async writeRecord(record, reference) {
117
+ let result = await super.writeRecord(record, reference);
118
+ // fix gco namespace definition (changes between iso19139 and iso19115-3
119
+ result = result.replace('"http://www.isotc211.org/2005/gco"', '"http://standards.iso.org/iso/19115/-3/gco/1.0"');
120
+ return result;
121
+ }
122
+ }
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvMTkxMTUtMy5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTExNS0zL2lzbzE5MTE1LTMuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsZUFBZSxFQUNmLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQ0wsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLDBCQUEwQixFQUMxQixXQUFXLEVBQ1gscUJBQXFCLEdBQ3RCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHN0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUN2RDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBRVAsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFBO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsaUJBQWlCLENBQUE7UUFDakQsSUFBSSxDQUFD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QW9CLEVBQUUsb0JBQW9CO1lBQzFDLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsd0JBQXdCLEVBQUUsd0JBQXdCO1lBQ2xELG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQywyQkFBMkIsRUFBRSwyQkFBMkI7WUFFeEQsWUFBWTtZQUNaLHFCQUFxQixFQUFFLHFCQUFxQjtZQUM1QyxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsY0FBYyxFQUFFLGNBQWM7WUFDOUIscUJBQXFCLEVBQUUscUJBQXFCO1lBRTVDLHVCQUF1QjtZQUN2QixTQUFTLEVBQUUscUJBQXFCO1NBQ2pDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUNmLE1BQXFCLEVBQ3JCLFNBQWtCO1FBRWxCLElBQUksTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDdkQsd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNyQixvQ0FBb0MsRUFDcEMsaURBQWlELENBQ2xELENBQUE7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElzbzE5MTM5Q29udmVydGVyIH0gZnJvbSAnLi4vaXNvMTkxMzknXG5pbXBvcnQge1xuICByZWFkQ29udGFjdHMsXG4gIHJlYWREaXN0cmlidXRpb25zLFxuICByZWFkS2luZCxcbiAgcmVhZExhbmRpbmdQYWdlLFxuICByZWFkTGluZWFnZSxcbiAgcmVhZE93bmVyT3JnYW5pemF0aW9uLFxuICByZWFkUmVjb3JkQ3JlYXRlZCxcbiAgcmVhZFJlY29yZFB1Ymxpc2hlZCxcbiAgcmVhZFJlY29yZFVwZGF0ZWQsXG4gIHJlYWRSZXNvdXJjZUNvbnRhY3RzLFxuICByZWFkVW5pcXVlSWRlbnRpZmllcixcbn0gZnJvbSAnLi9yZWFkLXBhcnRzJ1xuaW1wb3J0IHtcbiAgd3JpdGVDb250YWN0cyxcbiAgd3JpdGVDb250YWN0c0ZvclJlc291cmNlLFxuICB3cml0ZURpc3RyaWJ1dGlvbnMsXG4gIHdyaXRlS2luZCxcbiAgd3JpdGVMYW5kaW5nUGFnZSxcbiAgd3JpdGVMaW5lYWdlLFxuICB3cml0ZU93bmVyT3JnYW5pemF0aW9uLFxuICB3cml0ZVJlY29yZENyZWF0ZWQsXG4gIHdyaXRlUmVjb3JkUHVibGlzaGVkLFxuICB3cml0ZVJlY29yZFVwZGF0ZWQsXG4gIHdyaXRlUmVzb3VyY2VDcmVhdGVkLFxuICB3cml0ZVJlc291cmNlUHVibGlzaGVkLFxuICB3cml0ZVJlc291cmNlVXBkYXRlZCxcbiAgd3JpdGVTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gIHdyaXRlU3RhdHVzLFxuICB3cml0ZVVuaXF1ZUlkZW50aWZpZXIsXG59IGZyb20gJy4vd3JpdGUtcGFydHMnXG5pbXBvcnQgeyBYbWxFbGVtZW50IH0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5pbXBvcnQgeyByZW5hbWVFbGVtZW50cyB9IGZyb20gJy4uL3htbC11dGlscydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCBjbGFzcyBJc28xOTExNTNDb252ZXJ0ZXIgZXh0ZW5kcyBJc28xOTEzOUNvbnZlcnRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcblxuICAgIHRoaXMucmVhZGVyc1sndW5pcXVlSWRlbnRpZmllciddID0gcmVhZFVuaXF1ZUlkZW50aWZpZXJcbiAgICB0aGlzLnJlYWRlcnNbJ2tpbmQnXSA9IHJlYWRLaW5kXG4gICAgdGhpcy5yZWFkZXJzWydyZWNvcmRVcGRhdGVkJ10gPSByZWFkUmVjb3JkVXBkYXRlZFxuICAgIHRoaXMucmVhZGVyc1sncmVjb3JkQ3JlYXRlZCddID0gcmVhZFJlY29yZENyZWF0ZWRcbiAgICB0aGlzLnJlYWRlcnNbJ3JlY29yZFB1Ymxpc2hlZCddID0gcmVhZFJlY29yZFB1Ymxpc2hlZFxuICAgIHRoaXMucmVhZGVyc1snY29udGFjdHMnXSA9IHJlYWRDb250YWN0c1xuICAgIHRoaXMucmVhZGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddID0gcmVhZFJlc291cmNlQ29udGFjdHNcbiAgICB0aGlzLnJlYWRlcnNbJ293bmVyT3JnYW5pemF0aW9uJ10gPSByZWFkT3duZXJPcmdhbml6YXRpb25cbiAgICB0aGlzLnJlYWRlcnNbJ2xhbmRpbmdQYWdlJ10gPSByZWFkTGFuZGluZ1BhZ2VcbiAgICB0aGlzLnJlYWRlcnNbJ2xpbmVhZ2UnXSA9IHJlYWRMaW5lYWdlXG4gICAgdGhpcy5yZWFkZXJzWydkaXN0cmlidXRpb25zJ10gPSByZWFkRGlzdHJpYnV0aW9uc1xuXG4gICAgdGhpcy53cml0ZXJzWyd1bmlxdWVJZGVudGlmaWVyJ10gPSB3cml0ZVVuaXF1ZUlkZW50aWZpZXJcbiAgICB0aGlzLndyaXRlcnNbJ2tpbmQnXSA9IHdyaXRlS2luZFxuICAgIHRoaXMud3JpdGVyc1sncmVjb3JkVXBkYXRlZCddID0gd3JpdGVSZWNvcmRVcGRhdGVkXG4gICAgdGhpcy53cml0ZXJzWydyZWNvcmRDcmVhdGVkJ10gPSB3cml0ZVJlY29yZENyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3JlY29yZFB1Ymxpc2hlZCddID0gd3JpdGVSZWNvcmRQdWJsaXNoZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlVXBkYXRlZCddID0gd3JpdGVSZXNvdXJjZVVwZGF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlQ3JlYXRlZCddID0gd3JpdGVSZXNvdXJjZUNyZWF0ZWRcbiAgICB0aGlzLndyaXRlcnNbJ3Jlc291cmNlUHVibGlzaGVkJ10gPSB3cml0ZVJlc291cmNlUHVibGlzaGVkXG4gICAgdGhpcy53cml0ZXJzWydjb250YWN0cyddID0gd3JpdGVDb250YWN0c1xuICAgIHRoaXMud3JpdGVyc1snY29udGFjdHNGb3JSZXNvdXJjZSddID0gd3JpdGVDb250YWN0c0ZvclJlc291cmNlXG4gICAgdGhpcy53cml0ZXJzWydvd25lck9yZ2FuaXphdGlvbiddID0gd3JpdGVPd25lck9yZ2FuaXphdGlvblxuICAgIHRoaXMud3JpdGVyc1snbGFuZGluZ1BhZ2UnXSA9IHdyaXRlTGFuZGluZ1BhZ2VcbiAgICB0aGlzLndyaXRlcnNbJ2xpbmVhZ2UnXSA9IHdyaXRlTGluZWFnZVxuICAgIHRoaXMud3JpdGVyc1snZGlzdHJpYnV0aW9ucyddID0gd3JpdGVEaXN0cmlidXRpb25zXG4gICAgdGhpcy53cml0ZXJzWydzdGF0dXMnXSA9IHdyaXRlU3RhdHVzXG4gICAgdGhpcy53cml0ZXJzWydzcGF0aWFsUmVwcmVzZW50YXRpb24nXSA9IHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uXG4gIH1cblxuICBiZWZvcmVEb2N1bWVudENyZWF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCkge1xuICAgIHJlbmFtZUVsZW1lbnRzKHJvb3RFbCwge1xuICAgICAgZ21kOiAnbWRiJyxcbiAgICAgICdnbWQ6Y2hhcmFjdGVyRW5jb2RpbmcnOiAnbGFuOmNoYXJhY3RlckVuY29kaW5nJyxcbiAgICAgICdnbWQ6TURfQ2hhcmFjdGVyU2V0Q29kZSc6ICdsYW46TURfQ2hhcmFjdGVyU2V0Q29kZScsXG4gICAgICAnZ21kOk1EX0RhdGFJZGVudGlmaWNhdGlvbic6ICdtcmk6TURfRGF0YUlkZW50aWZpY2F0aW9uJyxcbiAgICAgICdnbWQ6Y2l0YXRpb24nOiAnbXJpOmNpdGF0aW9uJyxcbiAgICAgICdnbWQ6YWJzdHJhY3QnOiAnbXJpOmFic3RyYWN0JyxcbiAgICAgICdnbWQ6dGl0bGUnOiAnY2l0OnRpdGxlJyxcbiAgICAgICdnbWQ6Q0lfQ2l0YXRpb24nOiAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAgICdnbXg6QW5jaG9yJzogJ2djeDpBbmNob3InLFxuXG4gICAgICAvLyBsYW5ndWFnZXNcbiAgICAgICdnbWQ6UFRfTG9jYWxlJzogJ2xhbjpQVF9Mb2NhbGUnLFxuICAgICAgJ2dtZDpsYW5ndWFnZUNvZGUnOiAnbGFuOmxhbmd1YWdlQ29kZScsXG4gICAgICAnZ21kOkxhbmd1YWdlQ29kZSc6ICdsYW46TGFuZ3VhZ2VDb2RlJyxcblxuICAgICAgLy8gc3RhdHVzXG4gICAgICAnZ21kOnN0YXR1cyc6ICdtcmk6c3RhdHVzJyxcbiAgICAgICdnbWQ6TURfUHJvZ3Jlc3NDb2RlJzogJ21yaTpNRF9Qcm9ncmVzc0NvZGUnLFxuXG4gICAgICAvLyBkYXRlc1xuICAgICAgJ2dtZDpkYXRlJzogJ2NpdDpkYXRlJyxcbiAgICAgICdnbWQ6Q0lfRGF0ZSc6ICdjaXQ6Q0lfRGF0ZScsXG4gICAgICAnZ21kOmRhdGVUeXBlJzogJ2NpdDpkYXRlVHlwZScsXG4gICAgICAnZ21kOkNJX0RhdGVUeXBlQ29kZSc6ICdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyxcblxuICAgICAgLy8gY29udGFjdHNcbiAgICAgICdnbWQ6Q0lfUmVzcG9uc2liaWxpdHknOiAnY2l0OkNJX1Jlc3BvbnNpYmlsaXR5JyxcbiAgICAgICdnbWQ6cm9sZSc6ICdjaXQ6cm9sZScsXG4gICAgICAnZ21kOkNJX1JvbGVDb2RlJzogJ2NpdDpDSV9Sb2xlQ29kZScsXG5cbiAgICAgIC8vIGtleXdvcmRzXG4gICAgICAnZ21kOmRlc2NyaXB0aXZlS2V5d29yZHMnOiAnbXJpOmRlc2NyaXB0aXZlS2V5d29yZHMnLFxuICAgICAgJ2dtZDpNRF9LZXl3b3Jkcyc6ICdtcmk6TURfS2V5d29yZHMnLFxuICAgICAgJ2dtZDp0eXBlJzogJ21yaTp0eXBlJyxcbiAgICAgICdnbWQ6TURfS2V5d29yZFR5cGVDb2RlJzogJ21yaTpNRF9LZXl3b3JkVHlwZUNvZGUnLFxuICAgICAgJ2dtZDp0aGVzYXVydXNOYW1lJzogJ21yaTp0aGVzYXVydXNOYW1lJyxcbiAgICAgICdnbWQ6a2V5d29yZCc6ICdtcmk6a2V5d29yZCcsXG4gICAgICAnZ21kOmlkZW50aWZpZXInOiAnY2l0OmlkZW50aWZpZXInLFxuICAgICAgJ2dtZDpNRF9JZGVudGlmaWVyJzogJ21jYzpNRF9JZGVudGlmaWVyJyxcbiAgICAgICdnbWQ6Y29kZSc6ICdtY2M6Y29kZScsXG5cbiAgICAgIC8vIGRpc3RyaWJ1dGlvbnNcbiAgICAgICdnbWQ6TURfRGlzdHJpYnV0aW9uJzogJ21yZDpNRF9EaXN0cmlidXRpb24nLFxuICAgICAgJ2dtZDp0cmFuc2Zlck9wdGlvbnMnOiAnbXJkOnRyYW5zZmVyT3B0aW9ucycsXG4gICAgICAnZ21kOk1EX0RpZ2l0YWxUcmFuc2Zlck9wdGlvbnMnOiAnbXJkOk1EX0RpZ2l0YWxUcmFuc2Zlck9wdGlvbnMnLFxuICAgICAgJ2dtZDpvbkxpbmUnOiAnbXJkOm9uTGluZScsXG4gICAgICAnZ21kOmRpc3RyaWJ1dGlvbkZvcm1hdCc6ICdtcmQ6ZGlzdHJpYnV0aW9uRm9ybWF0JyxcbiAgICAgICdnbWQ6TURfRm9ybWF0JzogJ21yZDpNRF9Gb3JtYXQnLFxuICAgICAgJ2dtZDpDSV9PbmxpbmVSZXNvdXJjZSc6ICdjaXQ6Q0lfT25saW5lUmVzb3VyY2UnLFxuICAgICAgJ2dtZDpsaW5rYWdlJzogJ2NpdDpsaW5rYWdlJyxcbiAgICAgICdnbWQ6bmFtZSc6ICdjaXQ6bmFtZScsXG4gICAgICAnZ21kOmRlc2NyaXB0aW9uJzogJ2NpdDpkZXNjcmlwdGlvbicsXG4gICAgICAnZ21kOkNJX09uTGluZUZ1bmN0aW9uQ29kZSc6ICdjaXQ6Q0lfT25MaW5lRnVuY3Rpb25Db2RlJyxcbiAgICAgICdnbWQ6ZnVuY3Rpb24nOiAnY2l0OmZ1bmN0aW9uJyxcbiAgICAgICdnbWQ6cHJvdG9jb2wnOiAnY2l0OnByb3RvY29sJyxcblxuICAgICAgLy8gdG9waWNcbiAgICAgICdnbWQ6dG9waWNDYXRlZ29yeSc6ICdtcmk6dG9waWNDYXRlZ29yeScsXG4gICAgICAnZ21kOk1EX1RvcGljQ2F0ZWdvcnlDb2RlJzogJ21yaTpNRF9Ub3BpY0NhdGVnb3J5Q29kZScsXG5cbiAgICAgIC8vIHVwZGF0ZSBmcmVxdWVuY3lcbiAgICAgICdnbWQ6cmVzb3VyY2VNYWludGVuYW5jZSc6ICdtcmk6cmVzb3VyY2VNYWludGVuYW5jZScsXG4gICAgICAnZ21kOk1EX01haW50ZW5hbmNlSW5mb3JtYXRpb24nOiAnbW1pOk1EX01haW50ZW5hbmNlSW5mb3JtYXRpb24nLFxuICAgICAgJ2dtZDp1c2VyRGVmaW5lZE1haW50ZW5hbmNlRnJlcXVlbmN5JzpcbiAgICAgICAgJ21taTp1c2VyRGVmaW5lZE1haW50ZW5hbmNlRnJlcXVlbmN5JyxcbiAgICAgICdndHM6VE1fUGVyaW9kRHVyYXRpb24nOiAnZ2NvOlRNX1BlcmlvZER1cmF0aW9uJyxcblxuICAgICAgLy8gY29uc3RyYWludHNcbiAgICAgICdnbWQ6cmVzb3VyY2VDb25zdHJhaW50cyc6ICdtcmk6cmVzb3VyY2VDb25zdHJhaW50cycsXG4gICAgICAnZ21kOk1EX0NvbnN0cmFpbnRzJzogJ21jbzpNRF9Db25zdHJhaW50cycsXG4gICAgICAnZ21kOk1EX0xlZ2FsQ29uc3RyYWludHMnOiAnbWNvOk1EX0xlZ2FsQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9TZWN1cml0eUNvbnN0cmFpbnRzJzogJ21jbzpNRF9TZWN1cml0eUNvbnN0cmFpbnRzJyxcbiAgICAgICdnbWQ6dXNlTGltaXRhdGlvbic6ICdtY286dXNlTGltaXRhdGlvbicsXG4gICAgICAnZ21kOnVzZUNvbnN0cmFpbnRzJzogJ21jbzp1c2VDb25zdHJhaW50cycsXG4gICAgICAnZ21kOmFjY2Vzc0NvbnN0cmFpbnRzJzogJ21jbzphY2Nlc3NDb25zdHJhaW50cycsXG4gICAgICAnZ21kOm90aGVyQ29uc3RyYWludHMnOiAnbWNvOm90aGVyQ29uc3RyYWludHMnLFxuICAgICAgJ2dtZDpNRF9SZXN0cmljdGlvbkNvZGUnOiAnbWNvOk1EX1Jlc3RyaWN0aW9uQ29kZScsXG4gICAgICAnZ21kOmNsYXNzaWZpY2F0aW9uJzogJ21jbzpjbGFzc2lmaWNhdGlvbicsXG4gICAgICAnZ21kOk1EX0NsYXNzaWZpY2F0aW9uQ29kZSc6ICdtY286TURfQ2xhc3NpZmljYXRpb25Db2RlJyxcblxuICAgICAgLy8gb3ZlcnZpZXdzXG4gICAgICAnZ21kOmdyYXBoaWNPdmVydmlldyc6ICdtcmk6Z3JhcGhpY092ZXJ2aWV3JyxcbiAgICAgICdnbWQ6TURfQnJvd3NlR3JhcGhpYyc6ICdtY2M6TURfQnJvd3NlR3JhcGhpYycsXG4gICAgICAnZ21kOmZpbGVOYW1lJzogJ21jYzpmaWxlTmFtZScsXG4gICAgICAnZ21kOmZpbGVEZXNjcmlwdGlvbic6ICdtY2M6ZmlsZURlc2NyaXB0aW9uJyxcblxuICAgICAgLy8gbm8gbW9yZSBVUkwgZWxlbWVudHNcbiAgICAgICdnbWQ6VVJMJzogJ2djbzpDaGFyYWN0ZXJTdHJpbmcnLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB3cml0ZVJlY29yZChcbiAgICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gICAgcmVmZXJlbmNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHN1cGVyLndyaXRlUmVjb3JkKHJlY29yZCwgcmVmZXJlbmNlKVxuICAgIC8vIGZpeCBnY28gbmFtZXNwYWNlIGRlZmluaXRpb24gKGNoYW5nZXMgYmV0d2VlbiBpc28xOTEzOSBhbmQgaXNvMTkxMTUtM1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgJ1wiaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nY29cIicsXG4gICAgICAnXCJodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2djby8xLjBcIidcbiAgICApXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXX0=
@@ -0,0 +1,116 @@
1
+ import { findChildElement, findChildrenElement, findNestedElement, findNestedElements, findParent, readAttribute, } from '../xml-utils';
2
+ import { combine, filterArray, flattenArray, getAtIndex, map, mapArray, pipe, } from '../function-utils';
3
+ import { extractCharacterString, extractDatasetDistributions, extractDateTime, extractRole, extractUrl, findIdentification, } from '../iso19139/read-parts';
4
+ import { matchMimeType } from '../common/distribution.mapper';
5
+ import { fullNameToParts } from '../iso19139/utils/individual-name';
6
+ export function readKind(rootEl) {
7
+ return pipe(findNestedElement('mdb:metadataScope', 'mdb:MD_MetadataScope', 'mdb:resourceScope', 'mcc:MD_ScopeCode'), readAttribute('codeListValue'), map((scopeCode) => scopeCode === 'service' ? 'service' : 'dataset'))(rootEl);
8
+ }
9
+ export function findDistribution() {
10
+ return findNestedElement('mdb:distributionInfo', 'mrd:MD_Distribution');
11
+ }
12
+ // from cit:CI_Organisation
13
+ export function extractOrganization() {
14
+ const getUrl = pipe(findNestedElements('cit:contactInfo', 'cit:CI_Contact', 'cit:onlineResource', 'cit:CI_OnlineResource', 'cit:linkage'), getAtIndex(0), extractUrl());
15
+ return pipe(combine(pipe(findChildElement('cit:name', false), extractCharacterString()), getUrl), map(([name, website]) => ({
16
+ name,
17
+ ...(website && { website }),
18
+ })));
19
+ }
20
+ // from cit:CI_Individual or cit:CI_Organisation
21
+ export function extractIndividual(role, organization, orgContact) {
22
+ const getPosition = pipe(findChildElement('cit:positionName'), extractCharacterString());
23
+ const getNameParts = pipe(findChildElement('cit:name'), extractCharacterString(), map((fullName) => {
24
+ if (!fullName)
25
+ return [];
26
+ return fullNameToParts(fullName);
27
+ }));
28
+ const getContact = findNestedElement('cit:contactInfo', 'cit:CI_Contact');
29
+ const getAddressRoot = pipe(getContact, findNestedElement('cit:address', 'cit:CI_Address'));
30
+ const getAddress = pipe(getAddressRoot, combine(pipe(findChildElement('cit:deliveryPoint', false), extractCharacterString()), pipe(findChildElement('cit:city', false), extractCharacterString()), pipe(findChildElement('cit:postalCode', false), extractCharacterString()), pipe(findChildElement('cit:country', false), extractCharacterString())), map((parts) => parts.filter((p) => !!p).join(', ')));
31
+ const getPhone = pipe(getContact, findNestedElement('cit:phone', 'cit:CI_Telephone', 'cit:number'), extractCharacterString());
32
+ const getEmail = pipe(getAddressRoot, findChildElement('cit:electronicMailAddress', false), extractCharacterString());
33
+ const defaultOrg = {
34
+ name: 'Missing Organization',
35
+ };
36
+ let defaultIndividual = {};
37
+ if (orgContact) {
38
+ defaultIndividual = {
39
+ email: orgContact.email,
40
+ ...(orgContact.address && { address: orgContact.address }),
41
+ ...(orgContact.phone && { phone: orgContact.phone }),
42
+ ...(orgContact.position && { position: orgContact.position }),
43
+ organization,
44
+ };
45
+ }
46
+ return pipe(combine(getPosition, getNameParts, getEmail, getAddress, getPhone), map(([position, [firstName, lastName], email, address, phone]) => ({
47
+ ...defaultIndividual,
48
+ email: email || defaultIndividual.email || 'missing@missing.com',
49
+ role,
50
+ organization: organization || defaultOrg,
51
+ ...(position && { position }),
52
+ ...(firstName && { firstName }),
53
+ ...(lastName && { lastName }),
54
+ ...(address && { address }),
55
+ ...(phone && { phone }),
56
+ })));
57
+ }
58
+ // from cit:CI_Organisation
59
+ export function extractOrganizationIndividuals(role) {
60
+ return pipe(combine(extractOrganization(), extractIndividual(role), findNestedElements('cit:individual', 'cit:CI_Individual')), map(([org, orgContact, els]) => els.length
61
+ ? els.map((el) => extractIndividual(role, org, orgContact)(el))
62
+ : [
63
+ {
64
+ email: orgContact.email,
65
+ ...(orgContact.address && { address: orgContact.address }),
66
+ ...(orgContact.phone && { phone: orgContact.phone }),
67
+ ...(orgContact.position && { position: orgContact.position }),
68
+ organization: org,
69
+ role,
70
+ },
71
+ ]));
72
+ }
73
+ // from cit:CI_Responsibility
74
+ export function extractIndividuals() {
75
+ const getRole = pipe(findChildElement('cit:role'), extractRole());
76
+ const getIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Individual')), ([role, els]) => els.map((el) => extractIndividual(role)(el)));
77
+ const getOrgIndividuals = pipe(combine(getRole, findNestedElements('cit:party', 'cit:CI_Organisation')), map(([role, els]) => els.map((el) => extractOrganizationIndividuals(role)(el))), flattenArray());
78
+ return pipe(combine(getIndividuals, getOrgIndividuals), flattenArray());
79
+ }
80
+ export function readUniqueIdentifier(rootEl) {
81
+ return pipe(findNestedElement('mdb:metadataIdentifier', 'mcc:MD_Identifier', 'mcc:code'), extractCharacterString())(rootEl);
82
+ }
83
+ export function readOwnerOrganization(rootEl) {
84
+ const contacts = readContacts(rootEl);
85
+ const pointOfContact = contacts.filter((c) => c.role === 'point_of_contact')[0];
86
+ return (pointOfContact || contacts[0]).organization;
87
+ }
88
+ export function readContacts(rootEl) {
89
+ return pipe(findNestedElements('mdb:contact', 'cit:CI_Responsibility'), mapArray(extractIndividuals()), flattenArray())(rootEl);
90
+ }
91
+ export function readResourceContacts(rootEl) {
92
+ return pipe(combine(pipe(findIdentification(), findNestedElements('mri:citation', 'cit:CI_Citation', 'cit:citedResponsibleParty')), pipe(findIdentification(), findChildrenElement('mri:pointOfContact', false)), pipe(findDistribution(), findChildrenElement('mrd:distributorContact'))), flattenArray(), mapArray(findChildElement('cit:CI_Responsibility', false)), mapArray(extractIndividuals()), flattenArray())(rootEl);
93
+ }
94
+ export function readLandingPage(rootEl) {
95
+ return pipe(findNestedElement('mdb:metadataLinkage', 'cit:CI_OnlineResource', 'cit:linkage'), extractUrl())(rootEl);
96
+ }
97
+ export function readLineage(rootEl) {
98
+ return pipe(findNestedElement('mdb:resourceLineage', 'mrl:LI_Lineage', 'mrl:statement'), extractCharacterString())(rootEl);
99
+ }
100
+ function extractDateInfo(type) {
101
+ return pipe(findChildrenElement('mdb:dateInfo', false), filterArray((el) => pipe(findChildElement('cit:CI_DateTypeCode'), readAttribute('codeListValue'))(el) === type), getAtIndex(0), findChildElement('cit:date'), extractDateTime());
102
+ }
103
+ export function readRecordUpdated(rootEl) {
104
+ return extractDateInfo('revision')(rootEl);
105
+ }
106
+ export function readRecordCreated(rootEl) {
107
+ return extractDateInfo('creation')(rootEl);
108
+ }
109
+ export function readRecordPublished(rootEl) {
110
+ return extractDateInfo('publication')(rootEl);
111
+ }
112
+ const getMimeType = pipe(findParent('mrd:MD_Distribution'), findNestedElement('mrd:distributionFormat', 'mrd:MD_Format', 'mrd:formatSpecificationCitation', 'cit:CI_Citation', 'cit:title'), extractCharacterString(), map(matchMimeType));
113
+ export function readDistributions(rootEl) {
114
+ return pipe(findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'), mapArray(extractDatasetDistributions(getMimeType)), flattenArray())(rootEl);
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1wYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2lzbzE5MTE1LTMvcmVhZC1wYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixhQUFhLEdBRWQsTUFBTSxjQUFjLENBQUE7QUFDckIsT0FBTyxFQUVMLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixHQUFHLEVBQ0gsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZixXQUFXLEVBQ1gsVUFBVSxFQUNWLGtCQUFrQixHQUNuQixNQUFNLHdCQUF3QixDQUFBO0FBUS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFbkUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFrQjtJQUN6QyxPQUFPLElBQUksQ0FDVCxpQkFBaUIsQ0FDZixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixrQkFBa0IsQ0FDbkIsRUFDRCxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQzlCLEdBQUcsQ0FDRCxDQUFDLFNBQVMsRUFBYyxFQUFFLENBQ3hCLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRCxDQUNGLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLGlCQUFpQixDQUFDLHNCQUFzQixF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QWtCLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLENBQUMsRUFDakUsUUFBUSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xELFlBQVksRUFBRSxDQUNmLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZmluZENoaWxkRWxlbWVudCxcbiAgZmluZENoaWxkcmVuRWxlbWVudCxcbiAgZmluZE5lc3RlZEVsZW1lbnQsXG4gIGZpbmROZXN0ZWRFbGVtZW50cyxcbiAgZmluZFBhcmVudCxcbiAgcmVhZEF0dHJpYnV0ZSxcbiAgWG1sRWxlbWVudCxcbn0gZnJvbSAnLi4veG1sLXV0aWxzJ1xuaW1wb3J0IHtcbiAgQ2hhaW5hYmxlRnVuY3Rpb24sXG4gIGNvbWJpbmUsXG4gIGZpbHRlckFycmF5LFxuICBmbGF0dGVuQXJyYXksXG4gIGdldEF0SW5kZXgsXG4gIG1hcCxcbiAgbWFwQXJyYXksXG4gIHBpcGUsXG59IGZyb20gJy4uL2Z1bmN0aW9uLXV0aWxzJ1xuaW1wb3J0IHtcbiAgZXh0cmFjdENoYXJhY3RlclN0cmluZyxcbiAgZXh0cmFjdERhdGFzZXREaXN0cmlidXRpb25zLFxuICBleHRyYWN0RGF0ZVRpbWUsXG4gIGV4dHJhY3RSb2xlLFxuICBleHRyYWN0VXJsLFxuICBmaW5kSWRlbnRpZmljYXRpb24sXG59IGZyb20gJy4uL2lzbzE5MTM5L3JlYWQtcGFydHMnXG5pbXBvcnQge1xuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBJbmRpdmlkdWFsLFxuICBPcmdhbml6YXRpb24sXG4gIFJlY29yZEtpbmQsXG4gIFJvbGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1hdGNoTWltZVR5cGUgfSBmcm9tICcuLi9jb21tb24vZGlzdHJpYnV0aW9uLm1hcHBlcidcbmltcG9ydCB7IGZ1bGxOYW1lVG9QYXJ0cyB9IGZyb20gJy4uL2lzbzE5MTM5L3V0aWxzL2luZGl2aWR1YWwtbmFtZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRLaW5kKHJvb3RFbDogWG1sRWxlbWVudCk6IFJlY29yZEtpbmQge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudChcbiAgICAgICdtZGI6bWV0YWRhdGFTY29wZScsXG4gICAgICAnbWRiOk1EX01ldGFkYXRhU2NvcGUnLFxuICAgICAgJ21kYjpyZXNvdXJjZVNjb3BlJyxcbiAgICAgICdtY2M6TURfU2NvcGVDb2RlJ1xuICAgICksXG4gICAgcmVhZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScpLFxuICAgIG1hcChcbiAgICAgIChzY29wZUNvZGUpOiBSZWNvcmRLaW5kID0+XG4gICAgICAgIHNjb3BlQ29kZSA9PT0gJ3NlcnZpY2UnID8gJ3NlcnZpY2UnIDogJ2RhdGFzZXQnXG4gICAgKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmREaXN0cmlidXRpb24oKSB7XG4gIHJldHVybiBmaW5kTmVzdGVkRWxlbWVudCgnbWRiOmRpc3RyaWJ1dGlvbkluZm8nLCAnbXJkOk1EX0Rpc3RyaWJ1dGlvbicpXG59XG5cbi8vIGZyb20gY2l0OkNJX09yZ2FuaXNhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPcmdhbml6YXRpb24oKTogQ2hhaW5hYmxlRnVuY3Rpb248XG4gIFhtbEVsZW1lbnQsXG4gIE9yZ2FuaXphdGlvblxuPiB7XG4gIGNvbnN0IGdldFVybCA9IHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKFxuICAgICAgJ2NpdDpjb250YWN0SW5mbycsXG4gICAgICAnY2l0OkNJX0NvbnRhY3QnLFxuICAgICAgJ2NpdDpvbmxpbmVSZXNvdXJjZScsXG4gICAgICAnY2l0OkNJX09ubGluZVJlc291cmNlJyxcbiAgICAgICdjaXQ6bGlua2FnZSdcbiAgICApLFxuICAgIGdldEF0SW5kZXgoMCksXG4gICAgZXh0cmFjdFVybCgpXG4gIClcbiAgcmV0dXJuIHBpcGUoXG4gICAgY29tYmluZShcbiAgICAgIHBpcGUoZmluZENoaWxkRWxlbWVudCgnY2l0Om5hbWUnLCBmYWxzZSksIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSksXG4gICAgICBnZXRVcmxcbiAgICApLFxuICAgIG1hcCgoW25hbWUsIHdlYnNpdGVdKSA9PiAoe1xuICAgICAgbmFtZSxcbiAgICAgIC4uLih3ZWJzaXRlICYmIHsgd2Vic2l0ZSB9KSxcbiAgICB9KSlcbiAgKVxufVxuXG4vLyBmcm9tIGNpdDpDSV9JbmRpdmlkdWFsIG9yIGNpdDpDSV9PcmdhbmlzYXRpb25cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0SW5kaXZpZHVhbChcbiAgcm9sZTogUm9sZSxcbiAgb3JnYW5pemF0aW9uPzogT3JnYW5pemF0aW9uLFxuICBvcmdDb250YWN0PzogSW5kaXZpZHVhbFxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgSW5kaXZpZHVhbD4ge1xuICBjb25zdCBnZXRQb3NpdGlvbiA9IHBpcGUoXG4gICAgZmluZENoaWxkRWxlbWVudCgnY2l0OnBvc2l0aW9uTmFtZScpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGdldE5hbWVQYXJ0cyA9IHBpcGUoXG4gICAgZmluZENoaWxkRWxlbWVudCgnY2l0Om5hbWUnKSxcbiAgICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCksXG4gICAgbWFwKChmdWxsTmFtZSkgPT4ge1xuICAgICAgaWYgKCFmdWxsTmFtZSkgcmV0dXJuIFtdXG4gICAgICByZXR1cm4gZnVsbE5hbWVUb1BhcnRzKGZ1bGxOYW1lKVxuICAgIH0pXG4gIClcbiAgY29uc3QgZ2V0Q29udGFjdCA9IGZpbmROZXN0ZWRFbGVtZW50KCdjaXQ6Y29udGFjdEluZm8nLCAnY2l0OkNJX0NvbnRhY3QnKVxuICBjb25zdCBnZXRBZGRyZXNzUm9vdCA9IHBpcGUoXG4gICAgZ2V0Q29udGFjdCxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnY2l0OmFkZHJlc3MnLCAnY2l0OkNJX0FkZHJlc3MnKVxuICApXG4gIGNvbnN0IGdldEFkZHJlc3MgPSBwaXBlKFxuICAgIGdldEFkZHJlc3NSb290LFxuICAgIGNvbWJpbmUoXG4gICAgICBwaXBlKFxuICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6ZGVsaXZlcnlQb2ludCcsIGZhbHNlKSxcbiAgICAgICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gICAgICApLFxuICAgICAgcGlwZShmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Y2l0eScsIGZhbHNlKSwgZXh0cmFjdENoYXJhY3RlclN0cmluZygpKSxcbiAgICAgIHBpcGUoZmluZENoaWxkRWxlbWVudCgnY2l0OnBvc3RhbENvZGUnLCBmYWxzZSksIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKSksXG4gICAgICBwaXBlKGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpjb3VudHJ5JywgZmFsc2UpLCBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCkpXG4gICAgKSxcbiAgICBtYXAoKHBhcnRzKSA9PiBwYXJ0cy5maWx0ZXIoKHApID0+ICEhcCkuam9pbignLCAnKSlcbiAgKVxuICBjb25zdCBnZXRQaG9uZSA9IHBpcGUoXG4gICAgZ2V0Q29udGFjdCxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnY2l0OnBob25lJywgJ2NpdDpDSV9UZWxlcGhvbmUnLCAnY2l0Om51bWJlcicpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGdldEVtYWlsID0gcGlwZShcbiAgICBnZXRBZGRyZXNzUm9vdCxcbiAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6ZWxlY3Ryb25pY01haWxBZGRyZXNzJywgZmFsc2UpLFxuICAgIGV4dHJhY3RDaGFyYWN0ZXJTdHJpbmcoKVxuICApXG4gIGNvbnN0IGRlZmF1bHRPcmc6IE9yZ2FuaXphdGlvbiA9IHtcbiAgICBuYW1lOiAnTWlzc2luZyBPcmdhbml6YXRpb24nLFxuICB9XG5cbiAgbGV0IGRlZmF1bHRJbmRpdmlkdWFsOiBQYXJ0aWFsPEluZGl2aWR1YWw+ID0ge31cbiAgaWYgKG9yZ0NvbnRhY3QpIHtcbiAgICBkZWZhdWx0SW5kaXZpZHVhbCA9IHtcbiAgICAgIGVtYWlsOiBvcmdDb250YWN0LmVtYWlsLFxuICAgICAgLi4uKG9yZ0NvbnRhY3QuYWRkcmVzcyAmJiB7IGFkZHJlc3M6IG9yZ0NvbnRhY3QuYWRkcmVzcyB9KSxcbiAgICAgIC4uLihvcmdDb250YWN0LnBob25lICYmIHsgcGhvbmU6IG9yZ0NvbnRhY3QucGhvbmUgfSksXG4gICAgICAuLi4ob3JnQ29udGFjdC5wb3NpdGlvbiAmJiB7IHBvc2l0aW9uOiBvcmdDb250YWN0LnBvc2l0aW9uIH0pLFxuICAgICAgb3JnYW5pemF0aW9uLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwaXBlKFxuICAgIGNvbWJpbmUoZ2V0UG9zaXRpb24sIGdldE5hbWVQYXJ0cywgZ2V0RW1haWwsIGdldEFkZHJlc3MsIGdldFBob25lKSxcbiAgICBtYXAoKFtwb3NpdGlvbiwgW2ZpcnN0TmFtZSwgbGFzdE5hbWVdLCBlbWFpbCwgYWRkcmVzcywgcGhvbmVdKSA9PiAoe1xuICAgICAgLi4uZGVmYXVsdEluZGl2aWR1YWwsXG4gICAgICBlbWFpbDogZW1haWwgfHwgZGVmYXVsdEluZGl2aWR1YWwuZW1haWwgfHwgJ21pc3NpbmdAbWlzc2luZy5jb20nLFxuICAgICAgcm9sZSxcbiAgICAgIG9yZ2FuaXphdGlvbjogb3JnYW5pemF0aW9uIHx8IGRlZmF1bHRPcmcsXG4gICAgICAuLi4ocG9zaXRpb24gJiYgeyBwb3NpdGlvbiB9KSxcbiAgICAgIC4uLihmaXJzdE5hbWUgJiYgeyBmaXJzdE5hbWUgfSksXG4gICAgICAuLi4obGFzdE5hbWUgJiYgeyBsYXN0TmFtZSB9KSxcbiAgICAgIC4uLihhZGRyZXNzICYmIHsgYWRkcmVzcyB9KSxcbiAgICAgIC4uLihwaG9uZSAmJiB7IHBob25lIH0pLFxuICAgIH0pKVxuICApXG59XG5cbi8vIGZyb20gY2l0OkNJX09yZ2FuaXNhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPcmdhbml6YXRpb25JbmRpdmlkdWFscyhcbiAgcm9sZTogUm9sZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgQXJyYXk8SW5kaXZpZHVhbD4+IHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgY29tYmluZShcbiAgICAgIGV4dHJhY3RPcmdhbml6YXRpb24oKSxcbiAgICAgIGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUpLFxuICAgICAgZmluZE5lc3RlZEVsZW1lbnRzKCdjaXQ6aW5kaXZpZHVhbCcsICdjaXQ6Q0lfSW5kaXZpZHVhbCcpXG4gICAgKSxcbiAgICBtYXAoKFtvcmcsIG9yZ0NvbnRhY3QsIGVsc10pID0+XG4gICAgICBlbHMubGVuZ3RoXG4gICAgICAgID8gZWxzLm1hcCgoZWwpID0+IGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUsIG9yZywgb3JnQ29udGFjdCkoZWwpKVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZW1haWw6IG9yZ0NvbnRhY3QuZW1haWwsXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LmFkZHJlc3MgJiYgeyBhZGRyZXNzOiBvcmdDb250YWN0LmFkZHJlc3MgfSksXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LnBob25lICYmIHsgcGhvbmU6IG9yZ0NvbnRhY3QucGhvbmUgfSksXG4gICAgICAgICAgICAgIC4uLihvcmdDb250YWN0LnBvc2l0aW9uICYmIHsgcG9zaXRpb246IG9yZ0NvbnRhY3QucG9zaXRpb24gfSksXG4gICAgICAgICAgICAgIG9yZ2FuaXphdGlvbjogb3JnLFxuICAgICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgKVxuICApXG59XG5cbi8vIGZyb20gY2l0OkNJX1Jlc3BvbnNpYmlsaXR5XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEluZGl2aWR1YWxzKCk6IENoYWluYWJsZUZ1bmN0aW9uPFxuICBYbWxFbGVtZW50LFxuICBBcnJheTxJbmRpdmlkdWFsPlxuPiB7XG4gIGNvbnN0IGdldFJvbGUgPSBwaXBlKGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpyb2xlJyksIGV4dHJhY3RSb2xlKCkpXG4gIGNvbnN0IGdldEluZGl2aWR1YWxzID0gcGlwZShcbiAgICBjb21iaW5lKGdldFJvbGUsIGZpbmROZXN0ZWRFbGVtZW50cygnY2l0OnBhcnR5JywgJ2NpdDpDSV9JbmRpdmlkdWFsJykpLFxuICAgIChbcm9sZSwgZWxzXSkgPT4gZWxzLm1hcCgoZWwpID0+IGV4dHJhY3RJbmRpdmlkdWFsKHJvbGUpKGVsKSlcbiAgKVxuICBjb25zdCBnZXRPcmdJbmRpdmlkdWFscyA9IHBpcGUoXG4gICAgY29tYmluZShnZXRSb2xlLCBmaW5kTmVzdGVkRWxlbWVudHMoJ2NpdDpwYXJ0eScsICdjaXQ6Q0lfT3JnYW5pc2F0aW9uJykpLFxuICAgIG1hcCgoW3JvbGUsIGVsc10pID0+XG4gICAgICBlbHMubWFwKChlbCkgPT4gZXh0cmFjdE9yZ2FuaXphdGlvbkluZGl2aWR1YWxzKHJvbGUpKGVsKSlcbiAgICApLFxuICAgIGZsYXR0ZW5BcnJheSgpXG4gIClcblxuICByZXR1cm4gcGlwZShjb21iaW5lKGdldEluZGl2aWR1YWxzLCBnZXRPcmdJbmRpdmlkdWFscyksIGZsYXR0ZW5BcnJheSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFVuaXF1ZUlkZW50aWZpZXIocm9vdEVsOiBYbWxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhSWRlbnRpZmllcicsXG4gICAgICAnbWNjOk1EX0lkZW50aWZpZXInLFxuICAgICAgJ21jYzpjb2RlJ1xuICAgICksXG4gICAgZXh0cmFjdENoYXJhY3RlclN0cmluZygpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZE93bmVyT3JnYW5pemF0aW9uKHJvb3RFbDogWG1sRWxlbWVudCk6IE9yZ2FuaXphdGlvbiB7XG4gIGNvbnN0IGNvbnRhY3RzID0gcmVhZENvbnRhY3RzKHJvb3RFbClcbiAgY29uc3QgcG9pbnRPZkNvbnRhY3QgPSBjb250YWN0cy5maWx0ZXIoXG4gICAgKGMpID0+IGMucm9sZSA9PT0gJ3BvaW50X29mX2NvbnRhY3QnXG4gIClbMF1cbiAgcmV0dXJuIChwb2ludE9mQ29udGFjdCB8fCBjb250YWN0c1swXSkub3JnYW5pemF0aW9uXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkQ29udGFjdHMocm9vdEVsOiBYbWxFbGVtZW50KTogSW5kaXZpZHVhbFtdIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKCdtZGI6Y29udGFjdCcsICdjaXQ6Q0lfUmVzcG9uc2liaWxpdHknKSxcbiAgICBtYXBBcnJheShleHRyYWN0SW5kaXZpZHVhbHMoKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkUmVzb3VyY2VDb250YWN0cyhyb290RWw6IFhtbEVsZW1lbnQpOiBJbmRpdmlkdWFsW10ge1xuICByZXR1cm4gcGlwZShcbiAgICBjb21iaW5lKFxuICAgICAgcGlwZShcbiAgICAgICAgZmluZElkZW50aWZpY2F0aW9uKCksXG4gICAgICAgIGZpbmROZXN0ZWRFbGVtZW50cyhcbiAgICAgICAgICAnbXJpOmNpdGF0aW9uJyxcbiAgICAgICAgICAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAgICAgICAnY2l0OmNpdGVkUmVzcG9uc2libGVQYXJ0eSdcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHBpcGUoXG4gICAgICAgIGZpbmRJZGVudGlmaWNhdGlvbigpLFxuICAgICAgICBmaW5kQ2hpbGRyZW5FbGVtZW50KCdtcmk6cG9pbnRPZkNvbnRhY3QnLCBmYWxzZSlcbiAgICAgICksXG4gICAgICBwaXBlKGZpbmREaXN0cmlidXRpb24oKSwgZmluZENoaWxkcmVuRWxlbWVudCgnbXJkOmRpc3RyaWJ1dG9yQ29udGFjdCcpKVxuICAgICksXG4gICAgZmxhdHRlbkFycmF5KCksXG4gICAgbWFwQXJyYXkoZmluZENoaWxkRWxlbWVudCgnY2l0OkNJX1Jlc3BvbnNpYmlsaXR5JywgZmFsc2UpKSxcbiAgICBtYXBBcnJheShleHRyYWN0SW5kaXZpZHVhbHMoKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkTGFuZGluZ1BhZ2Uocm9vdEVsOiBYbWxFbGVtZW50KTogVVJMIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnQoXG4gICAgICAnbWRiOm1ldGFkYXRhTGlua2FnZScsXG4gICAgICAnY2l0OkNJX09ubGluZVJlc291cmNlJyxcbiAgICAgICdjaXQ6bGlua2FnZSdcbiAgICApLFxuICAgIGV4dHJhY3RVcmwoKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRMaW5lYWdlKHJvb3RFbDogWG1sRWxlbWVudCk6IHN0cmluZyB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmROZXN0ZWRFbGVtZW50KCdtZGI6cmVzb3VyY2VMaW5lYWdlJywgJ21ybDpMSV9MaW5lYWdlJywgJ21ybDpzdGF0ZW1lbnQnKSxcbiAgICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKClcbiAgKShyb290RWwpXG59XG5cbmZ1bmN0aW9uIGV4dHJhY3REYXRlSW5mbyhcbiAgdHlwZTogJ2NyZWF0aW9uJyB8ICdyZXZpc2lvbicgfCAncHVibGljYXRpb24nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBEYXRlPiB7XG4gIHJldHVybiBwaXBlKFxuICAgIGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21kYjpkYXRlSW5mbycsIGZhbHNlKSxcbiAgICBmaWx0ZXJBcnJheShcbiAgICAgIChlbCkgPT5cbiAgICAgICAgcGlwZShcbiAgICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyksXG4gICAgICAgICAgcmVhZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScpXG4gICAgICAgICkoZWwpID09PSB0eXBlXG4gICAgKSxcbiAgICBnZXRBdEluZGV4KDApLFxuICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpkYXRlJyksXG4gICAgZXh0cmFjdERhdGVUaW1lKClcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFVwZGF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ3JldmlzaW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZENyZWF0ZWQocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0ZSB7XG4gIHJldHVybiBleHRyYWN0RGF0ZUluZm8oJ2NyZWF0aW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFJlY29yZFB1Ymxpc2hlZChyb290RWw6IFhtbEVsZW1lbnQpOiBEYXRlIHtcbiAgcmV0dXJuIGV4dHJhY3REYXRlSW5mbygncHVibGljYXRpb24nKShyb290RWwpXG59XG5cbmNvbnN0IGdldE1pbWVUeXBlID0gcGlwZShcbiAgZmluZFBhcmVudCgnbXJkOk1EX0Rpc3RyaWJ1dGlvbicpLFxuICBmaW5kTmVzdGVkRWxlbWVudChcbiAgICAnbXJkOmRpc3RyaWJ1dGlvbkZvcm1hdCcsXG4gICAgJ21yZDpNRF9Gb3JtYXQnLFxuICAgICdtcmQ6Zm9ybWF0U3BlY2lmaWNhdGlvbkNpdGF0aW9uJyxcbiAgICAnY2l0OkNJX0NpdGF0aW9uJyxcbiAgICAnY2l0OnRpdGxlJ1xuICApLFxuICBleHRyYWN0Q2hhcmFjdGVyU3RyaW5nKCksXG4gIG1hcChtYXRjaE1pbWVUeXBlKVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZERpc3RyaWJ1dGlvbnMocm9vdEVsOiBYbWxFbGVtZW50KTogRGF0YXNldERpc3RyaWJ1dGlvbltdIHtcbiAgcmV0dXJuIHBpcGUoXG4gICAgZmluZE5lc3RlZEVsZW1lbnRzKCdtcmQ6ZGlzdHJpYnV0aW9uSW5mbycsICdtcmQ6TURfRGlzdHJpYnV0aW9uJyksXG4gICAgbWFwQXJyYXkoZXh0cmFjdERhdGFzZXREaXN0cmlidXRpb25zKGdldE1pbWVUeXBlKSksXG4gICAgZmxhdHRlbkFycmF5KClcbiAgKShyb290RWwpXG59XG4iXX0=
@@ -0,0 +1,138 @@
1
+ import { addAttribute, allChildrenElement, appendChildren, appendChildTree, createChild, createElement, findChildElement, findChildOrCreate, findChildrenElement, findNestedChildOrCreate, findNestedElement, findNestedElements, readAttribute, removeAllChildren, removeChildren, removeChildrenByName, setTextContent, } from '../xml-utils';
2
+ import { fallback, filterArray, getAtIndex, map, mapArray, noop, pipe, } from '../function-utils';
3
+ import { appendDistribution, appendKeywords, createDistributionInfo, findOrCreateDistribution, findOrCreateIdentification, getProgressCode, getRoleCode, removeKeywords, writeCharacterString, writeDateTime, writeLinkage, } from '../iso19139/write-parts';
4
+ import { findIdentification } from '../iso19139/read-parts';
5
+ import { namePartsToFull } from '../iso19139/utils/individual-name';
6
+ export function writeUniqueIdentifier(record, rootEl) {
7
+ pipe(findChildOrCreate('mdb:metadataIdentifier'), findChildOrCreate('mcc:MD_Identifier'), findChildOrCreate('mcc:code'), writeCharacterString(record.uniqueIdentifier))(rootEl);
8
+ }
9
+ export function writeKind(record, rootEl) {
10
+ pipe(findNestedChildOrCreate('mdb:metadataScope', 'mdb:MD_MetadataScope', 'mdb:resourceScope', 'mcc:MD_ScopeCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_ScopeCode'), addAttribute('codeListValue', record.kind), setTextContent(record.kind))(rootEl);
11
+ }
12
+ function removeRecordDate(type) {
13
+ return removeChildren(pipe(findChildrenElement('mdb:dateInfo', false), filterArray(pipe(findChildElement('cit:CI_DateTypeCode'), readAttribute('codeListValue'), map((value) => value === type)))));
14
+ }
15
+ function appendRecordDate(date, type) {
16
+ return appendChildren(pipe(createElement('mdb:dateInfo'), createChild('cit:CI_Date'), appendChildren(pipe(createElement('cit:date'), writeDateTime(date)), pipe(createElement('cit:dateType'), createChild('cit:CI_DateTypeCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode'), addAttribute('codeListValue', type), setTextContent(type)))));
17
+ }
18
+ export function writeRecordUpdated(record, rootEl) {
19
+ removeRecordDate('revision')(rootEl);
20
+ appendRecordDate(record.recordUpdated, 'revision')(rootEl);
21
+ }
22
+ export function writeRecordCreated(record, rootEl) {
23
+ removeRecordDate('creation')(rootEl);
24
+ if (!('recordCreated' in record))
25
+ return;
26
+ appendRecordDate(record.recordCreated, 'creation')(rootEl);
27
+ }
28
+ export function writeRecordPublished(record, rootEl) {
29
+ removeRecordDate('publication')(rootEl);
30
+ if (!('recordPublished' in record))
31
+ return;
32
+ appendRecordDate(record.recordPublished, 'publication')(rootEl);
33
+ }
34
+ function removeResourceDate(type) {
35
+ return pipe(findIdentification(), findNestedElement('mri:citation', 'cit:CI_Citation'), removeChildren(pipe(findChildrenElement('cit:date', false), filterArray(pipe(findChildElement('cit:CI_DateTypeCode'), readAttribute('codeListValue'), map((value) => value === type))))));
36
+ }
37
+ function appendResourceDate(date, type) {
38
+ return pipe(findIdentification(), findNestedElement('mri:citation', 'cit:CI_Citation'), appendChildren(pipe(createElement('cit:date'), createChild('cit:CI_Date'), appendChildren(pipe(createElement('cit:date'), writeDateTime(date)), pipe(createElement('cit:dateType'), createChild('cit:CI_DateTypeCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode'), addAttribute('codeListValue', type), setTextContent(type))))));
39
+ }
40
+ export function writeResourceUpdated(record, rootEl) {
41
+ removeResourceDate('revision')(rootEl);
42
+ if (!('resourceUpdated' in record))
43
+ return;
44
+ appendResourceDate(record.resourceUpdated, 'revision')(rootEl);
45
+ }
46
+ export function writeResourceCreated(record, rootEl) {
47
+ removeResourceDate('creation')(rootEl);
48
+ if (!('resourceCreated' in record))
49
+ return;
50
+ appendResourceDate(record.resourceCreated, 'creation')(rootEl);
51
+ }
52
+ export function writeResourcePublished(record, rootEl) {
53
+ removeResourceDate('publication')(rootEl);
54
+ if (!('resourcePublished' in record))
55
+ return;
56
+ appendResourceDate(record.resourcePublished, 'publication')(rootEl);
57
+ }
58
+ export function writeOwnerOrganization(record, rootEl) {
59
+ // if no contact matches the owner org, create an empty one
60
+ const ownerContact = record.contacts.find((contact) => contact.organization.name === record.ownerOrganization.name);
61
+ pipe(findChildOrCreate('mdb:contact'), removeAllChildren(), appendResponsibleParty(ownerContact
62
+ ? {
63
+ ...ownerContact,
64
+ // owner responsible party is always point of contact
65
+ role: 'point_of_contact',
66
+ }
67
+ : {
68
+ organization: record.ownerOrganization,
69
+ email: 'missing@missing.com',
70
+ role: 'point_of_contact',
71
+ }))(rootEl);
72
+ }
73
+ export function appendResponsibleParty(contact) {
74
+ const fullName = namePartsToFull(contact.firstName, contact.lastName);
75
+ const createIndividual = pipe(createElement('cit:individual'), createChild('cit:CI_Individual'), fullName
76
+ ? appendChildren(pipe(createElement('cit:name'), writeCharacterString(fullName)))
77
+ : noop, contact.position
78
+ ? appendChildren(pipe(createElement('cit:positionName'), writeCharacterString(contact.position)))
79
+ : noop);
80
+ const createContactInfo = pipe(createElement('cit:contactInfo'), createChild('cit:CI_Contact'), appendChildren(pipe(createElement('cit:address'), createChild('cit:CI_Address'), appendChildren(pipe(createElement('cit:electronicMailAddress'), writeCharacterString(contact.email))), contact.address
81
+ ? appendChildren(pipe(createElement('cit:deliveryPoint'), writeCharacterString(contact.address)))
82
+ : noop)), contact.organization?.website
83
+ ? appendChildren(pipe(createElement('cit:onlineResource'), createChild('cit:CI_OnlineResource'), createChild('cit:linkage'), writeCharacterString(contact.organization.website.toString())))
84
+ : noop, contact.phone
85
+ ? appendChildren(pipe(createElement('cit:phone'), createChild('cit:CI_Telephone'), createChild('cit:number'), writeCharacterString(contact.phone)))
86
+ : noop);
87
+ const createRole = pipe(createElement('cit:role'), createChild('cit:CI_RoleCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_RoleCode'), addAttribute('codeListValue', getRoleCode(contact.role)), setTextContent(getRoleCode(contact.role)));
88
+ const createParty = pipe(createElement('cit:party'), createChild('cit:CI_Organisation'), contact.organization?.name
89
+ ? appendChildren(pipe(createElement('cit:name'), writeCharacterString(contact.organization?.name)))
90
+ : noop, appendChildren(createContactInfo, createIndividual));
91
+ return appendChildren(pipe(createElement('cit:CI_Responsibility'), appendChildren(createRole, createParty)));
92
+ }
93
+ export function writeContacts(record, rootEl) {
94
+ pipe(removeChildrenByName('mdb:contact'), appendChildren(...record.contacts.map((contact) => pipe(createElement('gmd:contact'), appendResponsibleParty(contact)))))(rootEl);
95
+ }
96
+ export function writeContactsForResource(record, rootEl) {
97
+ const withoutDistributors = record.contactsForResource.filter((c) => c.role !== 'distributor');
98
+ const distributors = record.contactsForResource.filter((c) => c.role === 'distributor');
99
+ pipe(findOrCreateIdentification(), removeChildrenByName('mri:pointOfContact'), appendChildren(...withoutDistributors.map((contact) => pipe(createElement('mri:pointOfContact'), appendResponsibleParty(contact)))))(rootEl);
100
+ if (!distributors.length)
101
+ return;
102
+ pipe(findOrCreateDistribution(), removeChildrenByName('mrd:distributor'), createChild('mrd:distributor'), createChild('mrd:MD_Distributor'), appendChildren(...distributors.map((contact) => pipe(createElement('mrd:distributorContact'), appendResponsibleParty(contact)))))(rootEl);
103
+ }
104
+ export function writeKeywords(record, rootEl) {
105
+ pipe(findOrCreateIdentification(), removeKeywords(), appendKeywords(record.keywords))(rootEl);
106
+ }
107
+ export function writeLandingPage(record, rootEl) {
108
+ pipe(findNestedChildOrCreate('mdb:metadataLinkage', 'cit:CI_OnlineResource', 'cit:linkage'), writeLinkage(record.landingPage))(rootEl);
109
+ }
110
+ export function writeLineage(record, rootEl) {
111
+ pipe(findNestedChildOrCreate('mdb:resourceLineage', 'mrl:LI_Lineage', 'mrl:statement'), writeCharacterString(record.lineage))(rootEl);
112
+ }
113
+ export function writeStatus(record, rootEl) {
114
+ const progressCode = getProgressCode(record.status);
115
+ pipe(findOrCreateIdentification(), findNestedChildOrCreate('mri:status', 'mcc:MD_ProgressCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_ProgressCode'), addAttribute('codeListValue', progressCode), setTextContent(progressCode))(rootEl);
116
+ }
117
+ export function writeSpatialRepresentation(record, rootEl) {
118
+ pipe(findOrCreateIdentification(), findNestedChildOrCreate('mri:spatialRepresentationType', 'mcc:MD_SpatialRepresentationTypeCode'), addAttribute('codeList', 'https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_SpatialRepresentationTypeCode'), addAttribute('codeListValue', record.spatialRepresentation), setTextContent(record.spatialRepresentation))(rootEl);
119
+ }
120
+ // this will remove all transfer options and formats from distribution info
121
+ // and remove empty distribution info
122
+ function removeTransferOptions(rootEl) {
123
+ // remove transfer options & formats
124
+ pipe(findNestedElements('mdb:distributionInfo', 'mrd:MD_Distribution'), mapArray(pipe(removeChildren(findChildrenElement('mrd:distributionFormat', false)), removeChildren(findChildrenElement('mrd:transferOptions', false)))))(rootEl);
125
+ // remove empty distributions
126
+ removeChildren(pipe(findChildrenElement('mdb:distributionInfo', false), filterArray(pipe(findChildElement('mrd:MD_Distribution'), allChildrenElement, map((children) => children.length === 0)))))(rootEl);
127
+ }
128
+ function appendDistributionFormat(mimeType) {
129
+ return appendChildren(pipe(createElement('mrd:distributionFormat'), createChild('mrd:MD_Format'), createChild('mrd:formatSpecificationCitation'), createChild('cit:CI_Citation'), createChild('cit:title'), writeCharacterString(mimeType)));
130
+ }
131
+ export function writeDistributions(record, rootEl) {
132
+ removeTransferOptions(rootEl);
133
+ // for each distribution, either find an existing distribution info or create a new one
134
+ record.distributions.forEach((distribution, index) => {
135
+ pipe(fallback(pipe(findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'), getAtIndex(index)), appendChildTree(createDistributionInfo())), appendDistribution(distribution, appendDistributionFormat))(rootEl);
136
+ });
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtcGFydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTExNS0zL3dyaXRlLXBhcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFDTCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsY0FBYyxHQUVmLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFVBQVUsRUFDVixHQUFHLEVBQ0gsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEdBQ0wsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YsV0FBVyxFQUVYLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHlCQUF5QixDQUFBO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUVuRSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE1BQXFCLEVBQ3JCLE1BQWtCO0lBRWxCLElBQUksQ0FDRixpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUMzQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUN0QyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFD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Y29yZCxcbiAgRGF0YXNldFJlY29yZCxcbiAgSW5kaXZpZHVhbCxcbiAgU2VydmljZU9ubGluZVJlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBhZGRBdHRyaWJ1dGUsXG4gIGFsbENoaWxkcmVuRWxlbWVudCxcbiAgYXBwZW5kQ2hpbGRyZW4sXG4gIGFwcGVuZENoaWxkVHJlZSxcbiAgY3JlYXRlQ2hpbGQsXG4gIGNyZWF0ZUVsZW1lbnQsXG4gIGZpbmRDaGlsZEVsZW1lbnQsXG4gIGZpbmRDaGlsZE9yQ3JlYXRlLFxuICBmaW5kQ2hpbGRyZW5FbGVtZW50LFxuICBmaW5kTmVzdGVkQ2hpbGRPckNyZWF0ZSxcbiAgZmluZE5lc3RlZEVsZW1lbnQsXG4gIGZpbmROZXN0ZWRFbGVtZW50cyxcbiAgcmVhZEF0dHJpYnV0ZSxcbiAgcmVtb3ZlQWxsQ2hpbGRyZW4sXG4gIHJlbW92ZUNoaWxkcmVuLFxuICByZW1vdmVDaGlsZHJlbkJ5TmFtZSxcbiAgc2V0VGV4dENvbnRlbnQsXG4gIFhtbEVsZW1lbnQsXG59IGZyb20gJy4uL3htbC11dGlscydcbmltcG9ydCB7XG4gIGZhbGxiYWNrLFxuICBmaWx0ZXJBcnJheSxcbiAgZ2V0QXRJbmRleCxcbiAgbWFwLFxuICBtYXBBcnJheSxcbiAgbm9vcCxcbiAgcGlwZSxcbn0gZnJvbSAnLi4vZnVuY3Rpb24tdXRpbHMnXG5pbXBvcnQge1xuICBhcHBlbmREaXN0cmlidXRpb24sXG4gIGFwcGVuZEtleXdvcmRzLFxuICBjcmVhdGVEaXN0cmlidXRpb25JbmZvLFxuICBmaW5kT3JDcmVhdGVEaXN0cmlidXRpb24sXG4gIGZpbmRPckNyZWF0ZUlkZW50aWZpY2F0aW9uLFxuICBnZXRQcm9ncmVzc0NvZGUsXG4gIGdldFJvbGVDb2RlLFxuICBnZXRTZXJ2aWNlRW5kcG9pbnRQcm90b2NvbCxcbiAgcmVtb3ZlS2V5d29yZHMsXG4gIHdyaXRlQ2hhcmFjdGVyU3RyaW5nLFxuICB3cml0ZURhdGVUaW1lLFxuICB3cml0ZUxpbmthZ2UsXG59IGZyb20gJy4uL2lzbzE5MTM5L3dyaXRlLXBhcnRzJ1xuaW1wb3J0IHsgZmluZElkZW50aWZpY2F0aW9uIH0gZnJvbSAnLi4vaXNvMTkxMzkvcmVhZC1wYXJ0cydcbmltcG9ydCB7IG5hbWVQYXJ0c1RvRnVsbCB9IGZyb20gJy4uL2lzbzE5MTM5L3V0aWxzL2luZGl2aWR1YWwtbmFtZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlVW5pcXVlSWRlbnRpZmllcihcbiAgcmVjb3JkOiBDYXRhbG9nUmVjb3JkLFxuICByb290RWw6IFhtbEVsZW1lbnRcbikge1xuICBwaXBlKFxuICAgIGZpbmRDaGlsZE9yQ3JlYXRlKCdtZGI6bWV0YWRhdGFJZGVudGlmaWVyJyksXG4gICAgZmluZENoaWxkT3JDcmVhdGUoJ21jYzpNRF9JZGVudGlmaWVyJyksXG4gICAgZmluZENoaWxkT3JDcmVhdGUoJ21jYzpjb2RlJyksXG4gICAgd3JpdGVDaGFyYWN0ZXJTdHJpbmcocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVLaW5kKHJlY29yZDogQ2F0YWxvZ1JlY29yZCwgcm9vdEVsOiBYbWxFbGVtZW50KSB7XG4gIHBpcGUoXG4gICAgZmluZE5lc3RlZENoaWxkT3JDcmVhdGUoXG4gICAgICAnbWRiOm1ldGFkYXRhU2NvcGUnLFxuICAgICAgJ21kYjpNRF9NZXRhZGF0YVNjb3BlJyxcbiAgICAgICdtZGI6cmVzb3VyY2VTY29wZScsXG4gICAgICAnbWNjOk1EX1Njb3BlQ29kZSdcbiAgICApLFxuICAgIGFkZEF0dHJpYnV0ZShcbiAgICAgICdjb2RlTGlzdCcsXG4gICAgICAnaHR0cHM6Ly9zdGFuZGFyZHMuaXNvLm9yZy9pc28vMTkxMTUvcmVzb3VyY2VzL0NvZGVsaXN0cy9jYXQvY29kZWxpc3RzLnhtbCNNRF9TY29wZUNvZGUnXG4gICAgKSxcbiAgICBhZGRBdHRyaWJ1dGUoJ2NvZGVMaXN0VmFsdWUnLCByZWNvcmQua2luZCksXG4gICAgc2V0VGV4dENvbnRlbnQocmVjb3JkLmtpbmQpXG4gICkocm9vdEVsKVxufVxuXG5mdW5jdGlvbiByZW1vdmVSZWNvcmREYXRlKHR5cGU6ICdyZXZpc2lvbicgfCAnY3JlYXRpb24nIHwgJ3B1YmxpY2F0aW9uJykge1xuICByZXR1cm4gcmVtb3ZlQ2hpbGRyZW4oXG4gICAgcGlwZShcbiAgICAgIGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21kYjpkYXRlSW5mbycsIGZhbHNlKSxcbiAgICAgIGZpbHRlckFycmF5KFxuICAgICAgICBwaXBlKFxuICAgICAgICAgIGZpbmRDaGlsZEVsZW1lbnQoJ2NpdDpDSV9EYXRlVHlwZUNvZGUnKSxcbiAgICAgICAgICByZWFkQXR0cmlidXRlKCdjb2RlTGlzdFZhbHVlJyksXG4gICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gdmFsdWUgPT09IHR5cGUpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZnVuY3Rpb24gYXBwZW5kUmVjb3JkRGF0ZShcbiAgZGF0ZTogRGF0ZSxcbiAgdHlwZTogJ3JldmlzaW9uJyB8ICdjcmVhdGlvbicgfCAncHVibGljYXRpb24nXG4pIHtcbiAgcmV0dXJuIGFwcGVuZENoaWxkcmVuKFxuICAgIHBpcGUoXG4gICAgICBjcmVhdGVFbGVtZW50KCdtZGI6ZGF0ZUluZm8nKSxcbiAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfRGF0ZScpLFxuICAgICAgYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAgIHBpcGUoY3JlYXRlRWxlbWVudCgnY2l0OmRhdGUnKSwgd3JpdGVEYXRlVGltZShkYXRlKSksXG4gICAgICAgIHBpcGUoXG4gICAgICAgICAgY3JlYXRlRWxlbWVudCgnY2l0OmRhdGVUeXBlJyksXG4gICAgICAgICAgY3JlYXRlQ2hpbGQoJ2NpdDpDSV9EYXRlVHlwZUNvZGUnKSxcbiAgICAgICAgICBhZGRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnY29kZUxpc3QnLFxuICAgICAgICAgICAgJ2h0dHBzOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1L3Jlc291cmNlcy9Db2RlbGlzdHMvY2F0L2NvZGVsaXN0cy54bWwjQ0lfRGF0ZVR5cGVDb2RlJ1xuICAgICAgICAgICksXG4gICAgICAgICAgYWRkQXR0cmlidXRlKCdjb2RlTGlzdFZhbHVlJywgdHlwZSksXG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQodHlwZSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVSZWNvcmRVcGRhdGVkKHJlY29yZDogQ2F0YWxvZ1JlY29yZCwgcm9vdEVsOiBYbWxFbGVtZW50KSB7XG4gIHJlbW92ZVJlY29yZERhdGUoJ3JldmlzaW9uJykocm9vdEVsKVxuICBhcHBlbmRSZWNvcmREYXRlKHJlY29yZC5yZWNvcmRVcGRhdGVkLCAncmV2aXNpb24nKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVJlY29yZENyZWF0ZWQocmVjb3JkOiBDYXRhbG9nUmVjb3JkLCByb290RWw6IFhtbEVsZW1lbnQpIHtcbiAgcmVtb3ZlUmVjb3JkRGF0ZSgnY3JlYXRpb24nKShyb290RWwpXG4gIGlmICghKCdyZWNvcmRDcmVhdGVkJyBpbiByZWNvcmQpKSByZXR1cm5cbiAgYXBwZW5kUmVjb3JkRGF0ZShyZWNvcmQucmVjb3JkQ3JlYXRlZCwgJ2NyZWF0aW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVSZWNvcmRQdWJsaXNoZWQoXG4gIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgcm9vdEVsOiBYbWxFbGVtZW50XG4pIHtcbiAgcmVtb3ZlUmVjb3JkRGF0ZSgncHVibGljYXRpb24nKShyb290RWwpXG4gIGlmICghKCdyZWNvcmRQdWJsaXNoZWQnIGluIHJlY29yZCkpIHJldHVyblxuICBhcHBlbmRSZWNvcmREYXRlKHJlY29yZC5yZWNvcmRQdWJsaXNoZWQsICdwdWJsaWNhdGlvbicpKHJvb3RFbClcbn1cblxuZnVuY3Rpb24gcmVtb3ZlUmVzb3VyY2VEYXRlKHR5cGU6ICdyZXZpc2lvbicgfCAnY3JlYXRpb24nIHwgJ3B1YmxpY2F0aW9uJykge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kSWRlbnRpZmljYXRpb24oKSxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnbXJpOmNpdGF0aW9uJywgJ2NpdDpDSV9DaXRhdGlvbicpLFxuICAgIHJlbW92ZUNoaWxkcmVuKFxuICAgICAgcGlwZShcbiAgICAgICAgZmluZENoaWxkcmVuRWxlbWVudCgnY2l0OmRhdGUnLCBmYWxzZSksXG4gICAgICAgIGZpbHRlckFycmF5KFxuICAgICAgICAgIHBpcGUoXG4gICAgICAgICAgICBmaW5kQ2hpbGRFbGVtZW50KCdjaXQ6Q0lfRGF0ZVR5cGVDb2RlJyksXG4gICAgICAgICAgICByZWFkQXR0cmlidXRlKCdjb2RlTGlzdFZhbHVlJyksXG4gICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gdHlwZSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZnVuY3Rpb24gYXBwZW5kUmVzb3VyY2VEYXRlKFxuICBkYXRlOiBEYXRlLFxuICB0eXBlOiAncmV2aXNpb24nIHwgJ2NyZWF0aW9uJyB8ICdwdWJsaWNhdGlvbidcbikge1xuICByZXR1cm4gcGlwZShcbiAgICBmaW5kSWRlbnRpZmljYXRpb24oKSxcbiAgICBmaW5kTmVzdGVkRWxlbWVudCgnbXJpOmNpdGF0aW9uJywgJ2NpdDpDSV9DaXRhdGlvbicpLFxuICAgIGFwcGVuZENoaWxkcmVuKFxuICAgICAgcGlwZShcbiAgICAgICAgY3JlYXRlRWxlbWVudCgnY2l0OmRhdGUnKSxcbiAgICAgICAgY3JlYXRlQ2hpbGQoJ2NpdDpDSV9EYXRlJyksXG4gICAgICAgIGFwcGVuZENoaWxkcmVuKFxuICAgICAgICAgIHBpcGUoY3JlYXRlRWxlbWVudCgnY2l0OmRhdGUnKSwgd3JpdGVEYXRlVGltZShkYXRlKSksXG4gICAgICAgICAgcGlwZShcbiAgICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDpkYXRlVHlwZScpLFxuICAgICAgICAgICAgY3JlYXRlQ2hpbGQoJ2NpdDpDSV9EYXRlVHlwZUNvZGUnKSxcbiAgICAgICAgICAgIGFkZEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgJ2NvZGVMaXN0JyxcbiAgICAgICAgICAgICAgJ2h0dHBzOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1L3Jlc291cmNlcy9Db2RlbGlzdHMvY2F0L2NvZGVsaXN0cy54bWwjQ0lfRGF0ZVR5cGVDb2RlJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGFkZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScsIHR5cGUpLFxuICAgICAgICAgICAgc2V0VGV4dENvbnRlbnQodHlwZSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlUmVzb3VyY2VVcGRhdGVkKFxuICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gIHJvb3RFbDogWG1sRWxlbWVudFxuKSB7XG4gIHJlbW92ZVJlc291cmNlRGF0ZSgncmV2aXNpb24nKShyb290RWwpXG4gIGlmICghKCdyZXNvdXJjZVVwZGF0ZWQnIGluIHJlY29yZCkpIHJldHVyblxuICBhcHBlbmRSZXNvdXJjZURhdGUocmVjb3JkLnJlc291cmNlVXBkYXRlZCwgJ3JldmlzaW9uJykocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVSZXNvdXJjZUNyZWF0ZWQoXG4gIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgcm9vdEVsOiBYbWxFbGVtZW50XG4pIHtcbiAgcmVtb3ZlUmVzb3VyY2VEYXRlKCdjcmVhdGlvbicpKHJvb3RFbClcbiAgaWYgKCEoJ3Jlc291cmNlQ3JlYXRlZCcgaW4gcmVjb3JkKSkgcmV0dXJuXG4gIGFwcGVuZFJlc291cmNlRGF0ZShyZWNvcmQucmVzb3VyY2VDcmVhdGVkLCAnY3JlYXRpb24nKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVJlc291cmNlUHVibGlzaGVkKFxuICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gIHJvb3RFbDogWG1sRWxlbWVudFxuKSB7XG4gIHJlbW92ZVJlc291cmNlRGF0ZSgncHVibGljYXRpb24nKShyb290RWwpXG4gIGlmICghKCdyZXNvdXJjZVB1Ymxpc2hlZCcgaW4gcmVjb3JkKSkgcmV0dXJuXG4gIGFwcGVuZFJlc291cmNlRGF0ZShyZWNvcmQucmVzb3VyY2VQdWJsaXNoZWQsICdwdWJsaWNhdGlvbicpKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlT3duZXJPcmdhbml6YXRpb24oXG4gIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgcm9vdEVsOiBYbWxFbGVtZW50XG4pIHtcbiAgLy8gaWYgbm8gY29udGFjdCBtYXRjaGVzIHRoZSBvd25lciBvcmcsIGNyZWF0ZSBhbiBlbXB0eSBvbmVcbiAgY29uc3Qgb3duZXJDb250YWN0OiBJbmRpdmlkdWFsID0gcmVjb3JkLmNvbnRhY3RzLmZpbmQoXG4gICAgKGNvbnRhY3QpID0+IGNvbnRhY3Qub3JnYW5pemF0aW9uLm5hbWUgPT09IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbi5uYW1lXG4gIClcbiAgcGlwZShcbiAgICBmaW5kQ2hpbGRPckNyZWF0ZSgnbWRiOmNvbnRhY3QnKSxcbiAgICByZW1vdmVBbGxDaGlsZHJlbigpLFxuICAgIGFwcGVuZFJlc3BvbnNpYmxlUGFydHkoXG4gICAgICBvd25lckNvbnRhY3RcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5vd25lckNvbnRhY3QsXG4gICAgICAgICAgICAvLyBvd25lciByZXNwb25zaWJsZSBwYXJ0eSBpcyBhbHdheXMgcG9pbnQgb2YgY29udGFjdFxuICAgICAgICAgICAgcm9sZTogJ3BvaW50X29mX2NvbnRhY3QnLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBvcmdhbml6YXRpb246IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbixcbiAgICAgICAgICAgIGVtYWlsOiAnbWlzc2luZ0BtaXNzaW5nLmNvbScsXG4gICAgICAgICAgICByb2xlOiAncG9pbnRfb2ZfY29udGFjdCcsXG4gICAgICAgICAgfVxuICAgIClcbiAgKShyb290RWwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRSZXNwb25zaWJsZVBhcnR5KGNvbnRhY3Q6IEluZGl2aWR1YWwpIHtcbiAgY29uc3QgZnVsbE5hbWUgPSBuYW1lUGFydHNUb0Z1bGwoY29udGFjdC5maXJzdE5hbWUsIGNvbnRhY3QubGFzdE5hbWUpXG5cbiAgY29uc3QgY3JlYXRlSW5kaXZpZHVhbCA9IHBpcGUoXG4gICAgY3JlYXRlRWxlbWVudCgnY2l0OmluZGl2aWR1YWwnKSxcbiAgICBjcmVhdGVDaGlsZCgnY2l0OkNJX0luZGl2aWR1YWwnKSxcbiAgICBmdWxsTmFtZVxuICAgICAgPyBhcHBlbmRDaGlsZHJlbihcbiAgICAgICAgICBwaXBlKGNyZWF0ZUVsZW1lbnQoJ2NpdDpuYW1lJyksIHdyaXRlQ2hhcmFjdGVyU3RyaW5nKGZ1bGxOYW1lKSlcbiAgICAgICAgKVxuICAgICAgOiBub29wLFxuICAgIGNvbnRhY3QucG9zaXRpb25cbiAgICAgID8gYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAgICAgcGlwZShcbiAgICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDpwb3NpdGlvbk5hbWUnKSxcbiAgICAgICAgICAgIHdyaXRlQ2hhcmFjdGVyU3RyaW5nKGNvbnRhY3QucG9zaXRpb24pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICA6IG5vb3BcbiAgKVxuXG4gIGNvbnN0IGNyZWF0ZUNvbnRhY3RJbmZvID0gcGlwZShcbiAgICBjcmVhdGVFbGVtZW50KCdjaXQ6Y29udGFjdEluZm8nKSxcbiAgICBjcmVhdGVDaGlsZCgnY2l0OkNJX0NvbnRhY3QnKSxcbiAgICBhcHBlbmRDaGlsZHJlbihcbiAgICAgIHBpcGUoXG4gICAgICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDphZGRyZXNzJyksXG4gICAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfQWRkcmVzcycpLFxuICAgICAgICBhcHBlbmRDaGlsZHJlbihcbiAgICAgICAgICBwaXBlKFxuICAgICAgICAgICAgY3JlYXRlRWxlbWVudCgnY2l0OmVsZWN0cm9uaWNNYWlsQWRkcmVzcycpLFxuICAgICAgICAgICAgd3JpdGVDaGFyYWN0ZXJTdHJpbmcoY29udGFjdC5lbWFpbClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGNvbnRhY3QuYWRkcmVzc1xuICAgICAgICAgID8gYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAgICAgICAgIHBpcGUoXG4gICAgICAgICAgICAgICAgY3JlYXRlRWxlbWVudCgnY2l0OmRlbGl2ZXJ5UG9pbnQnKSxcbiAgICAgICAgICAgICAgICB3cml0ZUNoYXJhY3RlclN0cmluZyhjb250YWN0LmFkZHJlc3MpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG5vb3BcbiAgICAgIClcbiAgICApLFxuICAgIGNvbnRhY3Qub3JnYW5pemF0aW9uPy53ZWJzaXRlXG4gICAgICA/IGFwcGVuZENoaWxkcmVuKFxuICAgICAgICAgIHBpcGUoXG4gICAgICAgICAgICBjcmVhdGVFbGVtZW50KCdjaXQ6b25saW5lUmVzb3VyY2UnKSxcbiAgICAgICAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfT25saW5lUmVzb3VyY2UnKSxcbiAgICAgICAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6bGlua2FnZScpLFxuICAgICAgICAgICAgd3JpdGVDaGFyYWN0ZXJTdHJpbmcoY29udGFjdC5vcmdhbml6YXRpb24ud2Vic2l0ZS50b1N0cmluZygpKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiBub29wLFxuICAgIGNvbnRhY3QucGhvbmVcbiAgICAgID8gYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAgICAgcGlwZShcbiAgICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDpwaG9uZScpLFxuICAgICAgICAgICAgY3JlYXRlQ2hpbGQoJ2NpdDpDSV9UZWxlcGhvbmUnKSxcbiAgICAgICAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6bnVtYmVyJyksXG4gICAgICAgICAgICB3cml0ZUNoYXJhY3RlclN0cmluZyhjb250YWN0LnBob25lKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiBub29wXG4gIClcblxuICBjb25zdCBjcmVhdGVSb2xlID0gcGlwZShcbiAgICBjcmVhdGVFbGVtZW50KCdjaXQ6cm9sZScpLFxuICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfUm9sZUNvZGUnKSxcbiAgICBhZGRBdHRyaWJ1dGUoXG4gICAgICAnY29kZUxpc3QnLFxuICAgICAgJ2h0dHBzOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1L3Jlc291cmNlcy9Db2RlbGlzdHMvY2F0L2NvZGVsaXN0cy54bWwjQ0lfUm9sZUNvZGUnXG4gICAgKSxcbiAgICBhZGRBdHRyaWJ1dGUoJ2NvZGVMaXN0VmFsdWUnLCBnZXRSb2xlQ29kZShjb250YWN0LnJvbGUpKSxcbiAgICBzZXRUZXh0Q29udGVudChnZXRSb2xlQ29kZShjb250YWN0LnJvbGUpKVxuICApXG5cbiAgY29uc3QgY3JlYXRlUGFydHkgPSBwaXBlKFxuICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDpwYXJ0eScpLFxuICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfT3JnYW5pc2F0aW9uJyksXG4gICAgY29udGFjdC5vcmdhbml6YXRpb24/Lm5hbWVcbiAgICAgID8gYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAgICAgcGlwZShcbiAgICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ2NpdDpuYW1lJyksXG4gICAgICAgICAgICB3cml0ZUNoYXJhY3RlclN0cmluZyhjb250YWN0Lm9yZ2FuaXphdGlvbj8ubmFtZSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIDogbm9vcCxcbiAgICBhcHBlbmRDaGlsZHJlbihjcmVhdGVDb250YWN0SW5mbywgY3JlYXRlSW5kaXZpZHVhbClcbiAgKVxuXG4gIHJldHVybiBhcHBlbmRDaGlsZHJlbihcbiAgICBwaXBlKFxuICAgICAgY3JlYXRlRWxlbWVudCgnY2l0OkNJX1Jlc3BvbnNpYmlsaXR5JyksXG4gICAgICBhcHBlbmRDaGlsZHJlbihjcmVhdGVSb2xlLCBjcmVhdGVQYXJ0eSlcbiAgICApXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlQ29udGFjdHMocmVjb3JkOiBDYXRhbG9nUmVjb3JkLCByb290RWw6IFhtbEVsZW1lbnQpIHtcbiAgcGlwZShcbiAgICByZW1vdmVDaGlsZHJlbkJ5TmFtZSgnbWRiOmNvbnRhY3QnKSxcbiAgICBhcHBlbmRDaGlsZHJlbihcbiAgICAgIC4uLnJlY29yZC5jb250YWN0cy5tYXAoKGNvbnRhY3QpID0+XG4gICAgICAgIHBpcGUoY3JlYXRlRWxlbWVudCgnZ21kOmNvbnRhY3QnKSwgYXBwZW5kUmVzcG9uc2libGVQYXJ0eShjb250YWN0KSlcbiAgICAgIClcbiAgICApXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVDb250YWN0c0ZvclJlc291cmNlKFxuICByZWNvcmQ6IENhdGFsb2dSZWNvcmQsXG4gIHJvb3RFbDogWG1sRWxlbWVudFxuKSB7XG4gIGNvbnN0IHdpdGhvdXREaXN0cmlidXRvcnMgPSByZWNvcmQuY29udGFjdHNGb3JSZXNvdXJjZS5maWx0ZXIoXG4gICAgKGMpID0+IGMucm9sZSAhPT0gJ2Rpc3RyaWJ1dG9yJ1xuICApXG4gIGNvbnN0IGRpc3RyaWJ1dG9ycyA9IHJlY29yZC5jb250YWN0c0ZvclJlc291cmNlLmZpbHRlcihcbiAgICAoYykgPT4gYy5yb2xlID09PSAnZGlzdHJpYnV0b3InXG4gIClcbiAgcGlwZShcbiAgICBmaW5kT3JDcmVhdGVJZGVudGlmaWNhdGlvbigpLFxuICAgIHJlbW92ZUNoaWxkcmVuQnlOYW1lKCdtcmk6cG9pbnRPZkNvbnRhY3QnKSxcbiAgICBhcHBlbmRDaGlsZHJlbihcbiAgICAgIC4uLndpdGhvdXREaXN0cmlidXRvcnMubWFwKChjb250YWN0KSA9PlxuICAgICAgICBwaXBlKFxuICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ21yaTpwb2ludE9mQ29udGFjdCcpLFxuICAgICAgICAgIGFwcGVuZFJlc3BvbnNpYmxlUGFydHkoY29udGFjdClcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKShyb290RWwpXG4gIGlmICghZGlzdHJpYnV0b3JzLmxlbmd0aCkgcmV0dXJuXG4gIHBpcGUoXG4gICAgZmluZE9yQ3JlYXRlRGlzdHJpYnV0aW9uKCksXG4gICAgcmVtb3ZlQ2hpbGRyZW5CeU5hbWUoJ21yZDpkaXN0cmlidXRvcicpLFxuICAgIGNyZWF0ZUNoaWxkKCdtcmQ6ZGlzdHJpYnV0b3InKSxcbiAgICBjcmVhdGVDaGlsZCgnbXJkOk1EX0Rpc3RyaWJ1dG9yJyksXG4gICAgYXBwZW5kQ2hpbGRyZW4oXG4gICAgICAuLi5kaXN0cmlidXRvcnMubWFwKChjb250YWN0KSA9PlxuICAgICAgICBwaXBlKFxuICAgICAgICAgIGNyZWF0ZUVsZW1lbnQoJ21yZDpkaXN0cmlidXRvckNvbnRhY3QnKSxcbiAgICAgICAgICBhcHBlbmRSZXNwb25zaWJsZVBhcnR5KGNvbnRhY3QpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVLZXl3b3JkcyhyZWNvcmQ6IENhdGFsb2dSZWNvcmQsIHJvb3RFbDogWG1sRWxlbWVudCkge1xuICBwaXBlKFxuICAgIGZpbmRPckNyZWF0ZUlkZW50aWZpY2F0aW9uKCksXG4gICAgcmVtb3ZlS2V5d29yZHMoKSxcbiAgICBhcHBlbmRLZXl3b3JkcyhyZWNvcmQua2V5d29yZHMpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVMYW5kaW5nUGFnZShyZWNvcmQ6IERhdGFzZXRSZWNvcmQsIHJvb3RFbDogWG1sRWxlbWVudCkge1xuICBwaXBlKFxuICAgIGZpbmROZXN0ZWRDaGlsZE9yQ3JlYXRlKFxuICAgICAgJ21kYjptZXRhZGF0YUxpbmthZ2UnLFxuICAgICAgJ2NpdDpDSV9PbmxpbmVSZXNvdXJjZScsXG4gICAgICAnY2l0OmxpbmthZ2UnXG4gICAgKSxcbiAgICB3cml0ZUxpbmthZ2UocmVjb3JkLmxhbmRpbmdQYWdlKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlTGluZWFnZShyZWNvcmQ6IERhdGFzZXRSZWNvcmQsIHJvb3RFbDogWG1sRWxlbWVudCkge1xuICBwaXBlKFxuICAgIGZpbmROZXN0ZWRDaGlsZE9yQ3JlYXRlKFxuICAgICAgJ21kYjpyZXNvdXJjZUxpbmVhZ2UnLFxuICAgICAgJ21ybDpMSV9MaW5lYWdlJyxcbiAgICAgICdtcmw6c3RhdGVtZW50J1xuICAgICksXG4gICAgd3JpdGVDaGFyYWN0ZXJTdHJpbmcocmVjb3JkLmxpbmVhZ2UpXG4gICkocm9vdEVsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVTdGF0dXMocmVjb3JkOiBEYXRhc2V0UmVjb3JkLCByb290RWw6IFhtbEVsZW1lbnQpIHtcbiAgY29uc3QgcHJvZ3Jlc3NDb2RlID0gZ2V0UHJvZ3Jlc3NDb2RlKHJlY29yZC5zdGF0dXMpXG4gIHBpcGUoXG4gICAgZmluZE9yQ3JlYXRlSWRlbnRpZmljYXRpb24oKSxcbiAgICBmaW5kTmVzdGVkQ2hpbGRPckNyZWF0ZSgnbXJpOnN0YXR1cycsICdtY2M6TURfUHJvZ3Jlc3NDb2RlJyksXG4gICAgYWRkQXR0cmlidXRlKFxuICAgICAgJ2NvZGVMaXN0JyxcbiAgICAgICdodHRwczovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS9yZXNvdXJjZXMvQ29kZWxpc3RzL2NhdC9jb2RlbGlzdHMueG1sI01EX1Byb2dyZXNzQ29kZSdcbiAgICApLFxuICAgIGFkZEF0dHJpYnV0ZSgnY29kZUxpc3RWYWx1ZScsIHByb2dyZXNzQ29kZSksXG4gICAgc2V0VGV4dENvbnRlbnQocHJvZ3Jlc3NDb2RlKVxuICApKHJvb3RFbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uKFxuICByZWNvcmQ6IERhdGFzZXRSZWNvcmQsXG4gIHJvb3RFbDogWG1sRWxlbWVudFxuKSB7XG4gIHBpcGUoXG4gICAgZmluZE9yQ3JlYXRlSWRlbnRpZmljYXRpb24oKSxcbiAgICBmaW5kTmVzdGVkQ2hpbGRPckNyZWF0ZShcbiAgICAgICdtcmk6c3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZScsXG4gICAgICAnbWNjOk1EX1NwYXRpYWxSZXByZXNlbnRhdGlvblR5cGVDb2RlJ1xuICAgICksXG4gICAgYWRkQXR0cmlidXRlKFxuICAgICAgJ2NvZGVMaXN0JyxcbiAgICAgICdodHRwczovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS9yZXNvdXJjZXMvQ29kZWxpc3RzL2NhdC9jb2RlbGlzdHMueG1sI01EX1NwYXRpYWxSZXByZXNlbnRhdGlvblR5cGVDb2RlJ1xuICAgICksXG4gICAgYWRkQXR0cmlidXRlKCdjb2RlTGlzdFZhbHVlJywgcmVjb3JkLnNwYXRpYWxSZXByZXNlbnRhdGlvbiksXG4gICAgc2V0VGV4dENvbnRlbnQocmVjb3JkLnNwYXRpYWxSZXByZXNlbnRhdGlvbilcbiAgKShyb290RWwpXG59XG5cbi8vIHRoaXMgd2lsbCByZW1vdmUgYWxsIHRyYW5zZmVyIG9wdGlvbnMgYW5kIGZvcm1hdHMgZnJvbSBkaXN0cmlidXRpb24gaW5mb1xuLy8gYW5kIHJlbW92ZSBlbXB0eSBkaXN0cmlidXRpb24gaW5mb1xuZnVuY3Rpb24gcmVtb3ZlVHJhbnNmZXJPcHRpb25zKHJvb3RFbDogWG1sRWxlbWVudCkge1xuICAvLyByZW1vdmUgdHJhbnNmZXIgb3B0aW9ucyAmIGZvcm1hdHNcbiAgcGlwZShcbiAgICBmaW5kTmVzdGVkRWxlbWVudHMoJ21kYjpkaXN0cmlidXRpb25JbmZvJywgJ21yZDpNRF9EaXN0cmlidXRpb24nKSxcbiAgICBtYXBBcnJheShcbiAgICAgIHBpcGUoXG4gICAgICAgIHJlbW92ZUNoaWxkcmVuKGZpbmRDaGlsZHJlbkVsZW1lbnQoJ21yZDpkaXN0cmlidXRpb25Gb3JtYXQnLCBmYWxzZSkpLFxuICAgICAgICByZW1vdmVDaGlsZHJlbihmaW5kQ2hpbGRyZW5FbGVtZW50KCdtcmQ6dHJhbnNmZXJPcHRpb25zJywgZmFsc2UpKVxuICAgICAgKVxuICAgIClcbiAgKShyb290RWwpXG4gIC8vIHJlbW92ZSBlbXB0eSBkaXN0cmlidXRpb25zXG4gIHJlbW92ZUNoaWxkcmVuKFxuICAgIHBpcGUoXG4gICAgICBmaW5kQ2hpbGRyZW5FbGVtZW50KCdtZGI6ZGlzdHJpYnV0aW9uSW5mbycsIGZhbHNlKSxcbiAgICAgIGZpbHRlckFycmF5KFxuICAgICAgICBwaXBlKFxuICAgICAgICAgIGZpbmRDaGlsZEVsZW1lbnQoJ21yZDpNRF9EaXN0cmlidXRpb24nKSxcbiAgICAgICAgICBhbGxDaGlsZHJlbkVsZW1lbnQsXG4gICAgICAgICAgbWFwKChjaGlsZHJlbikgPT4gY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApKHJvb3RFbClcbn1cblxuZnVuY3Rpb24gYXBwZW5kRGlzdHJpYnV0aW9uRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGFwcGVuZENoaWxkcmVuKFxuICAgIHBpcGUoXG4gICAgICBjcmVhdGVFbGVtZW50KCdtcmQ6ZGlzdHJpYnV0aW9uRm9ybWF0JyksXG4gICAgICBjcmVhdGVDaGlsZCgnbXJkOk1EX0Zvcm1hdCcpLFxuICAgICAgY3JlYXRlQ2hpbGQoJ21yZDpmb3JtYXRTcGVjaWZpY2F0aW9uQ2l0YXRpb24nKSxcbiAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6Q0lfQ2l0YXRpb24nKSxcbiAgICAgIGNyZWF0ZUNoaWxkKCdjaXQ6dGl0bGUnKSxcbiAgICAgIHdyaXRlQ2hhcmFjdGVyU3RyaW5nKG1pbWVUeXBlKVxuICAgIClcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVEaXN0cmlidXRpb25zKHJlY29yZDogRGF0YXNldFJlY29yZCwgcm9vdEVsOiBYbWxFbGVtZW50KSB7XG4gIHJlbW92ZVRyYW5zZmVyT3B0aW9ucyhyb290RWwpXG5cbiAgLy8gZm9yIGVhY2ggZGlzdHJpYnV0aW9uLCBlaXRoZXIgZmluZCBhbiBleGlzdGluZyBkaXN0cmlidXRpb24gaW5mbyBvciBjcmVhdGUgYSBuZXcgb25lXG4gIHJlY29yZC5kaXN0cmlidXRpb25zLmZvckVhY2goKGRpc3RyaWJ1dGlvbiwgaW5kZXgpID0+IHtcbiAgICBwaXBlKFxuICAgICAgZmFsbGJhY2soXG4gICAgICAgIHBpcGUoXG4gICAgICAgICAgZmluZE5lc3RlZEVsZW1lbnRzKCdnbWQ6ZGlzdHJpYnV0aW9uSW5mbycsICdnbWQ6TURfRGlzdHJpYnV0aW9uJyksXG4gICAgICAgICAgZ2V0QXRJbmRleChpbmRleClcbiAgICAgICAgKSxcbiAgICAgICAgYXBwZW5kQ2hpbGRUcmVlKGNyZWF0ZURpc3RyaWJ1dGlvbkluZm8oKSlcbiAgICAgICksXG4gICAgICBhcHBlbmREaXN0cmlidXRpb24oZGlzdHJpYnV0aW9uLCBhcHBlbmREaXN0cmlidXRpb25Gb3JtYXQpXG4gICAgKShyb290RWwpXG4gIH0pXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './iso19139.converter';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9pc28xOTEzOS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pc28xOTEzOS5jb252ZXJ0ZXInXG4iXX0=