geonetwork-ui 2.4.0-dev.d5b28b1e → 2.4.0-dev.dcc96ff9

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 (451) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +10 -15
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -18
  9. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +5 -3
  10. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  11. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  12. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  13. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  15. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  16. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  17. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  18. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  20. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  21. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  22. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  23. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  24. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +29 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +78 -0
  26. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +143 -0
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +32 -40
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +10 -8
  30. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
  31. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  32. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  33. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  34. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +10 -6
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +11 -11
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +38 -69
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +16 -14
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +44 -53
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  42. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  43. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  44. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +53 -4
  45. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  46. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
  47. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  48. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -6
  49. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +8 -5
  50. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +6 -7
  51. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +8 -7
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +7 -6
  53. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +7 -26
  54. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +29 -13
  55. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  56. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  57. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +1 -1
  58. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
  59. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  60. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  61. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +5 -4
  62. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  64. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  65. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  66. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  67. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  68. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  69. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  70. package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
  71. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +19 -5
  72. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  73. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  74. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  75. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  76. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  77. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  78. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +3 -7
  79. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  80. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  81. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  82. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  83. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
  84. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  85. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  86. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  87. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  88. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  89. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  90. package/esm2022/translations/de.json +55 -2
  91. package/esm2022/translations/en.json +55 -2
  92. package/esm2022/translations/es.json +53 -0
  93. package/esm2022/translations/fr.json +58 -5
  94. package/esm2022/translations/it.json +55 -2
  95. package/esm2022/translations/nl.json +53 -0
  96. package/esm2022/translations/pt.json +53 -0
  97. package/fesm2022/geonetwork-ui.mjs +2759 -1479
  98. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  99. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  100. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  101. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  102. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  103. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  104. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  105. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
  106. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  107. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  108. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  109. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  110. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -6
  111. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  112. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  113. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  114. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  115. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
  116. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  117. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  118. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  119. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  120. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  121. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  122. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  123. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  124. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  125. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  126. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  127. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  128. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  129. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  130. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  131. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  132. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  133. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  134. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  135. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  136. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  137. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  138. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  139. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +12 -0
  140. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  141. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +32 -0
  142. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  143. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  144. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  145. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  146. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
  147. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +12 -19
  148. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  149. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  150. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  153. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  155. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  159. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +4 -3
  160. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -1
  161. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -4
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  163. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  164. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  165. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  166. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  167. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
  168. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  169. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  170. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  171. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -24
  172. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  173. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  174. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  175. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  176. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  177. package/libs/feature/editor/src/lib/fields.config.d.ts +15 -0
  178. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  179. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +5 -0
  180. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  181. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  182. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  183. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  184. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  185. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +6 -6
  186. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  187. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  188. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  189. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
  190. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  191. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  192. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  193. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  194. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  195. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
  196. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  197. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
  198. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  199. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  200. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  201. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  202. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  203. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
  204. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  205. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
  206. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  207. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  208. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  209. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +1 -0
  210. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  211. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  212. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  213. package/libs/ui/elements/src/index.d.ts +1 -1
  214. package/libs/ui/elements/src/index.d.ts.map +1 -1
  215. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  216. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  217. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  218. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  219. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  220. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  221. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  222. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  223. package/libs/ui/inputs/src/index.d.ts +4 -0
  224. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  225. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  226. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  227. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  228. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  229. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  230. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  231. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  232. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  233. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  234. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  235. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  236. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  237. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  238. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  239. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
  240. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  241. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  242. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  243. package/libs/ui/layout/src/index.d.ts +2 -0
  244. package/libs/ui/layout/src/index.d.ts.map +1 -1
  245. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  246. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  247. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  248. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  249. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  250. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  251. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -2
  252. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  253. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  254. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  255. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  256. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  257. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  258. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  259. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  260. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  261. package/package.json +1 -1
  262. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  263. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  264. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  265. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  266. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  267. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  268. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
  269. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  270. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
  271. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -13
  272. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  273. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -36
  274. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +5 -5
  275. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  276. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  277. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
  278. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  279. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  280. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  281. package/src/libs/common/fixtures/src/index.ts +1 -1
  282. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  283. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  284. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  285. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  286. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  287. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  288. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  289. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  290. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  291. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  292. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  293. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  294. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  295. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  296. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  297. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  298. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  299. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  300. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  301. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
  302. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  303. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  304. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  305. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  306. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  307. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  308. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  309. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  310. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  311. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  312. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +25 -0
  313. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +30 -0
  314. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  315. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +89 -0
  316. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  317. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  318. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +0 -0
  319. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +86 -0
  320. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +210 -0
  321. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -17
  322. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +45 -45
  323. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  324. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css +0 -0
  325. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  326. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  327. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
  328. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +33 -0
  329. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  330. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  331. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  332. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  333. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  334. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  335. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +2 -2
  336. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +9 -3
  337. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
  338. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +13 -7
  339. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  340. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  341. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  342. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  343. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +30 -4
  344. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +41 -87
  345. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  346. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +111 -74
  347. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +48 -53
  348. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -1
  349. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -3
  350. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  351. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  352. package/src/libs/feature/editor/src/lib/fields.config.ts +59 -3
  353. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +9 -0
  354. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  355. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  356. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -8
  357. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
  358. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  359. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
  360. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  361. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
  362. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  363. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
  364. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
  365. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
  366. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +26 -22
  367. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  368. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  369. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
  370. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
  371. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  372. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  373. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  374. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -1
  375. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  376. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  377. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  378. package/src/libs/ui/elements/src/index.ts +1 -1
  379. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  380. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  381. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  382. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  383. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  384. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  385. package/src/libs/ui/inputs/src/index.ts +4 -0
  386. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +15 -3
  387. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  388. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +0 -0
  389. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +85 -0
  390. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  391. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +50 -50
  392. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  393. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  394. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  395. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  396. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  397. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  398. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  399. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  400. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  401. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  402. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  403. package/src/libs/ui/layout/src/index.ts +2 -0
  404. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  405. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  406. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  407. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  408. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
  409. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  410. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  411. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -2
  412. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  413. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  414. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  415. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  416. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  417. package/tailwind.base.css +21 -4
  418. package/translations/de.json +55 -2
  419. package/translations/en.json +55 -2
  420. package/translations/es.json +53 -0
  421. package/translations/fr.json +58 -5
  422. package/translations/it.json +55 -2
  423. package/translations/nl.json +53 -0
  424. package/translations/pt.json +53 -0
  425. package/translations/sk.json +53 -0
  426. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -131
  427. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
  428. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
  429. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -46
  430. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  431. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  432. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
  433. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
  434. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
  435. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
  436. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -23
  437. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  438. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  439. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  440. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  441. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  442. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -161
  443. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
  444. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
  445. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
  446. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
  447. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
  448. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  449. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  450. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  451. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
@@ -145,10 +145,12 @@ export function findParent(parentName) {
145
145
  }
146
146
  export function readText() {
147
147
  return (el) => {
148
- const textNode = el && Array.isArray(el.children)
148
+ if (!el)
149
+ return null;
150
+ const textNode = Array.isArray(el.children)
149
151
  ? el.children.find((node) => node.type === 'text')
150
152
  : null;
151
- return textNode ? textNode.text : null;
153
+ return textNode ? textNode.text : '';
152
154
  };
153
155
  }
154
156
  export function readAttribute(attrName) {
@@ -364,4 +366,4 @@ export function renameElements(rootElement, replaceMap) {
364
366
  doReplace(rootElement);
365
367
  return rootElement;
366
368
  }
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIveG1sLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBRVIsV0FBVyxFQUNYLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCO0lBQzlDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQTtJQUNkLElBQUk7UUFDRixHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzFCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQzVEO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFBO0lBRTNDLFNBQVMsd0JBQXdCLENBQUMsSUFBWTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUks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QU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUN4QzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUNuRSxPQUFPLENBQUMsSUFBSSxHQUFHLEdBQ2IsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQ3ZDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO1NBQ25DO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztJQUNELFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN0QixPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgcGFyc2VYbWwsXG4gIFhtbENvbW1lbnQsXG4gIFhtbERvY3VtZW50LFxuICBYbWxFbGVtZW50LFxuICBYbWxUZXh0LFxufSBmcm9tICdAcmdyb3ZlL3BhcnNlLXhtbCdcbmltcG9ydCB7IENoYWluYWJsZUZ1bmN0aW9uLCBmYWxsYmFjayB9IGZyb20gJy4vZnVuY3Rpb24tdXRpbHMnXG5cbmV4cG9ydCB7IFhtbERvY3VtZW50LCBYbWxFbGVtZW50IH0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5cbmV4cG9ydCBjbGFzcyBYbWxQYXJzZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyBhIFhNTCBkb2N1bWVudCBhcyBzdHJpbmcsIHJldHVybiBhIGRvY3VtZW50IG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VYbWxTdHJpbmcoeG1sU3RyaW5nOiBzdHJpbmcpOiBYbWxEb2N1bWVudCB7XG4gIGxldCBkb2MgPSBudWxsXG4gIHRyeSB7XG4gICAgZG9jID0gcGFyc2VYbWwoeG1sU3RyaW5nKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IFhtbFBhcnNlRXJyb3IoZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZSlcbiAgfVxuICByZXR1cm4gZG9jXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEb2N1bWVudChyb290RWw6IFhtbEVsZW1lbnQpOiBYbWxEb2N1bWVudCB7XG4gIHJvb3RFbC5hdHRyaWJ1dGVzID0gcm9vdEVsLmF0dHJpYnV0ZXMgfHwge31cblxuICBmdW5jdGlvbiBjb2xsZWN0TmFtZXNwYWNlRnJvbU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gZXh0cmFjdE5hbWVzcGFjZShuYW1lKVxuICAgIGlmIChuYW1lc3BhY2UgPT09ICd4bWxucycgfHwgbmFtZXNwYWNlID09PSBudWxsKSByZXR1cm5cbiAgICBpZiAocm9vdEVsLmF0dHJpYnV0ZXNbYHhtbG5zOiR7bmFtZXNwYWNlfWBdKSByZXR1cm5cbiAgICBpZiAoIU5BTUVTUEFDRVNbbmFtZXNwYWNlXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBrbm93biBVUkkgZm9yIG5hbWVzcGFjZSAke25hbWVzcGFjZX1gKVxuICAgIH1cbiAgICByb290RWwuYXR0cmlidXRlc1tgeG1sbnM6JHtuYW1lc3BhY2V9YF0gPSBOQU1FU1BBQ0VTW25hbWVzcGFjZV1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbGxlY3ROYW1lc3BhY2VzKGVsOiBYbWxFbGVtZW50KSB7XG4gICAgY29sbGVjdE5hbWVzcGFjZUZyb21OYW1lKGVsLm5hbWUpXG4gICAgZm9yIChjb25zdCBhdHRyIGluIGVsLmF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbGxlY3ROYW1lc3BhY2VGcm9tTmFtZShhdHRyKVxuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbiA9IGFsbENoaWxkcmVuRWxlbWVudChlbClcbiAgICBjaGlsZHJlbi5mb3JFYWNoKGNvbGxlY3ROYW1lc3BhY2VzKVxuICB9XG5cbiAgY29sbGVjdE5hbWVzcGFjZXMocm9vdEVsKVxuICByZXR1cm4gbmV3IFhtbERvY3VtZW50KFtyb290RWxdKVxufVxuXG4vKipcbiAqIFdpbGwgZG8gbm90aGluZyBpZiBubyBuYW1lc3BhY2UgcHJlc2VudFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaXBOYW1lc3BhY2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKGNvbG9uICsgMSkgOiBuYW1lXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW1lc3BhY2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKDAsIGNvbG9uKSA6ICcnXG59XG5cbmZ1bmN0aW9uIGdldEVsZW1lbnROYW1lKGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBzdHJpbmcge1xuICByZXR1cm4gZWxlbWVudC5uYW1lIHx8ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290RWxlbWVudCh4bWxEb2M6IFhtbERvY3VtZW50KTogWG1sRWxlbWVudCB7XG4gIHJldHVybiB4bWxEb2MuY2hpbGRyZW4uZmluZCgoZWwpID0+IGVsIGluc3RhbmNlb2YgWG1sRWxlbWVudCkgYXMgWG1sRWxlbWVudFxufVxuXG4vKipcbiAqIFdpbGwgcmV0dXJuIGFsbCBtYXRjaGluZyBlbGVtZW50cyAobmFtZXNwYWNlIHdpbGwgYmUgaWdub3JlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZHJlbkVsZW1lbnQoXG4gIG5hbWU6IHN0cmluZyxcbiAgbmVzdGVkID0gdHJ1ZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgQXJyYXk8WG1sRWxlbWVudD4+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKG5hbWUpXG4gICAgZnVuY3Rpb24gcmVkdWNlcihwcmV2LCBjdXJyKSB7XG4gICAgICBpZiAoc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUoY3VycikpID09PSBzdHJpcHBlZE5hbWUpIHtcbiAgICAgICAgcHJldi5wdXNoKGN1cnIpXG4gICAgICB9XG5cbiAgICAgIGlmIChuZXN0ZWQgJiYgQXJyYXkuaXNBcnJheShjdXJyLmNoaWxkcmVuKSkge1xuICAgICAgICByZXR1cm4gWy4uLnByZXYsIC4uLmN1cnIuY2hpbGRyZW4ucmVkdWNlKHJlZHVjZXIsIFtdKV1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwcmV2XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsICYmIEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgICA/IGVsLmNoaWxkcmVuLnJlZHVjZShyZWR1Y2VyLCBbXSlcbiAgICAgIDogW11cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZENoaWxkRWxlbWVudChcbiAgbmFtZTogc3RyaW5nLFxuICBuZXN0ZWQgPSB0cnVlXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWwpID0+IGZpbmRDaGlsZHJlbkVsZW1lbnQobmFtZSwgbmVzdGVkKShlbClbMF0gfHwgbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsQ2hpbGRyZW5FbGVtZW50KGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBBcnJheTxYbWxFbGVtZW50PiB7XG4gIGlmICghZWxlbWVudCB8fCAhQXJyYXkuaXNBcnJheShlbGVtZW50LmNoaWxkcmVuKSkgcmV0dXJuIFtdXG4gIHJldHVybiBbXG4gICAgLi4uZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpLFxuICBdIGFzIEFycmF5PFhtbEVsZW1lbnQ+XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdENoaWxkRWxlbWVudChlbGVtZW50OiBYbWxFbGVtZW50KTogWG1sRWxlbWVudCB7XG4gIHJldHVybiBhbGxDaGlsZHJlbkVsZW1lbnQoZWxlbWVudClbMF0gPz8gbnVsbFxufVxuXG4vKipcbiAqIFdpbGwgcmV0dXJuIGFsbCBtYXRjaGluZyBlbGVtZW50cyBuZXN0ZWQgYWNjb3JkaW5nIHRvIHRoZSBnaXZlblxuICogbmFtZXMgKHNpbWlsYXIgdG8gYSBwYXRoKSwgc3RhcnRpbmcgZm9ybSB0aGUgaW5wdXQgZWxlbWVudDtcbiAqIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgbm8gbWF0Y2hpbmcgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5lc3RlZEVsZW1lbnRzKFxuICAuLi5lbGVtZW50TmFtZXM6IHN0cmluZ1tdXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBBcnJheTxYbWxFbGVtZW50Pj4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgZnVuY3Rpb24gbG9va0ZvcihlbE5hbWVJbmRleDogbnVtYmVyKSB7XG4gICAgICBjb25zdCBzdHJpcHBlZE5hbWUgPSBzdHJpcE5hbWVzcGFjZShlbGVtZW50TmFtZXNbZWxOYW1lSW5kZXhdKVxuICAgICAgcmV0dXJuIChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmIChzdHJpcE5hbWVzcGFjZShnZXRFbGVtZW50TmFtZShjdXJyKSkgIT09IHN0cmlwcGVkTmFtZSkge1xuICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsTmFtZUluZGV4ID09PSBlbGVtZW50TmFtZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHJldHVybiBbLi4ucHJldiwgY3Vycl1cbiAgICAgICAgfVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJyLmNoaWxkcmVuKSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgLi4uY3Vyci5jaGlsZHJlbi5yZWR1Y2UobG9va0ZvcihlbE5hbWVJbmRleCArIDEpLCBbXSksXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsICYmIEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgICA/IGVsLmNoaWxkcmVuLnJlZHVjZShsb29rRm9yKDApLCBbXSlcbiAgICAgIDogW11cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5lc3RlZEVsZW1lbnQoXG4gIC4uLmVsZW1lbnROYW1lczogc3RyaW5nW11cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGNvbnN0IGZvdW5kID0gZmluZE5lc3RlZEVsZW1lbnRzKC4uLmVsZW1lbnROYW1lcykoZWwpXG4gICAgcmV0dXJuIGZvdW5kLmxlbmd0aCA/IGZvdW5kWzBdIDogbnVsbFxuICB9XG59XG5cbi8vIFdpbGwgbG9vayB0aHJvdWdoIGFsbCB0aGUgcGFyZW50czsgcmV0dXJucyBudWxsIGlmIG5vIG1hdGNoaW5nIHBhcmVudCBmb3VuZC5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUGFyZW50KFxuICBwYXJlbnROYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGxldCBwYXJlbnQ6IFhtbEVsZW1lbnQgfCBYbWxEb2N1bWVudCA9IGVsLnBhcmVudCBhcyBYbWxFbGVtZW50XG4gICAgd2hpbGUgKHBhcmVudCAmJiBwYXJlbnQgaW5zdGFuY2VvZiBYbWxFbGVtZW50KSB7XG4gICAgICBpZiAoc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUocGFyZW50KSkgPT09IHN0cmlwTmFtZXNwYWNlKHBhcmVudE5hbWUpKVxuICAgICAgICByZXR1cm4gcGFyZW50XG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRUZXh0KCk6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIHN0cmluZz4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgY29uc3QgdGV4dE5vZGUgPVxuICAgICAgZWwgJiYgQXJyYXkuaXNBcnJheShlbC5jaGlsZHJlbilcbiAgICAgICAgPyAoZWwuY2hpbGRyZW4uZmluZCgobm9kZSkgPT4gbm9kZS50eXBlID09PSAndGV4dCcpIGFzIFhtbFRleHQpXG4gICAgICAgIDogbnVsbFxuICAgIHJldHVybiB0ZXh0Tm9kZSA/IHRleHROb2RlLnRleHQgOiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRBdHRyaWJ1dGUoXG4gIGF0dHJOYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIHN0cmluZz4ge1xuICByZXR1cm4gKGVsKSA9PiAoZWwgJiYgZWwuYXR0cmlidXRlc1thdHRyTmFtZV0pIHx8IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHhtbFRvU3RyaW5nKFxuICBlbDogWG1sRWxlbWVudCB8IFhtbFRleHQgfCBYbWxDb21tZW50IHwgWG1sRG9jdW1lbnQsXG4gIGluZGVudGF0aW9uTGV2ZWwgPSAwXG4pIHtcbiAgaWYgKGVsIGluc3RhbmNlb2YgWG1sRG9jdW1lbnQpXG4gICAgcmV0dXJuIGA8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz4ke3htbFRvU3RyaW5nKFxuICAgICAgZWwuY2hpbGRyZW5bMF1cbiAgICApfWBcbiAgaWYgKGVsIGluc3RhbmNlb2YgWG1sVGV4dCkge1xuICAgIGNvbnN0IHRleHQgPSBlbC50ZXh0XG4gICAgY29uc3QgaXNFbXB0eSA9ICF0ZXh0IHx8IHRleHQucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpID09PSAnJ1xuICAgIGlmIChpc0VtcHR5KSByZXR1cm4gJydcbiAgICByZXR1cm4gdGV4dFxuICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcbiAgICAgIC5yZXBsYWNlKC88L2csICcmbHQ7JylcbiAgICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7JylcbiAgfVxuICBpZiAoIShlbCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpKSByZXR1cm4gYDwhLS0gdW5rbm93biAtLT5gXG5cbiAgY29uc3QgcGFkZGluZyA9ICcgICAgJy5yZXBlYXQoaW5kZW50YXRpb25MZXZlbClcbiAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgID8gZWwuY2hpbGRyZW5cbiAgICAgICAgLm1hcCgoZWwpID0+IHhtbFRvU3RyaW5nKGVsLCBpbmRlbnRhdGlvbkxldmVsICsgMSkpXG4gICAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCAhPT0gJycpXG4gICAgICAgIC5tYXAoKGVsU3RyaW5nLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgaW5kZXggPCBhcnJheS5sZW5ndGggLSAxID8gZWxTdHJpbmcucmVwbGFjZSgvXFxuXFxzKiQvZywgJycpIDogZWxTdHJpbmdcbiAgICAgICAgKVxuICAgICAgICAuam9pbignJylcbiAgICA6ICcnXG4gIGNvbnN0IGF0dHJzID0gT2JqZWN0LmtleXMoZWwuYXR0cmlidXRlcykucmVkdWNlKFxuICAgIChwcmV2LCBjdXJyKSA9PiBwcmV2ICsgYCAke2N1cnJ9PVwiJHtlbC5hdHRyaWJ1dGVzW2N1cnJdfVwiYCxcbiAgICAnJ1xuICApXG4gIGNvbnN0IHBhcmVudFBhZGRpbmcgPSAnICAgICcucmVwZWF0KE1hdGgubWF4KDAsIGluZGVudGF0aW9uTGV2ZWwgLSAxKSlcbiAgaWYgKGNoaWxkcmVuID09PSAnJykge1xuICAgIHJldHVybiBgXG4ke3BhZGRpbmd9PCR7ZWwubmFtZX0ke2F0dHJzfS8+XG4ke3BhcmVudFBhZGRpbmd9YFxuICB9XG5cbiAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9PiR7Y2hpbGRyZW59PC8ke2VsLm5hbWV9PlxuJHtwYXJlbnRQYWRkaW5nfWBcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZVxuICogQHJldHVybnMgbmFtZXNwYWNlLCBudWxsIGlmIG5vbmUgZm91bmRcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdE5hbWVzcGFjZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKDAsIGNvbG9uKSA6IG51bGxcbn1cblxuY29uc3QgTkFNRVNQQUNFUyA9IHtcbiAgZ21kOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nbWQnLFxuICBnY286ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2djbycsXG4gIGdmYzogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ2ZjJyxcbiAgZ21sOiAnaHR0cDovL3d3dy5vcGVuZ2lzLm5ldC9nbWwvMy4yJyxcbiAgeHNpOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UnLFxuICBzcnY6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L3NydicsXG4gIGdteDogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ214JyxcbiAgZ3RzOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9ndHMnLFxuICBnc3I6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2dzcicsXG4gIGdtaTogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ21pJyxcbiAgeGxpbms6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyxcbiAgbWRiOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZGIvMi4wJyxcbiAgbWRxOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTE1Ny8tMi9tZHEvMS4wJyxcbiAgbXNyOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tc3IvMi4wJyxcbiAgbXJzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcnMvMS4wJyxcbiAgbW1pOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tbWkvMS4wJyxcbiAgbXJsOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmwvMi4wJyxcbiAgbWR0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZHQvMi4wJyxcbiAgbXJkOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmQvMS4wJyxcbiAgbWRzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZHMvMi4wJyxcbiAgbXBjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcGMvMS4wJyxcbiAgbWNjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tY2MvMS4wJyxcbiAgbWFjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tYWMvMi4wJyxcbiAgbWNvOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tY28vMS4wJyxcbiAgbWRhOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZGEvMS4wJyxcbiAgbWV4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZXgvMS4wJyxcbiAgZ2V4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9nZXgvMS4wJyxcbiAgZ2N4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9nY3gvMS4wJyxcbiAgbWFzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tYXMvMS4wJyxcbiAgbXJpOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmkvMS4wJyxcbiAgY2l0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9jaXQvMi4wJyxcbiAgY2F0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9jYXQvMS4wJyxcbiAgbGFuOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9sYW4vMS4wJyxcbiAgbXJjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmMvMi4wJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZSBGdWxsIG5hbWUgd2l0aCBuYW1lc3BhY2UsIGUuZy46IGdtZDpNRF9NZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudChcbiAgbmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoKSA9PiBuZXcgWG1sRWxlbWVudChuYW1lLCB7fSwgW10pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRBdHRyaWJ1dGUoXG4gIG5hbWU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBlbGVtZW50LmF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFRyZWVSb290KGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBYbWxFbGVtZW50IHtcbiAgbGV0IHJvb3QgPSBlbGVtZW50XG4gIHdoaWxlIChyb290LnBhcmVudCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIHtcbiAgICByb290ID0gcm9vdC5wYXJlbnRcbiAgfVxuICByZXR1cm4gcm9vdFxufVxuXG4vLyBzdGF5cyBvbiB0aGUgcGFyZW50IGVsZW1lbnRcbi8vIGlmIHRoZSBnaXZlbiBlbGVtZW50cyBhcmUgcGFydCBvZiBhIHN1YnRyZWUsIHdpbGwgYWRkIHRoZSByb290IG9mIHN1YnRyZWVcbi8vIHdpbGwgZmlsdGVyIG91dCBmYWxzeSBlbGVtZW50c1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENoaWxkcmVuKFxuICAuLi5jaGlsZHJlbkZuczogQXJyYXk8Q2hhaW5hYmxlRnVuY3Rpb248dm9pZCwgWG1sRWxlbWVudD4+XG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBjaGlsZHJlbkZucyA9IGNoaWxkcmVuRm5zLmZpbHRlcigoZm4pID0+IGZuKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaCguLi5jaGlsZHJlbkZucy5tYXAoKGZuKSA9PiBmbigpKS5tYXAoZ2V0VHJlZVJvb3QpKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IChlbC5wYXJlbnQgPSBlbGVtZW50KSlcbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG59XG5cbi8vIHN3aXRjaCB0byB0aGUgdGlwIG9mIHRoZSBzdWJ0cmVlXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGRUcmVlKFxuICBjaGlsZHJlbkZuOiBDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50PlxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3QgdHJlZVRpcCA9IGNoaWxkcmVuRm4oKVxuICAgIGNvbnN0IHRyZWVSb290ID0gZ2V0VHJlZVJvb3QodHJlZVRpcClcbiAgICBlbGVtZW50LmNoaWxkcmVuLnB1c2godHJlZVJvb3QpXG4gICAgdHJlZVJvb3QucGFyZW50ID0gZWxlbWVudFxuICAgIHJldHVybiB0cmVlVGlwXG4gIH1cbn1cblxuLy8gc3dpdGNoZXMgdG8gdGhlIGNoaWxkIGVsZW1lbnRcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDaGlsZChcbiAgY2hpbGROYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IGNoaWxkID0gY3JlYXRlRWxlbWVudChjaGlsZE5hbWUpKClcbiAgICBlbGVtZW50LmNoaWxkcmVuLnB1c2goY2hpbGQpXG4gICAgY2hpbGQucGFyZW50ID0gZWxlbWVudFxuICAgIHJldHVybiBjaGlsZFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2hpbGRPckNyZWF0ZShcbiAgbmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiBmYWxsYmFjayhmaW5kQ2hpbGRFbGVtZW50KG5hbWUsIGZhbHNlKSwgY3JlYXRlQ2hpbGQobmFtZSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVzdGVkQ2hpbGRPckNyZWF0ZShcbiAgLi4uZWxlbWVudE5hbWVzOiBzdHJpbmdbXVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBsZXQgY3VycmVudCA9IGVsZW1lbnRcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgZWxlbWVudE5hbWVzKSB7XG4gICAgICBjdXJyZW50ID0gZmluZENoaWxkT3JDcmVhdGUobmFtZSkoY3VycmVudClcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VGV4dENvbnRlbnQoXG4gIHRleHQ6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3QgdGV4dEVsID0gZWxlbWVudC5jaGlsZHJlbi5maW5kKFxuICAgICAgKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbFRleHRcbiAgICApIGFzIFhtbFRleHRcbiAgICBpZiAoIXRleHRFbCkge1xuICAgICAgZWxlbWVudC5jaGlsZHJlbi5wdXNoKG5ldyBYbWxUZXh0KHRleHQpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0ZXh0RWwudGV4dCA9IHRleHRcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQWxsQ2hpbGRyZW4oKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IG51bGwpKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBbXVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuLy8gc3RheXMgb24gdGhlIHNhbWUgZWxlbWVudFxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuQnlOYW1lKFxuICBuYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKG5hbWUpXG4gICAgY29uc3QgcmVtb3ZlZCA9IGVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgKGNoaWxkKSA9PlxuICAgICAgICBjaGlsZCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQgJiZcbiAgICAgICAgc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUoY2hpbGQpKSA9PT0gc3RyaXBwZWROYW1lXG4gICAgKVxuICAgIHJlbW92ZWQuZm9yRWFjaCgoZWwpID0+IChlbC5wYXJlbnQgPSBudWxsKSlcbiAgICBlbGVtZW50LmNoaWxkcmVuID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+IHJlbW92ZWQuaW5kZXhPZihjaGlsZCkgPT09IC0xXG4gICAgKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuKFxuICBjaGlsZHJlbkZuOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBBcnJheTxYbWxFbGVtZW50Pj5cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgY2hpbGRyZW5Ub1JlbW92ZSA9IGNoaWxkcmVuRm4oZWxlbWVudClcbiAgICBjaGlsZHJlblRvUmVtb3ZlLmZvckVhY2goKGNoaWxkKSA9PiAoY2hpbGQucGFyZW50ID0gbnVsbCkpXG4gICAgZWxlbWVudC5jaGlsZHJlbiA9IGVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgKGNoaWxkKSA9PlxuICAgICAgICBjaGlsZCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQgJiYgY2hpbGRyZW5Ub1JlbW92ZS5pbmRleE9mKGNoaWxkKSA9PT0gLTFcbiAgICApXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG4vKipcbiAqIFJlbmFtZXMgZWxlbWVudHMgaW4gdGhlIFhNTCB0cmVlIGFjY29yZGluZyB0byB0aGUgbWFwXG4gKiBFaXRoZXIgc3BlY2lmeSBhIGZ1bGwgZWxlbWVudCBuYW1lIGxpa2UgJ2dtZDpNRF9NZXRhZGF0YScgb3Igc2ltcGx5IGEgbmFtZXNwYWNlIGxpa2UgJ2dtZCdcbiAqIEBwYXJhbSByb290RWxlbWVudFxuICogQHBhcmFtIHJlcGxhY2VNYXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUVsZW1lbnRzKFxuICByb290RWxlbWVudDogWG1sRWxlbWVudCxcbiAgcmVwbGFjZU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuKSB7XG4gIGZ1bmN0aW9uIGRvUmVwbGFjZShlbGVtZW50OiBYbWxFbGVtZW50KSB7XG4gICAgaWYgKGVsZW1lbnQubmFtZSBpbiByZXBsYWNlTWFwKSB7XG4gICAgICBlbGVtZW50Lm5hbWUgPSByZXBsYWNlTWFwW2VsZW1lbnQubmFtZV1cbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQubmFtZSAmJiBnZXROYW1lc3BhY2UoZWxlbWVudC5uYW1lKSBpbiByZXBsYWNlTWFwKSB7XG4gICAgICBlbGVtZW50Lm5hbWUgPSBgJHtcbiAgICAgICAgcmVwbGFjZU1hcFtnZXROYW1lc3BhY2UoZWxlbWVudC5uYW1lKV1cbiAgICAgIH06JHtzdHJpcE5hbWVzcGFjZShlbGVtZW50Lm5hbWUpfWBcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIGVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChkb1JlcGxhY2UpXG4gICAgfVxuICB9XG4gIGRvUmVwbGFjZShyb290RWxlbWVudClcbiAgcmV0dXJuIHJvb3RFbGVtZW50XG59XG4iXX0=
369
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIveG1sLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBRVIsV0FBVyxFQUNYLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCO0lBQzlDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQTtJQUNkLElBQUk7UUFDRixHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzFCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQzVEO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFBO0lBRTNDLFNBQVMsd0JBQXdCLENBQUMsSUFBWTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUks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QUMsSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUM5QixPQUFPLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDeEM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDbkUsT0FBTyxDQUFDLElBQUksR0FBRyxHQUNiLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUN2QyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtTQUNuQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7SUFDRCxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdEIsT0FBTyxXQUFXLENBQUE7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHBhcnNlWG1sLFxuICBYbWxDb21tZW50LFxuICBYbWxEb2N1bWVudCxcbiAgWG1sRWxlbWVudCxcbiAgWG1sVGV4dCxcbn0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5pbXBvcnQgeyBDaGFpbmFibGVGdW5jdGlvbiwgZmFsbGJhY2sgfSBmcm9tICcuL2Z1bmN0aW9uLXV0aWxzJ1xuXG5leHBvcnQgeyBYbWxEb2N1bWVudCwgWG1sRWxlbWVudCB9IGZyb20gJ0ByZ3JvdmUvcGFyc2UteG1sJ1xuXG5leHBvcnQgY2xhc3MgWG1sUGFyc2VFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpXG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBYTUwgZG9jdW1lbnQgYXMgc3RyaW5nLCByZXR1cm4gYSBkb2N1bWVudCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWG1sU3RyaW5nKHhtbFN0cmluZzogc3RyaW5nKTogWG1sRG9jdW1lbnQge1xuICBsZXQgZG9jID0gbnVsbFxuICB0cnkge1xuICAgIGRvYyA9IHBhcnNlWG1sKHhtbFN0cmluZylcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBYbWxQYXJzZUVycm9yKGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IGUpXG4gIH1cbiAgcmV0dXJuIGRvY1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRG9jdW1lbnQocm9vdEVsOiBYbWxFbGVtZW50KTogWG1sRG9jdW1lbnQge1xuICByb290RWwuYXR0cmlidXRlcyA9IHJvb3RFbC5hdHRyaWJ1dGVzIHx8IHt9XG5cbiAgZnVuY3Rpb24gY29sbGVjdE5hbWVzcGFjZUZyb21OYW1lKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IGV4dHJhY3ROYW1lc3BhY2UobmFtZSlcbiAgICBpZiAobmFtZXNwYWNlID09PSAneG1sbnMnIHx8IG5hbWVzcGFjZSA9PT0gbnVsbCkgcmV0dXJuXG4gICAgaWYgKHJvb3RFbC5hdHRyaWJ1dGVzW2B4bWxuczoke25hbWVzcGFjZX1gXSkgcmV0dXJuXG4gICAgaWYgKCFOQU1FU1BBQ0VTW25hbWVzcGFjZV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8ga25vd24gVVJJIGZvciBuYW1lc3BhY2UgJHtuYW1lc3BhY2V9YClcbiAgICB9XG4gICAgcm9vdEVsLmF0dHJpYnV0ZXNbYHhtbG5zOiR7bmFtZXNwYWNlfWBdID0gTkFNRVNQQUNFU1tuYW1lc3BhY2VdXG4gIH1cblxuICBmdW5jdGlvbiBjb2xsZWN0TmFtZXNwYWNlcyhlbDogWG1sRWxlbWVudCkge1xuICAgIGNvbGxlY3ROYW1lc3BhY2VGcm9tTmFtZShlbC5uYW1lKVxuICAgIGZvciAoY29uc3QgYXR0ciBpbiBlbC5hdHRyaWJ1dGVzKSB7XG4gICAgICBjb2xsZWN0TmFtZXNwYWNlRnJvbU5hbWUoYXR0cilcbiAgICB9XG4gICAgY29uc3QgY2hpbGRyZW4gPSBhbGxDaGlsZHJlbkVsZW1lbnQoZWwpXG4gICAgY2hpbGRyZW4uZm9yRWFjaChjb2xsZWN0TmFtZXNwYWNlcylcbiAgfVxuXG4gIGNvbGxlY3ROYW1lc3BhY2VzKHJvb3RFbClcbiAgcmV0dXJuIG5ldyBYbWxEb2N1bWVudChbcm9vdEVsXSlcbn1cblxuLyoqXG4gKiBXaWxsIGRvIG5vdGhpbmcgaWYgbm8gbmFtZXNwYWNlIHByZXNlbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwTmFtZXNwYWNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbG9uID0gbmFtZS5pbmRleE9mKCc6JylcbiAgcmV0dXJuIGNvbG9uID4gLTEgPyBuYW1lLnN1YnN0cmluZyhjb2xvbiArIDEpIDogbmFtZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZXNwYWNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbG9uID0gbmFtZS5pbmRleE9mKCc6JylcbiAgcmV0dXJuIGNvbG9uID4gLTEgPyBuYW1lLnN1YnN0cmluZygwLCBjb2xvbikgOiAnJ1xufVxuXG5mdW5jdGlvbiBnZXRFbGVtZW50TmFtZShlbGVtZW50OiBYbWxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIGVsZW1lbnQubmFtZSB8fCAnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdEVsZW1lbnQoeG1sRG9jOiBYbWxEb2N1bWVudCk6IFhtbEVsZW1lbnQge1xuICByZXR1cm4geG1sRG9jLmNoaWxkcmVuLmZpbmQoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIGFzIFhtbEVsZW1lbnRcbn1cblxuLyoqXG4gKiBXaWxsIHJldHVybiBhbGwgbWF0Y2hpbmcgZWxlbWVudHMgKG5hbWVzcGFjZSB3aWxsIGJlIGlnbm9yZWQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2hpbGRyZW5FbGVtZW50KFxuICBuYW1lOiBzdHJpbmcsXG4gIG5lc3RlZCA9IHRydWVcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBjb25zdCBzdHJpcHBlZE5hbWUgPSBzdHJpcE5hbWVzcGFjZShuYW1lKVxuICAgIGZ1bmN0aW9uIHJlZHVjZXIocHJldiwgY3Vycikge1xuICAgICAgaWYgKHN0cmlwTmFtZXNwYWNlKGdldEVsZW1lbnROYW1lKGN1cnIpKSA9PT0gc3RyaXBwZWROYW1lKSB7XG4gICAgICAgIHByZXYucHVzaChjdXJyKVxuICAgICAgfVxuXG4gICAgICBpZiAobmVzdGVkICYmIEFycmF5LmlzQXJyYXkoY3Vyci5jaGlsZHJlbikpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5wcmV2LCAuLi5jdXJyLmNoaWxkcmVuLnJlZHVjZShyZWR1Y2VyLCBbXSldXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlbCAmJiBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgPyBlbC5jaGlsZHJlbi5yZWR1Y2UocmVkdWNlciwgW10pXG4gICAgICA6IFtdXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZEVsZW1lbnQoXG4gIG5hbWU6IHN0cmluZyxcbiAgbmVzdGVkID0gdHJ1ZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiBmaW5kQ2hpbGRyZW5FbGVtZW50KG5hbWUsIG5lc3RlZCkoZWwpWzBdIHx8IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsbENoaWxkcmVuRWxlbWVudChlbGVtZW50OiBYbWxFbGVtZW50KTogQXJyYXk8WG1sRWxlbWVudD4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIUFycmF5LmlzQXJyYXkoZWxlbWVudC5jaGlsZHJlbikpIHJldHVybiBbXVxuICByZXR1cm4gW1xuICAgIC4uLmVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiBYbWxFbGVtZW50KSxcbiAgXSBhcyBBcnJheTxYbWxFbGVtZW50PlxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RDaGlsZEVsZW1lbnQoZWxlbWVudDogWG1sRWxlbWVudCk6IFhtbEVsZW1lbnQge1xuICByZXR1cm4gYWxsQ2hpbGRyZW5FbGVtZW50KGVsZW1lbnQpWzBdID8/IG51bGxcbn1cblxuLyoqXG4gKiBXaWxsIHJldHVybiBhbGwgbWF0Y2hpbmcgZWxlbWVudHMgbmVzdGVkIGFjY29yZGluZyB0byB0aGUgZ2l2ZW5cbiAqIG5hbWVzIChzaW1pbGFyIHRvIGEgcGF0aCksIHN0YXJ0aW5nIGZvcm0gdGhlIGlucHV0IGVsZW1lbnQ7XG4gKiByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmIG5vIG1hdGNoaW5nIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXN0ZWRFbGVtZW50cyhcbiAgLi4uZWxlbWVudE5hbWVzOiBzdHJpbmdbXVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgQXJyYXk8WG1sRWxlbWVudD4+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGZ1bmN0aW9uIGxvb2tGb3IoZWxOYW1lSW5kZXg6IG51bWJlcikge1xuICAgICAgY29uc3Qgc3RyaXBwZWROYW1lID0gc3RyaXBOYW1lc3BhY2UoZWxlbWVudE5hbWVzW2VsTmFtZUluZGV4XSlcbiAgICAgIHJldHVybiAocHJldiwgY3VycikgPT4ge1xuICAgICAgICBpZiAoc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUoY3VycikpICE9PSBzdHJpcHBlZE5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgICAgIGlmIChlbE5hbWVJbmRleCA9PT0gZWxlbWVudE5hbWVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICByZXR1cm4gWy4uLnByZXYsIGN1cnJdXG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3Vyci5jaGlsZHJlbikpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgIC4uLmN1cnIuY2hpbGRyZW4ucmVkdWNlKGxvb2tGb3IoZWxOYW1lSW5kZXggKyAxKSwgW10pLFxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlbCAmJiBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgPyBlbC5jaGlsZHJlbi5yZWR1Y2UobG9va0ZvcigwKSwgW10pXG4gICAgICA6IFtdXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXN0ZWRFbGVtZW50KFxuICAuLi5lbGVtZW50TmFtZXM6IHN0cmluZ1tdXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBjb25zdCBmb3VuZCA9IGZpbmROZXN0ZWRFbGVtZW50cyguLi5lbGVtZW50TmFtZXMpKGVsKVxuICAgIHJldHVybiBmb3VuZC5sZW5ndGggPyBmb3VuZFswXSA6IG51bGxcbiAgfVxufVxuXG4vLyBXaWxsIGxvb2sgdGhyb3VnaCBhbGwgdGhlIHBhcmVudHM7IHJldHVybnMgbnVsbCBpZiBubyBtYXRjaGluZyBwYXJlbnQgZm91bmQuXG5leHBvcnQgZnVuY3Rpb24gZmluZFBhcmVudChcbiAgcGFyZW50TmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBsZXQgcGFyZW50OiBYbWxFbGVtZW50IHwgWG1sRG9jdW1lbnQgPSBlbC5wYXJlbnQgYXMgWG1sRWxlbWVudFxuICAgIHdoaWxlIChwYXJlbnQgJiYgcGFyZW50IGluc3RhbmNlb2YgWG1sRWxlbWVudCkge1xuICAgICAgaWYgKHN0cmlwTmFtZXNwYWNlKGdldEVsZW1lbnROYW1lKHBhcmVudCkpID09PSBzdHJpcE5hbWVzcGFjZShwYXJlbnROYW1lKSlcbiAgICAgICAgcmV0dXJuIHBhcmVudFxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudFxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkVGV4dCgpOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBzdHJpbmc+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGlmICghZWwpIHJldHVybiBudWxsXG4gICAgY29uc3QgdGV4dE5vZGUgPSBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgPyAoZWwuY2hpbGRyZW4uZmluZCgobm9kZSkgPT4gbm9kZS50eXBlID09PSAndGV4dCcpIGFzIFhtbFRleHQpXG4gICAgICA6IG51bGxcbiAgICByZXR1cm4gdGV4dE5vZGUgPyB0ZXh0Tm9kZS50ZXh0IDogJydcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEF0dHJpYnV0ZShcbiAgYXR0ck5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgc3RyaW5nPiB7XG4gIHJldHVybiAoZWwpID0+IChlbCAmJiBlbC5hdHRyaWJ1dGVzW2F0dHJOYW1lXSkgfHwgbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24geG1sVG9TdHJpbmcoXG4gIGVsOiBYbWxFbGVtZW50IHwgWG1sVGV4dCB8IFhtbENvbW1lbnQgfCBYbWxEb2N1bWVudCxcbiAgaW5kZW50YXRpb25MZXZlbCA9IDBcbikge1xuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxEb2N1bWVudClcbiAgICByZXR1cm4gYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PiR7eG1sVG9TdHJpbmcoXG4gICAgICBlbC5jaGlsZHJlblswXVxuICAgICl9YFxuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxUZXh0KSB7XG4gICAgY29uc3QgdGV4dCA9IGVsLnRleHRcbiAgICBjb25zdCBpc0VtcHR5ID0gIXRleHQgfHwgdGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJykgPT09ICcnXG4gICAgaWYgKGlzRW1wdHkpIHJldHVybiAnJ1xuICAgIHJldHVybiB0ZXh0XG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICB9XG4gIGlmICghKGVsIGluc3RhbmNlb2YgWG1sRWxlbWVudCkpIHJldHVybiBgPCEtLSB1bmtub3duIC0tPmBcblxuICBjb25zdCBwYWRkaW5nID0gJyAgICAnLnJlcGVhdChpbmRlbnRhdGlvbkxldmVsKVxuICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgPyBlbC5jaGlsZHJlblxuICAgICAgICAubWFwKChlbCkgPT4geG1sVG9TdHJpbmcoZWwsIGluZGVudGF0aW9uTGV2ZWwgKyAxKSlcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsICE9PSAnJylcbiAgICAgICAgLm1hcCgoZWxTdHJpbmcsIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICBpbmRleCA8IGFycmF5Lmxlbmd0aCAtIDEgPyBlbFN0cmluZy5yZXBsYWNlKC9cXG5cXHMqJC9nLCAnJykgOiBlbFN0cmluZ1xuICAgICAgICApXG4gICAgICAgIC5qb2luKCcnKVxuICAgIDogJydcbiAgY29uc3QgYXR0cnMgPSBPYmplY3Qua2V5cyhlbC5hdHRyaWJ1dGVzKS5yZWR1Y2UoXG4gICAgKHByZXYsIGN1cnIpID0+IHByZXYgKyBgICR7Y3Vycn09XCIke2VsLmF0dHJpYnV0ZXNbY3Vycl19XCJgLFxuICAgICcnXG4gIClcbiAgY29uc3QgcGFyZW50UGFkZGluZyA9ICcgICAgJy5yZXBlYXQoTWF0aC5tYXgoMCwgaW5kZW50YXRpb25MZXZlbCAtIDEpKVxuICBpZiAoY2hpbGRyZW4gPT09ICcnKSB7XG4gICAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9Lz5cbiR7cGFyZW50UGFkZGluZ31gXG4gIH1cblxuICByZXR1cm4gYFxuJHtwYWRkaW5nfTwke2VsLm5hbWV9JHthdHRyc30+JHtjaGlsZHJlbn08LyR7ZWwubmFtZX0+XG4ke3BhcmVudFBhZGRpbmd9YFxufVxuXG4vKipcbiAqIEBwYXJhbSBuYW1lXG4gKiBAcmV0dXJucyBuYW1lc3BhY2UsIG51bGwgaWYgbm9uZSBmb3VuZFxuICovXG5mdW5jdGlvbiBleHRyYWN0TmFtZXNwYWNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBjb2xvbiA9IG5hbWUuaW5kZXhPZignOicpXG4gIHJldHVybiBjb2xvbiA+IC0xID8gbmFtZS5zdWJzdHJpbmcoMCwgY29sb24pIDogbnVsbFxufVxuXG5jb25zdCBOQU1FU1BBQ0VTID0ge1xuICBnbWQ6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2dtZCcsXG4gIGdjbzogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ2NvJyxcbiAgZ2ZjOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nZmMnLFxuICBnbWw6ICdodHRwOi8vd3d3Lm9wZW5naXMubmV0L2dtbC8zLjInLFxuICB4c2k6ICdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScsXG4gIHNydjogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvc3J2JyxcbiAgZ214OiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nbXgnLFxuICBndHM6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2d0cycsXG4gIGdzcjogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ3NyJyxcbiAgZ21pOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nbWknLFxuICB4bGluazogJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnLFxuICBtZGI6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21kYi8yLjAnLFxuICBtZHE6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTU3Ly0yL21kcS8xLjAnLFxuICBtc3I6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21zci8yLjAnLFxuICBtcnM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21ycy8xLjAnLFxuICBtbWk6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21taS8xLjAnLFxuICBtcmw6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21ybC8yLjAnLFxuICBtZHQ6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21kdC8yLjAnLFxuICBtcmQ6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21yZC8xLjAnLFxuICBtZHM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21kcy8yLjAnLFxuICBtcGM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21wYy8xLjAnLFxuICBtY2M6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21jYy8xLjAnLFxuICBtYWM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21hYy8yLjAnLFxuICBtY286ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21jby8xLjAnLFxuICBtZGE6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21kYS8xLjAnLFxuICBtZXg6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21leC8xLjAnLFxuICBnZXg6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2dleC8xLjAnLFxuICBnY3g6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2djeC8xLjAnLFxuICBtYXM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21hcy8xLjAnLFxuICBtcmk6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21yaS8xLjAnLFxuICBjaXQ6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2NpdC8yLjAnLFxuICBjYXQ6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2NhdC8xLjAnLFxuICBsYW46ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL2xhbi8xLjAnLFxuICBtcmM6ICdodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXNvLzE5MTE1Ly0zL21yYy8yLjAnLFxufVxuXG4vKipcbiAqIEBwYXJhbSBuYW1lIEZ1bGwgbmFtZSB3aXRoIG5hbWVzcGFjZSwgZS5nLjogZ21kOk1EX01ldGFkYXRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbGVtZW50KFxuICBuYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPHZvaWQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuICgpID0+IG5ldyBYbWxFbGVtZW50KG5hbWUsIHt9LCBbXSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEF0dHJpYnV0ZShcbiAgbmFtZTogc3RyaW5nLFxuICB2YWx1ZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGVsZW1lbnQuYXR0cmlidXRlc1tuYW1lXSA9IHZhbHVlXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VHJlZVJvb3QoZWxlbWVudDogWG1sRWxlbWVudCk6IFhtbEVsZW1lbnQge1xuICBsZXQgcm9vdCA9IGVsZW1lbnRcbiAgd2hpbGUgKHJvb3QucGFyZW50IGluc3RhbmNlb2YgWG1sRWxlbWVudCkge1xuICAgIHJvb3QgPSByb290LnBhcmVudFxuICB9XG4gIHJldHVybiByb290XG59XG5cbi8vIHN0YXlzIG9uIHRoZSBwYXJlbnQgZWxlbWVudFxuLy8gaWYgdGhlIGdpdmVuIGVsZW1lbnRzIGFyZSBwYXJ0IG9mIGEgc3VidHJlZSwgd2lsbCBhZGQgdGhlIHJvb3Qgb2Ygc3VidHJlZVxuLy8gd2lsbCBmaWx0ZXIgb3V0IGZhbHN5IGVsZW1lbnRzXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGRyZW4oXG4gIC4uLmNoaWxkcmVuRm5zOiBBcnJheTxDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50Pj5cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGNoaWxkcmVuRm5zID0gY2hpbGRyZW5GbnMuZmlsdGVyKChmbikgPT4gZm4pXG4gICAgZWxlbWVudC5jaGlsZHJlbi5wdXNoKC4uLmNoaWxkcmVuRm5zLm1hcCgoZm4pID0+IGZuKCkpLm1hcChnZXRUcmVlUm9vdCkpXG4gICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IGVsZW1lbnQpKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuLy8gc3dpdGNoIHRvIHRoZSB0aXAgb2YgdGhlIHN1YnRyZWVcbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDaGlsZFRyZWUoXG4gIGNoaWxkcmVuRm46IENoYWluYWJsZUZ1bmN0aW9uPHZvaWQsIFhtbEVsZW1lbnQ+XG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBjb25zdCB0cmVlVGlwID0gY2hpbGRyZW5GbigpXG4gICAgY29uc3QgdHJlZVJvb3QgPSBnZXRUcmVlUm9vdCh0cmVlVGlwKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaCh0cmVlUm9vdClcbiAgICB0cmVlUm9vdC5wYXJlbnQgPSBlbGVtZW50XG4gICAgcmV0dXJuIHRyZWVUaXBcbiAgfVxufVxuXG4vLyBzd2l0Y2hlcyB0byB0aGUgY2hpbGQgZWxlbWVudFxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKFxuICBjaGlsZE5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3QgY2hpbGQgPSBjcmVhdGVFbGVtZW50KGNoaWxkTmFtZSkoKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaChjaGlsZClcbiAgICBjaGlsZC5wYXJlbnQgPSBlbGVtZW50XG4gICAgcmV0dXJuIGNoaWxkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZE9yQ3JlYXRlKFxuICBuYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIGZhbGxiYWNrKGZpbmRDaGlsZEVsZW1lbnQobmFtZSwgZmFsc2UpLCBjcmVhdGVDaGlsZChuYW1lKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXN0ZWRDaGlsZE9yQ3JlYXRlKFxuICAuLi5lbGVtZW50TmFtZXM6IHN0cmluZ1tdXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXJyZW50ID0gZWxlbWVudFxuICAgIGZvciAoY29uc3QgbmFtZSBvZiBlbGVtZW50TmFtZXMpIHtcbiAgICAgIGN1cnJlbnQgPSBmaW5kQ2hpbGRPckNyZWF0ZShuYW1lKShjdXJyZW50KVxuICAgIH1cbiAgICByZXR1cm4gY3VycmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUZXh0Q29udGVudChcbiAgdGV4dDogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBjb25zdCB0ZXh0RWwgPSBlbGVtZW50LmNoaWxkcmVuLmZpbmQoXG4gICAgICAoZWwpID0+IGVsIGluc3RhbmNlb2YgWG1sVGV4dFxuICAgICkgYXMgWG1sVGV4dFxuICAgIGlmICghdGV4dEVsKSB7XG4gICAgICBlbGVtZW50LmNoaWxkcmVuLnB1c2gobmV3IFhtbFRleHQodGV4dCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRleHRFbC50ZXh0ID0gdGV4dFxuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBbGxDaGlsZHJlbigpOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBlbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGVsKSA9PiAoZWwucGFyZW50ID0gbnVsbCkpXG4gICAgZWxlbWVudC5jaGlsZHJlbiA9IFtdXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG4vLyBzdGF5cyBvbiB0aGUgc2FtZSBlbGVtZW50XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2hpbGRyZW5CeU5hbWUoXG4gIG5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3Qgc3RyaXBwZWROYW1lID0gc3RyaXBOYW1lc3BhY2UobmFtZSlcbiAgICBjb25zdCByZW1vdmVkID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+XG4gICAgICAgIGNoaWxkIGluc3RhbmNlb2YgWG1sRWxlbWVudCAmJlxuICAgICAgICBzdHJpcE5hbWVzcGFjZShnZXRFbGVtZW50TmFtZShjaGlsZCkpID09PSBzdHJpcHBlZE5hbWVcbiAgICApXG4gICAgcmVtb3ZlZC5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IG51bGwpKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBlbGVtZW50LmNoaWxkcmVuLmZpbHRlcihcbiAgICAgIChjaGlsZCkgPT4gcmVtb3ZlZC5pbmRleE9mKGNoaWxkKSA9PT0gLTFcbiAgICApXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2hpbGRyZW4oXG4gIGNoaWxkcmVuRm46IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PlxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblRvUmVtb3ZlID0gY2hpbGRyZW5GbihlbGVtZW50KVxuICAgIGNoaWxkcmVuVG9SZW1vdmUuZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5wYXJlbnQgPSBudWxsKSlcbiAgICBlbGVtZW50LmNoaWxkcmVuID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+XG4gICAgICAgIGNoaWxkIGluc3RhbmNlb2YgWG1sRWxlbWVudCAmJiBjaGlsZHJlblRvUmVtb3ZlLmluZGV4T2YoY2hpbGQpID09PSAtMVxuICAgIClcbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG59XG5cbi8qKlxuICogUmVuYW1lcyBlbGVtZW50cyBpbiB0aGUgWE1MIHRyZWUgYWNjb3JkaW5nIHRvIHRoZSBtYXBcbiAqIEVpdGhlciBzcGVjaWZ5IGEgZnVsbCBlbGVtZW50IG5hbWUgbGlrZSAnZ21kOk1EX01ldGFkYXRhJyBvciBzaW1wbHkgYSBuYW1lc3BhY2UgbGlrZSAnZ21kJ1xuICogQHBhcmFtIHJvb3RFbGVtZW50XG4gKiBAcGFyYW0gcmVwbGFjZU1hcFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lRWxlbWVudHMoXG4gIHJvb3RFbGVtZW50OiBYbWxFbGVtZW50LFxuICByZXBsYWNlTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4pIHtcbiAgZnVuY3Rpb24gZG9SZXBsYWNlKGVsZW1lbnQ6IFhtbEVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudC5uYW1lIGluIHJlcGxhY2VNYXApIHtcbiAgICAgIGVsZW1lbnQubmFtZSA9IHJlcGxhY2VNYXBbZWxlbWVudC5uYW1lXVxuICAgIH0gZWxzZSBpZiAoZWxlbWVudC5uYW1lICYmIGdldE5hbWVzcGFjZShlbGVtZW50Lm5hbWUpIGluIHJlcGxhY2VNYXApIHtcbiAgICAgIGVsZW1lbnQubmFtZSA9IGAke1xuICAgICAgICByZXBsYWNlTWFwW2dldE5hbWVzcGFjZShlbGVtZW50Lm5hbWUpXVxuICAgICAgfToke3N0cmlwTmFtZXNwYWNlKGVsZW1lbnQubmFtZSl9YFxuICAgIH1cbiAgICBpZiAoZWxlbWVudC5jaGlsZHJlbikge1xuICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKGRvUmVwbGFjZSlcbiAgICB9XG4gIH1cbiAgZG9SZXBsYWNlKHJvb3RFbGVtZW50KVxuICByZXR1cm4gcm9vdEVsZW1lbnRcbn1cbiJdfQ==
@@ -34,6 +34,15 @@ export class Gn4PlatformMapper {
34
34
  ? keyword.definitions[lang3]
35
35
  : keyword.definition;
36
36
  const matchedThesaurus = thesaurus.find((thes) => keyword.thesaurusKey === thes.key);
37
+ let bbox;
38
+ if (keyword.coordWest) {
39
+ bbox = [
40
+ parseFloat(keyword.coordWest),
41
+ parseFloat(keyword.coordSouth),
42
+ parseFloat(keyword.coordEast),
43
+ parseFloat(keyword.coordNorth),
44
+ ];
45
+ }
37
46
  return {
38
47
  key,
39
48
  label,
@@ -45,6 +54,7 @@ export class Gn4PlatformMapper {
45
54
  url: new URL(matchedThesaurus?.url),
46
55
  type: matchedThesaurus?.dname,
47
56
  },
57
+ ...(bbox && { bbox }),
48
58
  };
49
59
  });
50
60
  }
@@ -87,4 +97,4 @@ export class Gn4PlatformMapper {
87
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4PlatformMapper, decorators: [{
88
98
  type: Injectable
89
99
  }], ctorParameters: function () { return [{ type: i1.AvatarServiceInterface }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjL2xpYi9nbjQvcGxhdGZvcm0vZ240LXBsYXRmb3JtLm1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBYXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO0lBQUcsQ0FBQztJQUU3RCxhQUFhLENBQUMsT0FBMkI7UUFDdkMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixNQUFNLEVBQ0osSUFBSSxFQUNKLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsR0FBRyxJQUFJLEVBQ1IsR0FBRyxPQUFPLENBQUE7UUFFWCxPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLGNBQWMsQ0FBQyxJQUFJLENBQUM7YUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBZ0IsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDekIsTUFBTSxFQUNKLE9BQU8sRUFDUCxjQUFjLEVBQ2Qs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QVksQ0FBQyxTQUFTO1lBQ2pDLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtZQUNuQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7U0FDN0MsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQy9CLGdCQUE4QjtRQUU5QixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQzlELGdCQUFnQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FDMUMsQ0FBQTtRQUVELE9BQU87WUFDTCxHQUFHLGdCQUFnQjtZQUNuQixTQUFTLEVBQUUsYUFBYTtTQUN6QixDQUFBO0lBQ0gsQ0FBQzsrR0FuSFUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNZVJlc3BvbnNlQXBpTW9kZWwsXG4gIFVzZXJBcGlNb2RlbCxcbiAgVXNlckZlZWRiYWNrRFRPQXBpTW9kZWwsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIEtleXdvcmQsXG4gIFVzZXJGZWVkYmFjayxcbiAgVXNlckZlZWRiYWNrVmlld01vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBLZXl3b3JkQXBpUmVzcG9uc2UsXG4gIFRoZXNhdXJ1c0FwaVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC90aGVzYXVydXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHbjRQbGF0Zm9ybU1hcHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZUludGVyZmFjZSkge31cblxuICB1c2VyRnJvbU1lQXBpKGFwaVVzZXI6IE1lUmVzcG9uc2VBcGlNb2RlbCk6IE9ic2VydmFibGU8VXNlck1vZGVsIHwgbnVsbD4ge1xuICAgIGlmICghYXBpVXNlcikgcmV0dXJuIG9mKG51bGwpXG4gICAgY29uc3Qge1xuICAgICAgaGFzaCxcbiAgICAgIGdyb3Vwc1dpdGhSZWdpc3RlcmVkVXNlcixcbiAgICAgIGdyb3Vwc1dpdGhFZGl0b3IsXG4gICAgICBncm91cHNXaXRoUmV2aWV3ZXIsXG4gICAgICBncm91cHNXaXRoVXNlckFkbWluLFxuICAgICAgYWRtaW4sXG4gICAgICAuLi51c2VyXG4gICAgfSA9IGFwaVVzZXJcblxuICAgIHJldHVybiB0aGlzLmF2YXRhclNlcnZpY2VcbiAgICAgIC5nZXRQcm9maWxlSWNvbihoYXNoKVxuICAgICAgLnBpcGUobWFwKChwcm9maWxlSWNvbikgPT4gKHsgLi4udXNlciwgcHJvZmlsZUljb24gfSBhcyBVc2VyTW9kZWwpKSlcbiAgfVxuXG4gIHVzZXJGcm9tQXBpKGFwaVVzZXI6IFVzZXJBcGlNb2RlbCk6IFVzZXJNb2RlbCB7XG4gICAgaWYgKCFhcGlVc2VyKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHtcbiAgICAgIGVuYWJsZWQsXG4gICAgICBlbWFpbEFkZHJlc3NlcyxcbiAgICAgIG9yZ2FuaXphdGlvbixcbiAgICAgIGtpbmQsXG4gICAgICBsYXN0TG9naW5EYXRlLFxuICAgICAgYWNjb3VudE5vbkV4cGlyZWQsXG4gICAgICBhY2NvdW50Tm9uTG9ja2VkLFxuICAgICAgaWQsXG4gICAgICBjcmVkZW50aWFsc05vbkV4cGlyZWQsXG4gICAgICAuLi51c2VyXG4gICAgfSA9IGFwaVVzZXJcbiAgICByZXR1cm4geyAuLi5hcGlVc2VyLCBpZDogaWQudG9TdHJpbmcoKSB9IGFzIFVzZXJNb2RlbFxuICB9XG5cbiAga2V5d29yZHNGcm9tQXBpKFxuICAgIGtleXdvcmRzOiBLZXl3b3JkQXBpUmVzcG9uc2VbXSxcbiAgICB0aGVzYXVydXM6IFRoZXNhdXJ1c0FwaVJlc3BvbnNlW10sXG4gICAgbGFuZzM/OiBzdHJpbmdcbiAgKTogS2V5d29yZFtdIHtcbiAgICByZXR1cm4ga2V5d29yZHMubWFwKChrZXl3b3JkKTogS2V5d29yZCA9PiB7XG4gICAgICBsZXQga2V5ID0ga2V5d29yZC51cmlcbiAgICAgIC8vIHNvbWV0aW5lcyBHTiBjYW4gcHJlZml4IGFuIFVSSSB3aXRoIGFuIFwiYWxsIHRoZXNhdXJ1c1wiIFVSSTsgb25seSBrZWVwIHRoZSBsYXN0IG9uZVxuICAgICAgaWYgKGtleS5pbmRleE9mKCdAQEAnKSA+IC0xKSB7XG4gICAgICAgIGtleSA9IGtleS5zcGxpdCgnQEBAJylbMV1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhYmVsID1cbiAgICAgICAgbGFuZzMgJiYgbGFuZzMgaW4ga2V5d29yZC52YWx1ZXMgPyBrZXl3b3JkLnZhbHVlc1tsYW5nM10gOiBrZXl3b3JkLnZhbHVlXG4gICAgICBjb25zdCBkZXNjcmlwdGlvbiA9XG4gICAgICAgIGxhbmczICYmIGxhbmczIGluIGtleXdvcmQuZGVmaW5pdGlvbnNcbiAgICAgICAgICA/IGtleXdvcmQuZGVmaW5pdGlvbnNbbGFuZzNdXG4gICAgICAgICAgOiBrZXl3b3JkLmRlZmluaXRpb25cblxuICAgICAgY29uc3QgbWF0Y2hlZFRoZXNhdXJ1cyA9IHRoZXNhdXJ1cy5maW5kKFxuICAgICAgICAodGhlcykgPT4ga2V5d29yZC50aGVzYXVydXNLZXkgPT09IHRoZXMua2V5XG4gICAgICApXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICB0eXBlOiBtYXRjaGVkVGhlc2F1cnVzPy5kbmFtZSBhcyBLZXl3b3JkVHlwZSxcbiAgICAgICAgdGhlc2F1cnVzOiB7XG4gICAgICAgICAgaWQ6IG1hdGNoZWRUaGVzYXVydXM/LmtleSxcbiAgICAgICAgICBuYW1lOiBtYXRjaGVkVGhlc2F1cnVzPy50aXRsZSxcbiAgICAgICAgICB1cmw6IG5ldyBVUkwobWF0Y2hlZFRoZXNhdXJ1cz8udXJsKSxcbiAgICAgICAgICB0eXBlOiBtYXRjaGVkVGhlc2F1cnVzPy5kbmFtZSBhcyBLZXl3b3JkVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXNlckZlZWRiYWNrc0Zyb21BcGkodXNlckZlZWRiYWNrOiBhbnkpOiBVc2VyRmVlZGJhY2sge1xuICAgIHJldHVybiB7XG4gICAgICB1dWlkOiB1c2VyRmVlZGJhY2sudXVpZCxcbiAgICAgIG1ldGFkYXRhVVVJRDogdXNlckZlZWRiYWNrLm1ldGFkYXRhVVVJRCxcbiAgICAgIGNvbW1lbnQ6IHVzZXJGZWVkYmFjay5jb21tZW50LFxuICAgICAgYXV0aG9yVXNlcklkOiB1c2VyRmVlZGJhY2suYXV0aG9yVXNlcklkLnRvU3RyaW5nKCksXG4gICAgICBhdXRob3JOYW1lOiB1c2VyRmVlZGJhY2suYXV0aG9yTmFtZSxcbiAgICAgIGF1dGhvckVtYWlsOiB1c2VyRmVlZGJhY2suYXV0aG9yRW1haWwsXG4gICAgICBwdWJsaXNoZWQ6IHVzZXJGZWVkYmFjay5wdWJsaXNoZWQsXG4gICAgICBwYXJlbnRVdWlkOiB1c2VyRmVlZGJhY2sucGFyZW50VXVpZCA/PyB1bmRlZmluZWQsXG4gICAgICBkYXRlOiBuZXcgRGF0ZSh1c2VyRmVlZGJhY2suZGF0ZSksXG4gICAgfVxuICB9XG5cbiAgdXNlckZlZWRiYWNrc1RvQXBpKFxuICAgIHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrXG4gICk6IFBhcnRpYWw8VXNlckZlZWRiYWNrRFRPQXBpTW9kZWw+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdXVpZDogdXNlckZlZWRiYWNrLnV1aWQsXG4gICAgICBtZXRhZGF0YVVVSUQ6IHVzZXJGZWVkYmFjay5tZXRhZGF0YVVVSUQsXG4gICAgICBjb21tZW50OiB1c2VyRmVlZGJhY2suY29tbWVudCxcbiAgICAgIGF1dGhvclVzZXJJZDogTnVtYmVyLnBhcnNlSW50KHVzZXJGZWVkYmFjay5hdXRob3JVc2VySWQpLFxuICAgICAgYXV0aG9yTmFtZTogdXNlckZlZWRiYWNrLmF1dGhvck5hbWUsXG4gICAgICBhdXRob3JFbWFpbDogdXNlckZlZWRiYWNrLmF1dGhvckVtYWlsLFxuICAgICAgcHVibGlzaGVkOiB1c2VyRmVlZGJhY2sucHVibGlzaGVkLFxuICAgICAgcGFyZW50VXVpZDogdXNlckZlZWRiYWNrLnBhcmVudFV1aWQsXG4gICAgICBkYXRlOiB1c2VyRmVlZGJhY2suZGF0ZS5nZXRUaW1lKCkudG9TdHJpbmcoKSxcbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVVc2VyRmVlZGJhY2tWaWV3TW9kZWwoXG4gICAgYmFzZVVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrXG4gICk6IFByb21pc2U8VXNlckZlZWRiYWNrVmlld01vZGVsPiB7XG4gICAgY29uc3QgdXNlckF2YXRhclVybCA9IGF3YWl0IHRoaXMuYXZhdGFyU2VydmljZS5nZXRQcm9maWxlSWNvblVybChcbiAgICAgIGJhc2VVc2VyRmVlZGJhY2suYXV0aG9yVXNlcklkPy50b1N0cmluZygpXG4gICAgKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2VVc2VyRmVlZGJhY2ssXG4gICAgICBhdmF0YXJVcmw6IHVzZXJBdmF0YXJVcmwsXG4gICAgfVxuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjL2xpYi9nbjQvcGxhdGZvcm0vZ240LXBsYXRmb3JtLm1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBYXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO0lBQUcsQ0FBQztJQUU3RCxhQUFhLENBQUMsT0FBMkI7UUFDdkMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixNQUFNLEVBQ0osSUFBSSxFQUNKLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsR0FBRyxJQUFJLEVBQ1IsR0FBRyxPQUFPLENBQUE7UUFFWCxPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLGNBQWMsQ0FBQyxJQUFJLENBQUM7YUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBZ0IsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDekIsTUFBTSxFQUNKLE9BQU8sRUFDUCxjQUFjLEVBQ2Qs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LENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLFlBQTBCO1FBRTFCLE9BQU87WUFDTCxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDdkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO1lBQ3ZDLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTztZQUM3QixZQUFZLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQ3hELFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtZQUNuQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDckMsU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQ2pDLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtZQUNuQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7U0FDN0MsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQy9CLGdCQUE4QjtRQUU5QixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQzlELGdCQUFnQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FDMUMsQ0FBQTtRQUVELE9BQU87WUFDTCxHQUFHLGdCQUFnQjtZQUNuQixTQUFTLEVBQUUsYUFBYTtTQUN6QixDQUFBO0lBQ0gsQ0FBQzsrR0E5SFUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNZVJlc3BvbnNlQXBpTW9kZWwsXG4gIFVzZXJBcGlNb2RlbCxcbiAgVXNlckZlZWRiYWNrRFRPQXBpTW9kZWwsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2F1dGgnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIEtleXdvcmQsXG4gIFVzZXJGZWVkYmFjayxcbiAgVXNlckZlZWRiYWNrVmlld01vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBLZXl3b3JkQXBpUmVzcG9uc2UsXG4gIFRoZXNhdXJ1c0FwaVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC90aGVzYXVydXMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHbjRQbGF0Zm9ybU1hcHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZUludGVyZmFjZSkge31cblxuICB1c2VyRnJvbU1lQXBpKGFwaVVzZXI6IE1lUmVzcG9uc2VBcGlNb2RlbCk6IE9ic2VydmFibGU8VXNlck1vZGVsIHwgbnVsbD4ge1xuICAgIGlmICghYXBpVXNlcikgcmV0dXJuIG9mKG51bGwpXG4gICAgY29uc3Qge1xuICAgICAgaGFzaCxcbiAgICAgIGdyb3Vwc1dpdGhSZWdpc3RlcmVkVXNlcixcbiAgICAgIGdyb3Vwc1dpdGhFZGl0b3IsXG4gICAgICBncm91cHNXaXRoUmV2aWV3ZXIsXG4gICAgICBncm91cHNXaXRoVXNlckFkbWluLFxuICAgICAgYWRtaW4sXG4gICAgICAuLi51c2VyXG4gICAgfSA9IGFwaVVzZXJcblxuICAgIHJldHVybiB0aGlzLmF2YXRhclNlcnZpY2VcbiAgICAgIC5nZXRQcm9maWxlSWNvbihoYXNoKVxuICAgICAgLnBpcGUobWFwKChwcm9maWxlSWNvbikgPT4gKHsgLi4udXNlciwgcHJvZmlsZUljb24gfSBhcyBVc2VyTW9kZWwpKSlcbiAgfVxuXG4gIHVzZXJGcm9tQXBpKGFwaVVzZXI6IFVzZXJBcGlNb2RlbCk6IFVzZXJNb2RlbCB7XG4gICAgaWYgKCFhcGlVc2VyKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHtcbiAgICAgIGVuYWJsZWQsXG4gICAgICBlbWFpbEFkZHJlc3NlcyxcbiAgICAgIG9yZ2FuaXphdGlvbixcbiAgICAgIGtpbmQsXG4gICAgICBsYXN0TG9naW5EYXRlLFxuICAgICAgYWNjb3VudE5vbkV4cGlyZWQsXG4gICAgICBhY2NvdW50Tm9uTG9ja2VkLFxuICAgICAgaWQsXG4gICAgICBjcmVkZW50aWFsc05vbkV4cGlyZWQsXG4gICAgICAuLi51c2VyXG4gICAgfSA9IGFwaVVzZXJcbiAgICByZXR1cm4geyAuLi5hcGlVc2VyLCBpZDogaWQudG9TdHJpbmcoKSB9IGFzIFVzZXJNb2RlbFxuICB9XG5cbiAga2V5d29yZHNGcm9tQXBpKFxuICAgIGtleXdvcmRzOiBLZXl3b3JkQXBpUmVzcG9uc2VbXSxcbiAgICB0aGVzYXVydXM6IFRoZXNhdXJ1c0FwaVJlc3BvbnNlW10sXG4gICAgbGFuZzM/OiBzdHJpbmdcbiAgKTogS2V5d29yZFtdIHtcbiAgICByZXR1cm4ga2V5d29yZHMubWFwKChrZXl3b3JkKTogS2V5d29yZCA9PiB7XG4gICAgICBsZXQga2V5ID0ga2V5d29yZC51cmlcbiAgICAgIC8vIHNvbWV0aW5lcyBHTiBjYW4gcHJlZml4IGFuIFVSSSB3aXRoIGFuIFwiYWxsIHRoZXNhdXJ1c1wiIFVSSTsgb25seSBrZWVwIHRoZSBsYXN0IG9uZVxuICAgICAgaWYgKGtleS5pbmRleE9mKCdAQEAnKSA+IC0xKSB7XG4gICAgICAgIGtleSA9IGtleS5zcGxpdCgnQEBAJylbMV1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhYmVsID1cbiAgICAgICAgbGFuZzMgJiYgbGFuZzMgaW4ga2V5d29yZC52YWx1ZXMgPyBrZXl3b3JkLnZhbHVlc1tsYW5nM10gOiBrZXl3b3JkLnZhbHVlXG4gICAgICBjb25zdCBkZXNjcmlwdGlvbiA9XG4gICAgICAgIGxhbmczICYmIGxhbmczIGluIGtleXdvcmQuZGVmaW5pdGlvbnNcbiAgICAgICAgICA/IGtleXdvcmQuZGVmaW5pdGlvbnNbbGFuZzNdXG4gICAgICAgICAgOiBrZXl3b3JkLmRlZmluaXRpb25cblxuICAgICAgY29uc3QgbWF0Y2hlZFRoZXNhdXJ1cyA9IHRoZXNhdXJ1cy5maW5kKFxuICAgICAgICAodGhlcykgPT4ga2V5d29yZC50aGVzYXVydXNLZXkgPT09IHRoZXMua2V5XG4gICAgICApXG5cbiAgICAgIGxldCBiYm94OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuICAgICAgaWYgKGtleXdvcmQuY29vcmRXZXN0KSB7XG4gICAgICAgIGJib3ggPSBbXG4gICAgICAgICAgcGFyc2VGbG9hdChrZXl3b3JkLmNvb3JkV2VzdCksXG4gICAgICAgICAgcGFyc2VGbG9hdChrZXl3b3JkLmNvb3JkU291dGgpLFxuICAgICAgICAgIHBhcnNlRmxvYXQoa2V5d29yZC5jb29yZEVhc3QpLFxuICAgICAgICAgIHBhcnNlRmxvYXQoa2V5d29yZC5jb29yZE5vcnRoKSxcbiAgICAgICAgXVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgdHlwZTogbWF0Y2hlZFRoZXNhdXJ1cz8uZG5hbWUgYXMgS2V5d29yZFR5cGUsXG4gICAgICAgIHRoZXNhdXJ1czoge1xuICAgICAgICAgIGlkOiBtYXRjaGVkVGhlc2F1cnVzPy5rZXksXG4gICAgICAgICAgbmFtZTogbWF0Y2hlZFRoZXNhdXJ1cz8udGl0bGUsXG4gICAgICAgICAgdXJsOiBuZXcgVVJMKG1hdGNoZWRUaGVzYXVydXM/LnVybCksXG4gICAgICAgICAgdHlwZTogbWF0Y2hlZFRoZXNhdXJ1cz8uZG5hbWUgYXMgS2V5d29yZFR5cGUsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLihiYm94ICYmIHsgYmJveCB9KSxcbiAgICAgIH0gYXMgS2V5d29yZFxuICAgIH0pXG4gIH1cblxuICB1c2VyRmVlZGJhY2tzRnJvbUFwaSh1c2VyRmVlZGJhY2s6IGFueSk6IFVzZXJGZWVkYmFjayB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHV1aWQ6IHVzZXJGZWVkYmFjay51dWlkLFxuICAgICAgbWV0YWRhdGFVVUlEOiB1c2VyRmVlZGJhY2subWV0YWRhdGFVVUlELFxuICAgICAgY29tbWVudDogdXNlckZlZWRiYWNrLmNvbW1lbnQsXG4gICAgICBhdXRob3JVc2VySWQ6IHVzZXJGZWVkYmFjay5hdXRob3JVc2VySWQudG9TdHJpbmcoKSxcbiAgICAgIGF1dGhvck5hbWU6IHVzZXJGZWVkYmFjay5hdXRob3JOYW1lLFxuICAgICAgYXV0aG9yRW1haWw6IHVzZXJGZWVkYmFjay5hdXRob3JFbWFpbCxcbiAgICAgIHB1Ymxpc2hlZDogdXNlckZlZWRiYWNrLnB1Ymxpc2hlZCxcbiAgICAgIHBhcmVudFV1aWQ6IHVzZXJGZWVkYmFjay5wYXJlbnRVdWlkID8/IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKHVzZXJGZWVkYmFjay5kYXRlKSxcbiAgICB9XG4gIH1cblxuICB1c2VyRmVlZGJhY2tzVG9BcGkoXG4gICAgdXNlckZlZWRiYWNrOiBVc2VyRmVlZGJhY2tcbiAgKTogUGFydGlhbDxVc2VyRmVlZGJhY2tEVE9BcGlNb2RlbD4ge1xuICAgIHJldHVybiB7XG4gICAgICB1dWlkOiB1c2VyRmVlZGJhY2sudXVpZCxcbiAgICAgIG1ldGFkYXRhVVVJRDogdXNlckZlZWRiYWNrLm1ldGFkYXRhVVVJRCxcbiAgICAgIGNvbW1lbnQ6IHVzZXJGZWVkYmFjay5jb21tZW50LFxuICAgICAgYXV0aG9yVXNlcklkOiBOdW1iZXIucGFyc2VJbnQodXNlckZlZWRiYWNrLmF1dGhvclVzZXJJZCksXG4gICAgICBhdXRob3JOYW1lOiB1c2VyRmVlZGJhY2suYXV0aG9yTmFtZSxcbiAgICAgIGF1dGhvckVtYWlsOiB1c2VyRmVlZGJhY2suYXV0aG9yRW1haWwsXG4gICAgICBwdWJsaXNoZWQ6IHVzZXJGZWVkYmFjay5wdWJsaXNoZWQsXG4gICAgICBwYXJlbnRVdWlkOiB1c2VyRmVlZGJhY2sucGFyZW50VXVpZCxcbiAgICAgIGRhdGU6IHVzZXJGZWVkYmFjay5kYXRlLmdldFRpbWUoKS50b1N0cmluZygpLFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVVzZXJGZWVkYmFja1ZpZXdNb2RlbChcbiAgICBiYXNlVXNlckZlZWRiYWNrOiBVc2VyRmVlZGJhY2tcbiAgKTogUHJvbWlzZTxVc2VyRmVlZGJhY2tWaWV3TW9kZWw+IHtcbiAgICBjb25zdCB1c2VyQXZhdGFyVXJsID0gYXdhaXQgdGhpcy5hdmF0YXJTZXJ2aWNlLmdldFByb2ZpbGVJY29uVXJsKFxuICAgICAgYmFzZVVzZXJGZWVkYmFjay5hdXRob3JVc2VySWQ/LnRvU3RyaW5nKClcbiAgICApXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZVVzZXJGZWVkYmFjayxcbiAgICAgIGF2YXRhclVybDogdXNlckF2YXRhclVybCxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { combineLatest, of, switchMap } from 'rxjs';
3
- import { catchError, map, shareReplay, tap } from 'rxjs/operators';
4
- import { MeApiService, RegistriesApiService, SiteApiService, ToolsApiService, UserfeedbackApiService, UsersApiService, } from '../../../../../../../libs/data-access/gn4/src';
3
+ import { catchError, filter, map, shareReplay, tap } from 'rxjs/operators';
4
+ import { MeApiService, RecordsApiService, RegistriesApiService, SiteApiService, ToolsApiService, UserfeedbackApiService, UsersApiService, } from '../../../../../../../libs/data-access/gn4/src';
5
5
  import { Gn4PlatformMapper } from './gn4-platform.mapper';
6
6
  import { ltr } from 'semver';
7
7
  import { LangService } from '../../../../../../../libs/util/i18n/src';
8
- import { HttpClient } from '@angular/common/http';
8
+ import { HttpClient, HttpEventType } from '@angular/common/http';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../../../../../libs/data-access/gn4/src";
11
11
  import * as i2 from "./gn4-platform.mapper";
@@ -13,7 +13,7 @@ import * as i3 from "../../../../../../../libs/util/i18n/src";
13
13
  import * as i4 from "@angular/common/http";
14
14
  const minApiVersion = '4.2.2';
15
15
  export class Gn4PlatformService {
16
- constructor(siteApiService, meApi, usersApi, mapper, toolsApiService, registriesApiService, langService, userfeedbackApiService, httpClient) {
16
+ constructor(siteApiService, meApi, usersApi, mapper, toolsApiService, registriesApiService, langService, userfeedbackApiService, httpClient, recordsApiService) {
17
17
  this.siteApiService = siteApiService;
18
18
  this.meApi = meApi;
19
19
  this.usersApi = usersApi;
@@ -23,6 +23,7 @@ export class Gn4PlatformService {
23
23
  this.langService = langService;
24
24
  this.userfeedbackApiService = userfeedbackApiService;
25
25
  this.httpClient = httpClient;
26
+ this.recordsApiService = recordsApiService;
26
27
  this.type = 'GeoNetwork';
27
28
  this.keyTranslations$ = this.toolsApiService
28
29
  .getTranslationsPackage1('gnui')
@@ -112,6 +113,16 @@ export class Gn4PlatformService {
112
113
  }), shareReplay(1));
113
114
  return this.keywordsByThesauri[uri];
114
115
  }
116
+ searchKeywordsInThesaurus(query, thesaurusId) {
117
+ return this.allThesaurus$.pipe(switchMap((thesauri) => {
118
+ const strippedThesaurusId = thesaurusId.replace('geonetwork.thesaurus.', '');
119
+ if (!thesauri.find((thes) => thes.key === strippedThesaurusId))
120
+ return of([]);
121
+ return this.registriesApiService
122
+ .searchKeywords(query, this.langService.iso3, 100, 0, null, [strippedThesaurusId], null)
123
+ .pipe(map((keywords) => this.mapper.keywordsFromApi(keywords, thesauri, this.langService.iso3)));
124
+ }));
125
+ }
115
126
  getUserFeedbacks(uuid) {
116
127
  return this.userfeedbackApiService.getUserComments(uuid).pipe(map((userFeedbacks) => userFeedbacks.map(this.mapper.userFeedbacksFromApi)), catchError((error) => {
117
128
  console.error('Error fetching user feedbacks:', error);
@@ -125,10 +136,43 @@ export class Gn4PlatformService {
125
136
  return of(undefined);
126
137
  }));
127
138
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.SiteApiService }, { token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.LangService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
139
+ getRecordAttachments(recordUuid) {
140
+ return this.recordsApiService.getAllResources(recordUuid).pipe(map((resources) => resources.map((r) => ({
141
+ url: new URL(r.url),
142
+ fileName: r.filename,
143
+ }))));
144
+ }
145
+ attachFileToRecord(recordUuid, file) {
146
+ let sizeBytes = -1;
147
+ return this.recordsApiService
148
+ .putResource(recordUuid, file, 'public', undefined, 'events', true)
149
+ .pipe(map((event) => {
150
+ if (event.type === HttpEventType.UploadProgress) {
151
+ sizeBytes = event.total;
152
+ return {
153
+ type: 'progress',
154
+ progress: event.total
155
+ ? Math.round((100 * event.loaded) / event.total)
156
+ : 0,
157
+ };
158
+ }
159
+ if (event.type === HttpEventType.Response) {
160
+ return {
161
+ type: 'success',
162
+ attachment: {
163
+ url: new URL(event.body.url),
164
+ fileName: event.body.filename,
165
+ },
166
+ sizeBytes,
167
+ };
168
+ }
169
+ return undefined;
170
+ }), filter((event) => !!event));
171
+ }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.SiteApiService }, { token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.LangService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }, { token: i1.RecordsApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
129
173
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4PlatformService }); }
130
174
  }
131
175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4PlatformService, decorators: [{
132
176
  type: Injectable
133
- }], ctorParameters: function () { return [{ type: i1.SiteApiService }, { type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.LangService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }]; } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLGFBQWEsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNsRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixlQUFlLEdBQ2hCLE1BQU0sK0NBQStDLENBQUE7QUFRdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7QUFPakQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFBO0FBRzdCLE1BQU0sT0FBTyxrQkFBa0I7SUF1QzdCLFlBQ1UsY0FBOEIsRUFDOUIsS0FBbUIsRUFDbkIsUUFBeUIsRUFDekIsTUFBeUIsRUFDekIsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxVQUFzQjtRQVJ0QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixX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QUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFlBQTBCO1FBQzFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN2RSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDcEIsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNwRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzsrR0FyTlUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBNZUFwaVNlcnZpY2UsXG4gIFJlZ2lzdHJpZXNBcGlTZXJ2aWNlLFxuICBTaXRlQXBpU2VydmljZSxcbiAgVG9vbHNBcGlTZXJ2aWNlLFxuICBVc2VyZmVlZGJhY2tBcGlTZXJ2aWNlLFxuICBVc2Vyc0FwaVNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdXNlci91c2VyLm1vZGVsJ1xuaW1wb3J0IHtcbiAgS2V5d29yZCxcbiAgT3JnYW5pemF0aW9uLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgbHRyIH0gZnJvbSAnc2VtdmVyJ1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBLZXl3b3JkQXBpUmVzcG9uc2UsXG4gIFRoZXNhdXJ1c0FwaVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC90aGVzYXVydXMnXG5cbmNvbnN0IG1pbkFwaVZlcnNpb24gPSAnNC4yLjInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHbjRQbGF0Zm9ybVNlcnZpY2UgaW1wbGVtZW50cyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHR5cGUgPSAnR2VvTmV0d29yaydcbiAgcHJpdmF0ZSByZWFkb25seSBtZSQ6IE9ic2VydmFibGU8VXNlck1vZGVsPlxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJzJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgcHJpdmF0ZSByZWFkb25seSBpc1VzZXJBbm9ueW1vdXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgcHJpdmF0ZSBrZXlUcmFuc2xhdGlvbnMkID0gdGhpcy50b29sc0FwaVNlcnZpY2VcbiAgICAuZ2V0VHJhbnNsYXRpb25zUGFja2FnZTEoJ2dudWknKVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hpbGUgbG9hZGluZyBnbnVpIGxhbmd1YWdlIHBhY2thZ2UnKVxuICAgICAgICByZXR1cm4gb2Yoe30pXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHByaXZhdGUgc2V0dGluZ3MkID0gb2YodHJ1ZSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zaXRlQXBpU2VydmljZS5nZXRTaXRlT3JQb3J0YWxEZXNjcmlwdGlvbigpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGlWZXJzaW9uJCA9IHRoaXMuc2V0dGluZ3MkLnBpcGUoXG4gICAgbWFwKChpbmZvKSA9PiBpbmZvWydzeXN0ZW0vcGxhdGZvcm0vdmVyc2lvbiddIGFzIHN0cmluZyksXG4gICAgdGFwKCh2ZXJzaW9uKSA9PiB7XG4gICAgICBpZiAobHRyKHZlcnNpb24sIG1pbkFwaVZlcnNpb24pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgR240IEFQSSB2ZXJzaW9uIGlzIG5vdCBjb21wYXRpYmxlLlxcbk1pbmltdW06ICR7bWluQXBpVmVyc2lvbn1cXG5Zb3VyIHZlcnNpb246ICR7dmVyc2lvbn1gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIGFscmVhZHkgbG9hZGVkIHRoZXNhdXJpIChncm91cHMgb2Yga2V5d29yZHMpOyB0aGUga2V5IGlzIGEgVVJJXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGtleXdvcmRzQnlUaGVzYXVyaTogUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZTxLZXl3b3JkW10+PiA9IHt9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzaXRlQXBpU2VydmljZTogU2l0ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZUFwaTogTWVBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcnNBcGk6IFVzZXJzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1hcHBlcjogR240UGxhdGZvcm1NYXBwZXIsXG4gICAgcHJpdmF0ZSB0b29sc0FwaVNlcnZpY2U6IFRvb2xzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlZ2lzdHJpZXNBcGlTZXJ2aWNlOiBSZWdpc3RyaWVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJmZWVkYmFja0FwaVNlcnZpY2U6IFVzZXJmZWVkYmFja0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMubWUkID0gdGhpcy5tZUFwaS5nZXRNZSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGFwaVVzZXIpID0+IHRoaXMubWFwcGVyLnVzZXJGcm9tTWVBcGkoYXBpVXNlcikpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgIClcblxuICAgIHRoaXMuaXNVc2VyQW5vbnltb3VzJCA9IHRoaXMubWUkLnBpcGUoXG4gICAgICBtYXAoKHVzZXIpID0+ICF1c2VyIHx8ICEoJ2lkJyBpbiB1c2VyKSlcbiAgICApXG5cbiAgICB0aGlzLnVzZXJzJCA9IHRoaXMudXNlcnNBcGkuZ2V0VXNlcnMoKS5waXBlKFxuICAgICAgbWFwKCh1c2VycykgPT4gdXNlcnMubWFwKCh1c2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbUFwaSh1c2VyKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlXG4gIH1cblxuICBnZXRBcGlWZXJzaW9uKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpVmVyc2lvbiRcbiAgfVxuXG4gIGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkXG4gIH1cblxuICBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1VzZXJBbm9ueW1vdXMkXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBnZXRVc2Vyc0J5T3JnYW5pemF0aW9uKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VycyRcbiAgfVxuXG4gIHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgLy8gaWYgdGhlIGtleSBpcyBhIFVSSSwgdXNlIHRoZSByZWdpc3RyaWVzIEFQSSB0byBsb29rIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICBpZiAoa2V5Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLy8pKSB7XG4gICAgICAvLyB0aGUgdGhlc2F1cnVzIFVSSSBpcyBpbmZlcnJlZCBieSByZW1vdmluZyBhIHBhcnQgb2YgdGhlIGtleXdvcmQgVVJJXG4gICAgICAvLyB0aGlzIGlzIG5vdCBleGFjdCBzY2llbmNlIGJ1dCBpdCdzIE9LLCB3ZSdsbCBzdGlsbCBlbmQgdXAgbG9hZGluZyBhIGJ1bmNoIG9mIGtleXdvcmRzIGF0IG9uY2UgYW55d2F5XG4gICAgICBjb25zdCB0aGVzYXVydXNVcmkgPSBrZXkucmVwbGFjZSgvXFwvKFteL10rKSQvLCAnLycpXG4gICAgICByZXR1cm4gdGhpcy5nZXRLZXl3b3Jkc0J5VXJpKHRoZXNhdXJ1c1VyaSkucGlwZShcbiAgICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhlc2F1cnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5rZXkgPT09IGtleSkgcmV0dXJuIGl0ZW0ubGFiZWxcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGtleVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5rZXlUcmFuc2xhdGlvbnMkLnBpcGUobWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9uc1trZXldKSlcbiAgfVxuXG4gIHByaXZhdGUgYWxsVGhlc2F1cnVzJCA9IHRoaXMuaHR0cENsaWVudFxuICAgIC5nZXQoXG4gICAgICBgJHt0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3RoZXNhdXJ1cz9fY29udGVudF90eXBlPWpzb25gXG4gICAgKVxuICAgIC5waXBlKFxuICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoZXNhdXJ1c1swXSBhcyBUaGVzYXVydXNBcGlSZXNwb25zZVtdXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPiB7XG4gICAgY29uc3Qga2V5d29yZHMkOiBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPiA9IHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaGVzYXVyaSA9IFtdXG4gICAgICAgIGtleXdvcmRUeXBlcy5tYXAoKGtleXdvcmRUeXBlKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5wdXNoKFxuICAgICAgICAgICAgLi4udGhlc2F1cnVzLmZpbHRlcigodGhlcykgPT4gdGhlcy5kbmFtZSA9PT0ga2V5d29yZFR5cGUpXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHRoaXMubGFuZ1NlcnZpY2UuaXNvMyxcbiAgICAgICAgICAxMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5tYXAoKHRoZXMpID0+IHRoZXMua2V5KSxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGAqJHtxdWVyeX0qYFxuICAgICAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtrZXl3b3JkcyQsIHRoaXMuYWxsVGhlc2F1cnVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtrZXl3b3JkcywgdGhlc2F1cnVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKFxuICAgICAgICAgIGtleXdvcmRzLFxuICAgICAgICAgIHRoZXNhdXJ1cyxcbiAgICAgICAgICB0aGlzLmxhbmdTZXJ2aWNlLmlzbzNcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBpZiAodGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXSkge1xuICAgICAgcmV0dXJuIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV1cbiAgICB9XG4gICAgY29uc3Qga2V5d29yZHMkOiBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPiA9XG4gICAgICB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgICBudWxsLFxuICAgICAgICB0aGlzLmxhbmdTZXJ2aWNlLmlzbzMsXG4gICAgICAgIDEwMDAsXG4gICAgICAgIDAsXG4gICAgICAgIG51bGwsXG4gICAgICAgIG51bGwsXG4gICAgICAgIG51bGwsXG4gICAgICAgIGAke3VyaX0qYFxuICAgICAgKSBhcyBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPlxuXG4gICAgdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXSA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAga2V5d29yZHMkLFxuICAgICAgdGhpcy5hbGxUaGVzYXVydXMkLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtrZXl3b3JkcywgdGhlc2F1cnVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKFxuICAgICAgICAgIGtleXdvcmRzLFxuICAgICAgICAgIHRoZXNhdXJ1cyxcbiAgICAgICAgICB0aGlzLmxhbmdTZXJ2aWNlLmlzbzNcbiAgICAgICAgKVxuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJldHVybiB0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldXG4gIH1cblxuICBnZXRVc2VyRmVlZGJhY2tzKHV1aWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckZlZWRiYWNrW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyZmVlZGJhY2tBcGlTZXJ2aWNlLmdldFVzZXJDb21tZW50cyh1dWlkKS5waXBlKFxuICAgICAgbWFwKCh1c2VyRmVlZGJhY2tzKSA9PlxuICAgICAgICB1c2VyRmVlZGJhY2tzLm1hcCh0aGlzLm1hcHBlci51c2VyRmVlZGJhY2tzRnJvbUFwaSlcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyB1c2VyIGZlZWRiYWNrczonLCBlcnJvcilcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcG9zdFVzZXJGZWVkYmFja3ModXNlckZlZWRiYWNrOiBVc2VyRmVlZGJhY2spOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXBwZWRVc2VyRmVlZEJhY2sgPSB0aGlzLm1hcHBlci51c2VyRmVlZGJhY2tzVG9BcGkodXNlckZlZWRiYWNrKVxuICAgIHJldHVybiB0aGlzLnVzZXJmZWVkYmFja0FwaVNlcnZpY2UubmV3VXNlckZlZWRiYWNrKG1hcHBlZFVzZXJGZWVkQmFjaykucGlwZShcbiAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcG9zdGluZyB1c2VyIGZlZWRiYWNrOicsIGVycm9yKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
177
+ }], ctorParameters: function () { return [{ type: i1.SiteApiService }, { type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.LangService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }, { type: i1.RecordsApiService }]; } });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUUsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLGVBQWUsR0FDaEIsTUFBTSwrQ0FBK0MsQ0FBQTtBQVF0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7QUFPaEUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFBO0FBRzdCLE1BQU0sT0FBTyxrQkFBa0I7SUF1QzdCLFlBQ1UsY0FBOEIsRUFDOUIsS0FBbUIsRUFDbkIsUUFBeUIsRUFDekIsTUFBeUIsRUFDekIsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixpQkFBb0M7UUFUcEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFVBQUssR0FB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S0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO3dCQUNoRCxDQUFDLENBQUMsQ0FBQztpQkFDRyxDQUFBO2FBQ1g7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFFBQVEsRUFBRTtnQkFDekMsT0FBTztvQkFDTCxJQUFJLEVBQUUsU0FBUztvQkFDZixVQUFVLEVBQUU7d0JBQ1YsR0FBRyxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO3dCQUM1QixRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRO3FCQUM5QjtvQkFDRCxTQUFTO2lCQUNELENBQUE7YUFDWDtZQUNELE9BQU8sU0FBUyxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUMzQixDQUFBO0lBQ0wsQ0FBQzsrR0EvUlUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7XG4gIE1lQXBpU2VydmljZSxcbiAgUmVjb3Jkc0FwaVNlcnZpY2UsXG4gIFJlZ2lzdHJpZXNBcGlTZXJ2aWNlLFxuICBTaXRlQXBpU2VydmljZSxcbiAgVG9vbHNBcGlTZXJ2aWNlLFxuICBVc2VyZmVlZGJhY2tBcGlTZXJ2aWNlLFxuICBVc2Vyc0FwaVNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdXNlci91c2VyLm1vZGVsJ1xuaW1wb3J0IHtcbiAgS2V5d29yZCxcbiAgT3JnYW5pemF0aW9uLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgbHRyIH0gZnJvbSAnc2VtdmVyJ1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQge1xuICBLZXl3b3JkQXBpUmVzcG9uc2UsXG4gIFRoZXNhdXJ1c0FwaVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC90aGVzYXVydXMnXG5cbmNvbnN0IG1pbkFwaVZlcnNpb24gPSAnNC4yLjInXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHbjRQbGF0Zm9ybVNlcnZpY2UgaW1wbGVtZW50cyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHR5cGUgPSAnR2VvTmV0d29yaydcbiAgcHJpdmF0ZSByZWFkb25seSBtZSQ6IE9ic2VydmFibGU8VXNlck1vZGVsPlxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJzJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgcHJpdmF0ZSByZWFkb25seSBpc1VzZXJBbm9ueW1vdXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgcHJpdmF0ZSBrZXlUcmFuc2xhdGlvbnMkID0gdGhpcy50b29sc0FwaVNlcnZpY2VcbiAgICAuZ2V0VHJhbnNsYXRpb25zUGFja2FnZTEoJ2dudWknKVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybignRXJyb3Igd2hpbGUgbG9hZGluZyBnbnVpIGxhbmd1YWdlIHBhY2thZ2UnKVxuICAgICAgICByZXR1cm4gb2Yoe30pXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHByaXZhdGUgc2V0dGluZ3MkID0gb2YodHJ1ZSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zaXRlQXBpU2VydmljZS5nZXRTaXRlT3JQb3J0YWxEZXNjcmlwdGlvbigpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGlWZXJzaW9uJCA9IHRoaXMuc2V0dGluZ3MkLnBpcGUoXG4gICAgbWFwKChpbmZvKSA9PiBpbmZvWydzeXN0ZW0vcGxhdGZvcm0vdmVyc2lvbiddIGFzIHN0cmluZyksXG4gICAgdGFwKCh2ZXJzaW9uKSA9PiB7XG4gICAgICBpZiAobHRyKHZlcnNpb24sIG1pbkFwaVZlcnNpb24pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgR240IEFQSSB2ZXJzaW9uIGlzIG5vdCBjb21wYXRpYmxlLlxcbk1pbmltdW06ICR7bWluQXBpVmVyc2lvbn1cXG5Zb3VyIHZlcnNpb246ICR7dmVyc2lvbn1gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIGFscmVhZHkgbG9hZGVkIHRoZXNhdXJpIChncm91cHMgb2Yga2V5d29yZHMpOyB0aGUga2V5IGlzIGEgVVJJXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGtleXdvcmRzQnlUaGVzYXVyaTogUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZTxLZXl3b3JkW10+PiA9IHt9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzaXRlQXBpU2VydmljZTogU2l0ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZUFwaTogTWVBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcnNBcGk6IFVzZXJzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1hcHBlcjogR240UGxhdGZvcm1NYXBwZXIsXG4gICAgcHJpdmF0ZSB0b29sc0FwaVNlcnZpY2U6IFRvb2xzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlZ2lzdHJpZXNBcGlTZXJ2aWNlOiBSZWdpc3RyaWVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJmZWVkYmFja0FwaVNlcnZpY2U6IFVzZXJmZWVkYmFja0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVjb3Jkc0FwaVNlcnZpY2U6IFJlY29yZHNBcGlTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubWUkID0gdGhpcy5tZUFwaS5nZXRNZSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGFwaVVzZXIpID0+IHRoaXMubWFwcGVyLnVzZXJGcm9tTWVBcGkoYXBpVXNlcikpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgIClcblxuICAgIHRoaXMuaXNVc2VyQW5vbnltb3VzJCA9IHRoaXMubWUkLnBpcGUoXG4gICAgICBtYXAoKHVzZXIpID0+ICF1c2VyIHx8ICEoJ2lkJyBpbiB1c2VyKSlcbiAgICApXG5cbiAgICB0aGlzLnVzZXJzJCA9IHRoaXMudXNlcnNBcGkuZ2V0VXNlcnMoKS5waXBlKFxuICAgICAgbWFwKCh1c2VycykgPT4gdXNlcnMubWFwKCh1c2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbUFwaSh1c2VyKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlXG4gIH1cblxuICBnZXRBcGlWZXJzaW9uKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpVmVyc2lvbiRcbiAgfVxuXG4gIGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkXG4gIH1cblxuICBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1VzZXJBbm9ueW1vdXMkXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBnZXRVc2Vyc0J5T3JnYW5pemF0aW9uKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VycyRcbiAgfVxuXG4gIHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgLy8gaWYgdGhlIGtleSBpcyBhIFVSSSwgdXNlIHRoZSByZWdpc3RyaWVzIEFQSSB0byBsb29rIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICBpZiAoa2V5Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLy8pKSB7XG4gICAgICAvLyB0aGUgdGhlc2F1cnVzIFVSSSBpcyBpbmZlcnJlZCBieSByZW1vdmluZyBhIHBhcnQgb2YgdGhlIGtleXdvcmQgVVJJXG4gICAgICAvLyB0aGlzIGlzIG5vdCBleGFjdCBzY2llbmNlIGJ1dCBpdCdzIE9LLCB3ZSdsbCBzdGlsbCBlbmQgdXAgbG9hZGluZyBhIGJ1bmNoIG9mIGtleXdvcmRzIGF0IG9uY2UgYW55d2F5XG4gICAgICBjb25zdCB0aGVzYXVydXNVcmkgPSBrZXkucmVwbGFjZSgvXFwvKFteL10rKSQvLCAnLycpXG4gICAgICByZXR1cm4gdGhpcy5nZXRLZXl3b3Jkc0J5VXJpKHRoZXNhdXJ1c1VyaSkucGlwZShcbiAgICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhlc2F1cnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5rZXkgPT09IGtleSkgcmV0dXJuIGl0ZW0ubGFiZWxcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGtleVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5rZXlUcmFuc2xhdGlvbnMkLnBpcGUobWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9uc1trZXldKSlcbiAgfVxuXG4gIHByaXZhdGUgYWxsVGhlc2F1cnVzJCA9IHRoaXMuaHR0cENsaWVudFxuICAgIC5nZXQoXG4gICAgICBgJHt0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3RoZXNhdXJ1cz9fY29udGVudF90eXBlPWpzb25gXG4gICAgKVxuICAgIC5waXBlKFxuICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoZXNhdXJ1c1swXSBhcyBUaGVzYXVydXNBcGlSZXNwb25zZVtdXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPiB7XG4gICAgY29uc3Qga2V5d29yZHMkOiBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPiA9IHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaGVzYXVyaSA9IFtdXG4gICAgICAgIGtleXdvcmRUeXBlcy5tYXAoKGtleXdvcmRUeXBlKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5wdXNoKFxuICAgICAgICAgICAgLi4udGhlc2F1cnVzLmZpbHRlcigodGhlcykgPT4gdGhlcy5kbmFtZSA9PT0ga2V5d29yZFR5cGUpXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHRoaXMubGFuZ1NlcnZpY2UuaXNvMyxcbiAgICAgICAgICAxMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5tYXAoKHRoZXMpID0+IHRoZXMua2V5KSxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGAqJHtxdWVyeX0qYFxuICAgICAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtrZXl3b3JkcyQsIHRoaXMuYWxsVGhlc2F1cnVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtrZXl3b3JkcywgdGhlc2F1cnVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKFxuICAgICAgICAgIGtleXdvcmRzLFxuICAgICAgICAgIHRoZXNhdXJ1cyxcbiAgICAgICAgICB0aGlzLmxhbmdTZXJ2aWNlLmlzbzNcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBpZiAodGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXSkge1xuICAgICAgcmV0dXJuIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV1cbiAgICB9XG4gICAgY29uc3Qga2V5d29yZHMkID0gdGhpcy5yZWdpc3RyaWVzQXBpU2VydmljZS5zZWFyY2hLZXl3b3JkcyhcbiAgICAgIG51bGwsXG4gICAgICB0aGlzLmxhbmdTZXJ2aWNlLmlzbzMsXG4gICAgICAxMDAwLFxuICAgICAgMCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIGAke3VyaX0qYFxuICAgICkgYXMgT2JzZXJ2YWJsZTxLZXl3b3JkQXBpUmVzcG9uc2VbXT5cblxuICAgIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV0gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGtleXdvcmRzJCxcbiAgICAgIHRoaXMuYWxsVGhlc2F1cnVzJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChba2V5d29yZHMsIHRoZXNhdXJ1c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwcGVyLmtleXdvcmRzRnJvbUFwaShcbiAgICAgICAgICBrZXl3b3JkcyxcbiAgICAgICAgICB0aGVzYXVydXMsXG4gICAgICAgICAgdGhpcy5sYW5nU2VydmljZS5pc28zXG4gICAgICAgIClcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgICByZXR1cm4gdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXVxuICB9XG5cbiAgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhxdWVyeTogc3RyaW5nLCB0aGVzYXVydXNJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVyaSkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpcHBlZFRoZXNhdXJ1c0lkID0gdGhlc2F1cnVzSWQucmVwbGFjZShcbiAgICAgICAgICAnZ2VvbmV0d29yay50aGVzYXVydXMuJyxcbiAgICAgICAgICAnJ1xuICAgICAgICApXG4gICAgICAgIGlmICghdGhlc2F1cmkuZmluZCgodGhlcykgPT4gdGhlcy5rZXkgPT09IHN0cmlwcGVkVGhlc2F1cnVzSWQpKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cmllc0FwaVNlcnZpY2VcbiAgICAgICAgICAuc2VhcmNoS2V5d29yZHMoXG4gICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgIHRoaXMubGFuZ1NlcnZpY2UuaXNvMyxcbiAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgW3N0cmlwcGVkVGhlc2F1cnVzSWRdLFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICAgIClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoa2V5d29yZHM6IEtleXdvcmRBcGlSZXNwb25zZVtdKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1hcHBlci5rZXl3b3Jkc0Zyb21BcGkoXG4gICAgICAgICAgICAgICAga2V5d29yZHMsXG4gICAgICAgICAgICAgICAgdGhlc2F1cmksXG4gICAgICAgICAgICAgICAgdGhpcy5sYW5nU2VydmljZS5pc28zXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFVzZXJGZWVkYmFja3ModXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJmZWVkYmFja0FwaVNlcnZpY2UuZ2V0VXNlckNvbW1lbnRzKHV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHVzZXJGZWVkYmFja3MpID0+XG4gICAgICAgIHVzZXJGZWVkYmFja3MubWFwKHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NGcm9tQXBpKVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHVzZXIgZmVlZGJhY2tzOicsIGVycm9yKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwb3N0VXNlckZlZWRiYWNrcyh1c2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFjayk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IG1hcHBlZFVzZXJGZWVkQmFjayA9IHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NUb0FwaSh1c2VyRmVlZGJhY2spXG4gICAgcmV0dXJuIHRoaXMudXNlcmZlZWRiYWNrQXBpU2VydmljZS5uZXdVc2VyRmVlZGJhY2sobWFwcGVkVXNlckZlZWRCYWNrKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZCksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwb3N0aW5nIHVzZXIgZmVlZGJhY2s6JywgZXJyb3IpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFsbFJlc291cmNlcyhyZWNvcmRVdWlkKS5waXBlKFxuICAgICAgbWFwKChyZXNvdXJjZXMpID0+XG4gICAgICAgIHJlc291cmNlcy5tYXAoKHIpID0+ICh7XG4gICAgICAgICAgdXJsOiBuZXcgVVJMKHIudXJsKSxcbiAgICAgICAgICBmaWxlTmFtZTogci5maWxlbmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgYXR0YWNoRmlsZVRvUmVjb3JkKHJlY29yZFV1aWQ6IHN0cmluZywgZmlsZTogRmlsZSkge1xuICAgIGxldCBzaXplQnl0ZXMgPSAtMVxuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlXG4gICAgICAucHV0UmVzb3VyY2UocmVjb3JkVXVpZCwgZmlsZSwgJ3B1YmxpYycsIHVuZGVmaW5lZCwgJ2V2ZW50cycsIHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICBzaXplQnl0ZXMgPSBldmVudC50b3RhbFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3Byb2dyZXNzJyxcbiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGV2ZW50LnRvdGFsXG4gICAgICAgICAgICAgICAgPyBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpXG4gICAgICAgICAgICAgICAgOiAwLFxuICAgICAgICAgICAgfSBhcyBjb25zdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICBhdHRhY2htZW50OiB7XG4gICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKGV2ZW50LmJvZHkudXJsKSxcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogZXZlbnQuYm9keS5maWxlbmFtZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2l6ZUJ5dGVzLFxuICAgICAgICAgICAgfSBhcyBjb25zdFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KVxuICAgICAgKVxuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
1
2
  export const RoleValues = [
2
3
  'unspecified',
3
4
  'other',
@@ -21,4 +22,30 @@ export const RoleValues = [
21
22
  'stakeholder',
22
23
  'user', // Party who uses the resource
23
24
  ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZC9jb250YWN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixhQUFhO0lBQ2IsT0FBTztJQUNQLFFBQVE7SUFDUixjQUFjO0lBQ2QsYUFBYTtJQUNiLFdBQVc7SUFDWCxhQUFhO0lBQ2IsUUFBUTtJQUNSLFFBQVE7SUFDUixVQUFVO0lBQ1YsWUFBWTtJQUNaLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixTQUFTO0lBQ1QsYUFBYTtJQUNiLE1BQU0sRUFBRSw4QkFBOEI7Q0FDdkMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuXG5leHBvcnQgY29uc3QgUm9sZVZhbHVlcyA9IFtcbiAgJ3Vuc3BlY2lmaWVkJyxcbiAgJ290aGVyJyxcbiAgJ2F1dGhvcicsIC8vIFBhcnR5IHdobyBhdXRob3JlZCB0aGUgcmVzb3VyY2VcbiAgJ2NvbGxhYm9yYXRvcicsIC8vIHBhcnR5IHdobyBhc3Npc3RzIHdpdGggdGhlIGdlbmVyYXRpb24gb2YgdGhlIHJlc291cmNlIG90aGVyIHRoYW4gdGhlIHByaW5jaXBhbCBpbnZlc3RpZ2F0b3JcbiAgJ2NvbnRyaWJ1dG9yJywgLy8gcGFydHkgY29udHJpYnV0aW5nIHRvIHRoZSByZXNvdXJjZVxuICAnY3VzdG9kaWFuJywgLy8gUGFydHkgdGhhdCBhY2NlcHRzIGFjY291bnRhYmlsaXR5IGFuZCByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGRhdGEgYW5kIGVuc3VyZXMgYXBwcm9wcmlhdGUgY2FyZSBhbmQgbWFpbnRlbmFuY2Ugb2YgdGhlIHJlc291cmNlXG4gICdkaXN0cmlidXRvcicsIC8vIFBhcnR5IHdobyBkaXN0cmlidXRlcyB0aGUgcmVzb3VyY2VcbiAgJ2VkaXRvcicsIC8vIHBhcnR5IHdobyByZXZpZXdlZCBvciBtb2RpZmllZCB0aGUgcmVzb3VyY2UgdG8gaW1wcm92ZSB0aGUgY29udGVudFxuICAnZnVuZGVyJywgLy8gcGFydHkgcHJvdmlkaW5nIG1vbmV0YXJ5IHN1cHBvcnQgZm9yIHRoZSByZXNvdXJjZVxuICAnbWVkaWF0b3InLCAvLyBhIGNsYXNzIG9mIGVudGl0eSB0aGF0IG1lZGlhdGVzIGFjY2VzcyB0byB0aGUgcmVzb3VyY2UgYW5kIGZvciB3aG9tIHRoZSByZXNvdXJjZSBpcyBpbnRlbmRlZCBvciB1c2VmdWxcbiAgJ29yaWdpbmF0b3InLCAvLyBQYXJ0eSB3aG8gY3JlYXRlZCB0aGUgcmVzb3VyY2VcbiAgJ293bmVyJywgLy8gUGFydHkgdGhhdCBvd25zIHRoZSByZXNvdXJjZVxuICAncG9pbnRfb2ZfY29udGFjdCcsIC8vIFBhcnR5IHdobyBjYW4gYmUgY29udGFjdGVkIGZvciBhY3F1aXJpbmcga25vd2xlZGdlIGFib3V0IG9yIGFjcXVpc2l0aW9uIG9mIHRoZSByZXNvdXJjZVxuICAncHJpbmNpcGFsX2ludmVzdGlnYXRvcicsIC8vIEtleSBwYXJ0eSByZXNwb25zaWJsZSBmb3IgZ2F0aGVyaW5nIGluZm9ybWF0aW9uIGFuZCBjb25kdWN0aW5nIHJlc2VhcmNoXG4gICdwcm9jZXNzb3InLCAvLyBQYXJ0eSB3aG8gaGFzIHByb2Nlc3NlZCB0aGUgZGF0YSBpbiBhIG1hbm5lciBzdWNoIHRoYXQgdGhlIHJlc291cmNlIGhhcyBiZWVuIG1vZGlmaWVkXG4gICdwdWJsaXNoZXInLCAvLyBQYXJ0eSB3aG8gcHVibGlzaGVkIHRoZSByZXNvdXJjZVxuICAncmVzb3VyY2VfcHJvdmlkZXInLCAvLyBQYXJ0eSB0aGF0IHN1cHBsaWVzIHRoZSByZXNvdXJjZVxuICAncmlnaHRzX2hvbGRlcicsIC8vIHBhcnR5IG93bmluZyBvciBtYW5hZ2luZyByaWdodHMgb3ZlciB0aGUgcmVzb3VyY2VcbiAgJ3Nwb25zb3InLCAvLyBwYXJ0eSB0aGF0IHNwb25zb3JzIHRoZSByZXNvdXJjZVxuICAnc3Rha2Vob2xkZXInLCAvLyBwYXJ0eSB3aG8gaGFzIGFuIGludGVyZXN0IGluIHRoZSByZXNvdXJjZSBvciB0aGUgdXNlIG9mIHRoZSByZXNvdXJjZVxuICAndXNlcicsIC8vIFBhcnR5IHdobyB1c2VzIHRoZSByZXNvdXJjZVxuXVxuXG5leHBvcnQgdHlwZSBSb2xlID0gdHlwZW9mIFJvbGVWYWx1ZXNbbnVtYmVyXVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGl2aWR1YWwge1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgZW1haWw6IHN0cmluZ1xuICByb2xlOiBSb2xlXG4gIHBvc2l0aW9uPzogc3RyaW5nXG4gIG9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uXG4gIGFkZHJlc3M/OiBzdHJpbmdcbiAgcGhvbmU/OiBzdHJpbmdcbn1cbiJdfQ==
25
+ export const RoleLabels = new Map([
26
+ ['unspecified', marker('domain.contact.role.unspecified')],
27
+ ['other', marker('domain.contact.role.other')],
28
+ ['author', marker('domain.contact.role.author')],
29
+ ['collaborator', marker('domain.contact.role.collaborator')],
30
+ ['contributor', marker('domain.contact.role.contributor')],
31
+ ['custodian', marker('domain.contact.role.custodian')],
32
+ ['distributor', marker('domain.contact.role.distributor')],
33
+ ['editor', marker('domain.contact.role.editor')],
34
+ ['funder', marker('domain.contact.role.funder')],
35
+ ['mediator', marker('domain.contact.role.mediator')],
36
+ ['originator', marker('domain.contact.role.originator')],
37
+ ['owner', marker('domain.contact.role.owner')],
38
+ ['point_of_contact', marker('domain.contact.role.point_of_contact')],
39
+ [
40
+ 'principal_investigator',
41
+ marker('domain.contact.role.principal_investigator'),
42
+ ],
43
+ ['processor', marker('domain.contact.role.processor')],
44
+ ['publisher', marker('domain.contact.role.publisher')],
45
+ ['resource_provider', marker('domain.contact.role.resource_provider')],
46
+ ['rights_holder', marker('domain.contact.role.rights_holder')],
47
+ ['sponsor', marker('domain.contact.role.sponsor')],
48
+ ['stakeholder', marker('domain.contact.role.stakeholder')],
49
+ ['user', marker('domain.contact.role.user')],
50
+ ]);
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZC9jb250YWN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUVoRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsYUFBYTtJQUNiLE9BQU87SUFDUCxRQUFRO0lBQ1IsY0FBYztJQUNkLGFBQWE7SUFDYixXQUFXO0lBQ1gsYUFBYTtJQUNiLFFBQVE7SUFDUixRQUFRO0lBQ1IsVUFBVTtJQUNWLFlBQVk7SUFDWixPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsU0FBUztJQUNULGFBQWE7SUFDYixNQUFNLEVBQUUsOEJBQThCO0NBQ3ZDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQWU7SUFDOUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDdEQsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDcEQsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDeEQsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUNwRTtRQUNFLHdCQUF3QjtRQUN4QixNQUFNLENBQUMsNENBQTRDLENBQUM7S0FDckQ7SUFDRCxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN0RCxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN0RCxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQzlELENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2xELENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzFELENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0NBQzdDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuXG5leHBvcnQgY29uc3QgUm9sZVZhbHVlcyA9IFtcbiAgJ3Vuc3BlY2lmaWVkJyxcbiAgJ290aGVyJyxcbiAgJ2F1dGhvcicsIC8vIFBhcnR5IHdobyBhdXRob3JlZCB0aGUgcmVzb3VyY2VcbiAgJ2NvbGxhYm9yYXRvcicsIC8vIHBhcnR5IHdobyBhc3Npc3RzIHdpdGggdGhlIGdlbmVyYXRpb24gb2YgdGhlIHJlc291cmNlIG90aGVyIHRoYW4gdGhlIHByaW5jaXBhbCBpbnZlc3RpZ2F0b3JcbiAgJ2NvbnRyaWJ1dG9yJywgLy8gcGFydHkgY29udHJpYnV0aW5nIHRvIHRoZSByZXNvdXJjZVxuICAnY3VzdG9kaWFuJywgLy8gUGFydHkgdGhhdCBhY2NlcHRzIGFjY291bnRhYmlsaXR5IGFuZCByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGRhdGEgYW5kIGVuc3VyZXMgYXBwcm9wcmlhdGUgY2FyZSBhbmQgbWFpbnRlbmFuY2Ugb2YgdGhlIHJlc291cmNlXG4gICdkaXN0cmlidXRvcicsIC8vIFBhcnR5IHdobyBkaXN0cmlidXRlcyB0aGUgcmVzb3VyY2VcbiAgJ2VkaXRvcicsIC8vIHBhcnR5IHdobyByZXZpZXdlZCBvciBtb2RpZmllZCB0aGUgcmVzb3VyY2UgdG8gaW1wcm92ZSB0aGUgY29udGVudFxuICAnZnVuZGVyJywgLy8gcGFydHkgcHJvdmlkaW5nIG1vbmV0YXJ5IHN1cHBvcnQgZm9yIHRoZSByZXNvdXJjZVxuICAnbWVkaWF0b3InLCAvLyBhIGNsYXNzIG9mIGVudGl0eSB0aGF0IG1lZGlhdGVzIGFjY2VzcyB0byB0aGUgcmVzb3VyY2UgYW5kIGZvciB3aG9tIHRoZSByZXNvdXJjZSBpcyBpbnRlbmRlZCBvciB1c2VmdWxcbiAgJ29yaWdpbmF0b3InLCAvLyBQYXJ0eSB3aG8gY3JlYXRlZCB0aGUgcmVzb3VyY2VcbiAgJ293bmVyJywgLy8gUGFydHkgdGhhdCBvd25zIHRoZSByZXNvdXJjZVxuICAncG9pbnRfb2ZfY29udGFjdCcsIC8vIFBhcnR5IHdobyBjYW4gYmUgY29udGFjdGVkIGZvciBhY3F1aXJpbmcga25vd2xlZGdlIGFib3V0IG9yIGFjcXVpc2l0aW9uIG9mIHRoZSByZXNvdXJjZVxuICAncHJpbmNpcGFsX2ludmVzdGlnYXRvcicsIC8vIEtleSBwYXJ0eSByZXNwb25zaWJsZSBmb3IgZ2F0aGVyaW5nIGluZm9ybWF0aW9uIGFuZCBjb25kdWN0aW5nIHJlc2VhcmNoXG4gICdwcm9jZXNzb3InLCAvLyBQYXJ0eSB3aG8gaGFzIHByb2Nlc3NlZCB0aGUgZGF0YSBpbiBhIG1hbm5lciBzdWNoIHRoYXQgdGhlIHJlc291cmNlIGhhcyBiZWVuIG1vZGlmaWVkXG4gICdwdWJsaXNoZXInLCAvLyBQYXJ0eSB3aG8gcHVibGlzaGVkIHRoZSByZXNvdXJjZVxuICAncmVzb3VyY2VfcHJvdmlkZXInLCAvLyBQYXJ0eSB0aGF0IHN1cHBsaWVzIHRoZSByZXNvdXJjZVxuICAncmlnaHRzX2hvbGRlcicsIC8vIHBhcnR5IG93bmluZyBvciBtYW5hZ2luZyByaWdodHMgb3ZlciB0aGUgcmVzb3VyY2VcbiAgJ3Nwb25zb3InLCAvLyBwYXJ0eSB0aGF0IHNwb25zb3JzIHRoZSByZXNvdXJjZVxuICAnc3Rha2Vob2xkZXInLCAvLyBwYXJ0eSB3aG8gaGFzIGFuIGludGVyZXN0IGluIHRoZSByZXNvdXJjZSBvciB0aGUgdXNlIG9mIHRoZSByZXNvdXJjZVxuICAndXNlcicsIC8vIFBhcnR5IHdobyB1c2VzIHRoZSByZXNvdXJjZVxuXVxuXG5leHBvcnQgY29uc3QgUm9sZUxhYmVscyA9IG5ldyBNYXA8Um9sZSwgc3RyaW5nPihbXG4gIFsndW5zcGVjaWZpZWQnLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUudW5zcGVjaWZpZWQnKV0sXG4gIFsnb3RoZXInLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUub3RoZXInKV0sXG4gIFsnYXV0aG9yJywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLmF1dGhvcicpXSxcbiAgWydjb2xsYWJvcmF0b3InLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUuY29sbGFib3JhdG9yJyldLFxuICBbJ2NvbnRyaWJ1dG9yJywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLmNvbnRyaWJ1dG9yJyldLFxuICBbJ2N1c3RvZGlhbicsIG1hcmtlcignZG9tYWluLmNvbnRhY3Qucm9sZS5jdXN0b2RpYW4nKV0sXG4gIFsnZGlzdHJpYnV0b3InLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUuZGlzdHJpYnV0b3InKV0sXG4gIFsnZWRpdG9yJywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLmVkaXRvcicpXSxcbiAgWydmdW5kZXInLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUuZnVuZGVyJyldLFxuICBbJ21lZGlhdG9yJywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLm1lZGlhdG9yJyldLFxuICBbJ29yaWdpbmF0b3InLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUub3JpZ2luYXRvcicpXSxcbiAgWydvd25lcicsIG1hcmtlcignZG9tYWluLmNvbnRhY3Qucm9sZS5vd25lcicpXSxcbiAgWydwb2ludF9vZl9jb250YWN0JywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLnBvaW50X29mX2NvbnRhY3QnKV0sXG4gIFtcbiAgICAncHJpbmNpcGFsX2ludmVzdGlnYXRvcicsXG4gICAgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLnByaW5jaXBhbF9pbnZlc3RpZ2F0b3InKSxcbiAgXSxcbiAgWydwcm9jZXNzb3InLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUucHJvY2Vzc29yJyldLFxuICBbJ3B1Ymxpc2hlcicsIG1hcmtlcignZG9tYWluLmNvbnRhY3Qucm9sZS5wdWJsaXNoZXInKV0sXG4gIFsncmVzb3VyY2VfcHJvdmlkZXInLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUucmVzb3VyY2VfcHJvdmlkZXInKV0sXG4gIFsncmlnaHRzX2hvbGRlcicsIG1hcmtlcignZG9tYWluLmNvbnRhY3Qucm9sZS5yaWdodHNfaG9sZGVyJyldLFxuICBbJ3Nwb25zb3InLCBtYXJrZXIoJ2RvbWFpbi5jb250YWN0LnJvbGUuc3BvbnNvcicpXSxcbiAgWydzdGFrZWhvbGRlcicsIG1hcmtlcignZG9tYWluLmNvbnRhY3Qucm9sZS5zdGFrZWhvbGRlcicpXSxcbiAgWyd1c2VyJywgbWFya2VyKCdkb21haW4uY29udGFjdC5yb2xlLnVzZXInKV0sXG5dKVxuXG5leHBvcnQgdHlwZSBSb2xlID0gdHlwZW9mIFJvbGVWYWx1ZXNbbnVtYmVyXVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGl2aWR1YWwge1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgZW1haWw6IHN0cmluZ1xuICByb2xlOiBSb2xlXG4gIHBvc2l0aW9uPzogc3RyaW5nXG4gIG9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uXG4gIGFkZHJlc3M/OiBzdHJpbmdcbiAgcGhvbmU/OiBzdHJpbmdcbn1cbiJdfQ==
@@ -21,4 +21,4 @@ export const RecordStatusValues = [
21
21
  'deprecated',
22
22
  'removed',
23
23
  ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBUWhFLE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFBO0FBQy9DLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO0FBQ2xELE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBQ2hELE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBVWhELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBVTVDLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBQ3RDLE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBQ2hELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLFdBQVc7SUFDWCxTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixTQUFTO0NBQ1YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB0eXBlIHsgSW5kaXZpZHVhbCB9IGZyb20gJy4vY29udGFjdC5tb2RlbCdcbmltcG9ydCB0eXBlIHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi9vcmdhbml6YXRpb24ubW9kZWwnXG5pbXBvcnQgdHlwZSB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEtleXdvcmRUeXBlLCBUaGVzYXVydXNNb2RlbCB9IGZyb20gJy4uL3RoZXNhdXJ1cydcblxudHlwZSBVdWlkID0gc3RyaW5nXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kudW5rbm93bicpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm5vdFBsYW5uZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hc05lZWRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmlycmVndWxhcicpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmNvbnRpbnVhbCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnBlcmlvZGljJylcblxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5Q29kZSA9XG4gIHwgJ3Vua25vd24nXG4gIHwgJ25vdFBsYW5uZWQnXG4gIHwgJ2FzTmVlZGVkJ1xuICB8ICdpcnJlZ3VsYXInXG4gIHwgJ2NvbnRpbnVhbCdcbiAgfCAncGVyaW9kaWMnXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGF5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kud2VlaycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRoJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kueWVhcicpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMuY29tcGxldGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMub25nb2luZycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnVuZGVyX2RldmVsb3BtZW50Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMuZGVwcmVjYXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlbW92ZWQnKVxuXG5leHBvcnQgY29uc3QgUmVjb3JkU3RhdHVzVmFsdWVzID0gW1xuICAnY29tcGxldGVkJyxcbiAgJ29uZ29pbmcnLFxuICAndW5kZXJfZGV2ZWxvcG1lbnQnLFxuICAnZGVwcmVjYXRlZCcsXG4gICdyZW1vdmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9IHR5cGVvZiBSZWNvcmRTdGF0dXNWYWx1ZXNbbnVtYmVyXVxuXG5leHBvcnQgdHlwZSBDb25zdHJhaW50ID0ge1xuICB0ZXh0OiBzdHJpbmdcbiAgdXJsPzogVVJMXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxufVxuLy8gbGFuZ3VhZ2VzIHNob3VsZCBiZSBleHByZXNzZWQgdXNpbmcgdHdvLWxldHRlcnMgSVNPIDYzOS0xIGNvZGVzXG5leHBvcnQgdHlwZSBMYW5ndWFnZUNvZGUgPSBzdHJpbmdcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUmVjb3JkIHtcbiAgdW5pcXVlSWRlbnRpZmllcjogVXVpZFxuICBvd25lck9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uXG4gIGNvbnRhY3RzOiBBcnJheTxJbmRpdmlkdWFsPlxuICB0aXRsZTogc3RyaW5nXG4gIGFic3RyYWN0OiBzdHJpbmdcbiAgcmVjb3JkQ3JlYXRlZD86IERhdGVcbiAgcmVjb3JkUHVibGlzaGVkPzogRGF0ZVxuICByZWNvcmRVcGRhdGVkOiBEYXRlXG4gIGxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VDb2RlPlxuICBraW5kOiBSZWNvcmRLaW5kXG4gIHRvcGljczogQXJyYXk8c3RyaW5nPiAvLyBUT0RPOiBoYW5kbGUgY29kZWxpc3RzXG4gIGtleXdvcmRzOiBBcnJheTxLZXl3b3JkPlxuICBsaWNlbnNlczogQXJyYXk8Q29uc3RyYWludD5cbiAgbGVnYWxDb25zdHJhaW50czogQXJyYXk8Q29uc3RyYWludD5cbiAgc2VjdXJpdHlDb25zdHJhaW50czogQXJyYXk8Q29uc3RyYWludD5cbiAgb3RoZXJDb25zdHJhaW50czogQXJyYXk8Q29uc3RyYWludD5cbiAgb3ZlcnZpZXdzOiBBcnJheTxHcmFwaGljT3ZlcnZpZXc+XG4gIGV4dHJhcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGxhbmRpbmdQYWdlPzogVVJMXG4gIHVwZGF0ZUZyZXF1ZW5jeT86IFVwZGF0ZUZyZXF1ZW5jeVxuXG4gIC8vIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIHJlc291cmNlIChkYXRhc2V0LCBzZXJ2aWNlKVxuICBjb250YWN0c0ZvclJlc291cmNlOiBBcnJheTxJbmRpdmlkdWFsPlxuICByZXNvdXJjZUNyZWF0ZWQ/OiBEYXRlXG4gIHJlc291cmNlUHVibGlzaGVkPzogRGF0ZVxuICByZXNvdXJjZVVwZGF0ZWQ/OiBEYXRlXG5cbiAgLy8gdG8gYWRkOiBjYW5vbmljYWwgdXJsXG4gIC8vIHRvIGFkZDogc291cmNlIGNhdGFsb2cgKD8/KVxuICAvLyB0byBhZGQ6IGlzIG9wZW4gZGF0YSA/XG59XG5cbi8vIFRPRE86IGhhbmRsZSBhY3R1YWwgY29kZWxpc3RzXG5leHBvcnQgdHlwZSBTZXJ2aWNlUHJvdG9jb2wgPVxuICB8ICd3bXMnXG4gIHwgJ3dmcydcbiAgfCAnd3BzJ1xuICB8ICd3bXRzJ1xuICB8ICdlc3JpUmVzdCdcbiAgfCAnb2djRmVhdHVyZXMnXG4gIHwgJ290aGVyJ1xuXG5leHBvcnQgdHlwZSBEYXRhc2V0RGlzdHJpYnV0aW9uVHlwZSA9ICdzZXJ2aWNlJyB8ICdkb3dubG9hZCcgfCAnbGluaydcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24ge1xuICB0eXBlOiAnZG93bmxvYWQnXG4gIHVybDogVVJMXG4gIG1pbWVUeXBlPzogc3RyaW5nXG4gIHNpemVCeXRlcz86IG51bWJlclxuICAvLyByZW1vdmVkIGJlY2F1c2Ugd2hhdCdzIHRoZSB1c2U/IGVuY29kaW5nIGNhbiBiZSBleHBvc2VkIGJ5IHRoZSBmaWxlIHNlcnZlciBvclxuICAvLyBldmVuIGZvdW5kIG91dCBieSB0cmlhbCBhbmQgZXJyb3I7IGJlc2lkZXMgd2UgY2FuIHJlYXNvbmFibHkgZXhwZWN0IHVuaWNvZGUgb3IgaXNvIG1vc3Qgb2YgdGhlIHRpbWVcbiAgLy8gdGV4dEVuY29kaW5nPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgYWNjZXNzU2VydmljZVByb3RvY29sPzogU2VydmljZVByb3RvY29sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25saW5lTGlua1Jlc291cmNlIHtcbiAgdHlwZTogJ2xpbmsnXG4gIHVybDogVVJMXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRGF0YXNldERpc3RyaWJ1dGlvbiA9IChcbiAgfCBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICB8IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvblxuICB8IE9ubGluZUxpbmtSZXNvdXJjZVxuKSAmIHtcbiAgdHlwZTogRGF0YXNldERpc3RyaWJ1dGlvblR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaGljT3ZlcnZpZXcge1xuICB1cmw6IFVSTFxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRTcGF0aWFsRXh0ZW50IHtcbiAgYmJveD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXG4gIGdlb21ldHJ5PzogR2VvbWV0cnlcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQZXJpb2QgaWYgYm90aCBzdGFydCBhbmQgZW5kIGFyZSBwcm92aWRlZFxuICogSW5zdGFudCBpZiBvbmx5IHN0YXJ0IGlzIHByb3ZpZGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFRlbXBvcmFsRXh0ZW50IHtcbiAgc3RhcnQ6IERhdGVcbiAgZW5kPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ2RhdGFzZXQnXG4gIHN0YXR1czogUmVjb3JkU3RhdHVzXG4gIGxpbmVhZ2U6IHN0cmluZyAvLyBFeHBsYW5hdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoaXMgcmVjb3JkIChlLmc6IGhvdywgd2h5KVwiXG4gIGRpc3RyaWJ1dGlvbnM6IEFycmF5PERhdGFzZXREaXN0cmlidXRpb24+XG4gIHNwYXRpYWxFeHRlbnRzOiBBcnJheTxEYXRhc2V0U3BhdGlhbEV4dGVudD5cbiAgdGVtcG9yYWxFeHRlbnRzOiBBcnJheTxEYXRhc2V0VGVtcG9yYWxFeHRlbnQ+XG4gIHNwYXRpYWxSZXByZXNlbnRhdGlvbj86IFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGVcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlVHlwZSA9ICdlbmRwb2ludCcgfCAnbGluaydcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlRW5kcG9pbnQge1xuICBlbmRwb2ludFVybDogVVJMXG4gIHByb3RvY29sOiBzdHJpbmdcbiAgdHlwZTogJ2VuZHBvaW50J1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTZXJ2aWNlT25saW5lUmVzb3VyY2UgPSAoU2VydmljZUVuZHBvaW50IHwgT25saW5lTGlua1Jlc291cmNlKSAmIHtcbiAgdHlwZTogU2VydmljZU9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxufVxuXG5leHBvcnQgdHlwZSBDYXRhbG9nUmVjb3JkID0gU2VydmljZVJlY29yZCB8IERhdGFzZXRSZWNvcmRcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZEtleXMgPSBrZXlvZiBTZXJ2aWNlUmVjb3JkIHwga2V5b2YgRGF0YXNldFJlY29yZFxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBUWhFLE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFBO0FBQy9DLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO0FBQ2xELE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBQ2hELE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBVWhELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBVTVDLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBQ3RDLE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0FBQ2hELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLFdBQVc7SUFDWCxTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixTQUFTO0NBQ1YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB0eXBlIHsgSW5kaXZpZHVhbCB9IGZyb20gJy4vY29udGFjdC5tb2RlbCdcbmltcG9ydCB0eXBlIHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi9vcmdhbml6YXRpb24ubW9kZWwnXG5pbXBvcnQgdHlwZSB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEtleXdvcmRUeXBlLCBUaGVzYXVydXNNb2RlbCB9IGZyb20gJy4uL3RoZXNhdXJ1cydcblxudHlwZSBVdWlkID0gc3RyaW5nXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kudW5rbm93bicpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm5vdFBsYW5uZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hc05lZWRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmlycmVndWxhcicpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmNvbnRpbnVhbCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnBlcmlvZGljJylcblxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5Q29kZSA9XG4gIHwgJ3Vua25vd24nXG4gIHwgJ25vdFBsYW5uZWQnXG4gIHwgJ2FzTmVlZGVkJ1xuICB8ICdpcnJlZ3VsYXInXG4gIHwgJ2NvbnRpbnVhbCdcbiAgfCAncGVyaW9kaWMnXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGF5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kud2VlaycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRoJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kueWVhcicpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMuY29tcGxldGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMub25nb2luZycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnVuZGVyX2RldmVsb3BtZW50Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMuZGVwcmVjYXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlbW92ZWQnKVxuXG5leHBvcnQgY29uc3QgUmVjb3JkU3RhdHVzVmFsdWVzID0gW1xuICAnY29tcGxldGVkJyxcbiAgJ29uZ29pbmcnLFxuICAndW5kZXJfZGV2ZWxvcG1lbnQnLFxuICAnZGVwcmVjYXRlZCcsXG4gICdyZW1vdmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9IHR5cGVvZiBSZWNvcmRTdGF0dXNWYWx1ZXNbbnVtYmVyXVxuXG5leHBvcnQgdHlwZSBDb25zdHJhaW50ID0ge1xuICB0ZXh0OiBzdHJpbmdcbiAgdXJsPzogVVJMXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbn1cbi8vIGxhbmd1YWdlcyBzaG91bGQgYmUgZXhwcmVzc2VkIHVzaW5nIHR3by1sZXR0ZXJzIElTTyA2MzktMSBjb2Rlc1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VDb2RlID0gc3RyaW5nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVJlY29yZCB7XG4gIHVuaXF1ZUlkZW50aWZpZXI6IFV1aWRcbiAgb3duZXJPcmdhbml6YXRpb246IE9yZ2FuaXphdGlvblxuICBjb250YWN0czogQXJyYXk8SW5kaXZpZHVhbD5cbiAgdGl0bGU6IHN0cmluZ1xuICBhYnN0cmFjdDogc3RyaW5nXG4gIHJlY29yZENyZWF0ZWQ/OiBEYXRlXG4gIHJlY29yZFB1Ymxpc2hlZD86IERhdGVcbiAgcmVjb3JkVXBkYXRlZDogRGF0ZVxuICBsYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT5cbiAga2luZDogUmVjb3JkS2luZFxuICB0b3BpY3M6IEFycmF5PHN0cmluZz4gLy8gVE9ETzogaGFuZGxlIGNvZGVsaXN0c1xuICBrZXl3b3JkczogQXJyYXk8S2V5d29yZD5cbiAgbGljZW5zZXM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIGxlZ2FsQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIHNlY3VyaXR5Q29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG90aGVyQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG92ZXJ2aWV3czogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBleHRyYXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBsYW5kaW5nUGFnZT86IFVSTFxuICB1cGRhdGVGcmVxdWVuY3k/OiBVcGRhdGVGcmVxdWVuY3lcblxuICAvLyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSByZXNvdXJjZSAoZGF0YXNldCwgc2VydmljZSlcbiAgY29udGFjdHNGb3JSZXNvdXJjZTogQXJyYXk8SW5kaXZpZHVhbD5cbiAgcmVzb3VyY2VDcmVhdGVkPzogRGF0ZVxuICByZXNvdXJjZVB1Ymxpc2hlZD86IERhdGVcbiAgcmVzb3VyY2VVcGRhdGVkPzogRGF0ZVxuXG4gIC8vIHRvIGFkZDogY2Fub25pY2FsIHVybFxuICAvLyB0byBhZGQ6IHNvdXJjZSBjYXRhbG9nICg/PylcbiAgLy8gdG8gYWRkOiBpcyBvcGVuIGRhdGEgP1xufVxuXG4vLyBUT0RPOiBoYW5kbGUgYWN0dWFsIGNvZGVsaXN0c1xuZXhwb3J0IHR5cGUgU2VydmljZVByb3RvY29sID1cbiAgfCAnd21zJ1xuICB8ICd3ZnMnXG4gIHwgJ3dwcydcbiAgfCAnd210cydcbiAgfCAnZXNyaVJlc3QnXG4gIHwgJ29nY0ZlYXR1cmVzJ1xuICB8ICdvdGhlcidcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24ge1xuICB0eXBlOiAnZG93bmxvYWQnXG4gIHVybDogVVJMXG4gIG1pbWVUeXBlPzogc3RyaW5nXG4gIHNpemVCeXRlcz86IG51bWJlclxuICAvLyByZW1vdmVkIGJlY2F1c2Ugd2hhdCdzIHRoZSB1c2U/IGVuY29kaW5nIGNhbiBiZSBleHBvc2VkIGJ5IHRoZSBmaWxlIHNlcnZlciBvclxuICAvLyBldmVuIGZvdW5kIG91dCBieSB0cmlhbCBhbmQgZXJyb3I7IGJlc2lkZXMgd2UgY2FuIHJlYXNvbmFibHkgZXhwZWN0IHVuaWNvZGUgb3IgaXNvIG1vc3Qgb2YgdGhlIHRpbWVcbiAgLy8gdGV4dEVuY29kaW5nPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgYWNjZXNzU2VydmljZVByb3RvY29sPzogU2VydmljZVByb3RvY29sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25saW5lTGlua1Jlc291cmNlIHtcbiAgdHlwZTogJ2xpbmsnXG4gIHVybDogVVJMXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRGF0YXNldE9ubGluZVJlc291cmNlID0gKFxuICB8IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gIHwgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uXG4gIHwgT25saW5lTGlua1Jlc291cmNlXG4pICYge1xuICB0eXBlOiBPbmxpbmVSZXNvdXJjZVR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaGljT3ZlcnZpZXcge1xuICB1cmw6IFVSTFxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRTcGF0aWFsRXh0ZW50IHtcbiAgYmJveD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXG4gIGdlb21ldHJ5PzogR2VvbWV0cnlcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQZXJpb2QgaWYgYm90aCBzdGFydCBhbmQgZW5kIGFyZSBwcm92aWRlZFxuICogSW5zdGFudCBpZiBvbmx5IHN0YXJ0IGlzIHByb3ZpZGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFRlbXBvcmFsRXh0ZW50IHtcbiAgc3RhcnQ6IERhdGVcbiAgZW5kPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ2RhdGFzZXQnXG4gIHN0YXR1czogUmVjb3JkU3RhdHVzXG4gIGxpbmVhZ2U6IHN0cmluZyAvLyBFeHBsYW5hdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoaXMgcmVjb3JkIChlLmc6IGhvdywgd2h5KVwiXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8RGF0YXNldE9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG4gIHRlbXBvcmFsRXh0ZW50czogQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxuICBzcGF0aWFsUmVwcmVzZW50YXRpb24/OiBTcGF0aWFsUmVwcmVzZW50YXRpb25UeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUVuZHBvaW50IHtcbiAgZW5kcG9pbnRVcmw6IFVSTFxuICBwcm90b2NvbDogc3RyaW5nXG4gIHR5cGU6ICdlbmRwb2ludCdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlID0gKFNlcnZpY2VFbmRwb2ludCB8IE9ubGluZUxpbmtSZXNvdXJjZSkgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxufVxuXG5leHBvcnQgdHlwZSBPbmxpbmVSZXNvdXJjZSA9IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuXG5leHBvcnQgdHlwZSBDYXRhbG9nUmVjb3JkID0gU2VydmljZVJlY29yZCB8IERhdGFzZXRSZWNvcmRcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZEtleXMgPSBrZXlvZiBTZXJ2aWNlUmVjb3JkIHwga2V5b2YgRGF0YXNldFJlY29yZFxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyTW9kZWwge1xuICBpZDogc3RyaW5nXG4gIHByb2ZpbGU6IHN0cmluZ1xuICB1c2VybmFtZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzdXJuYW1lOiBzdHJpbmdcbiAgZW1haWw6IHN0cmluZ1xuICBvcmdhbmlzYXRpb246IHN0cmluZ1xuICBwcm9maWxlSWNvbj86IHN0cmluZ1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyTW9kZWwge1xuICBpZDogc3RyaW5nXG4gIHByb2ZpbGU6IHN0cmluZ1xuICB1c2VybmFtZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzdXJuYW1lOiBzdHJpbmdcbiAgZW1haWw6IHN0cmluZ1xuICBvcmdhbmlzYXRpb24/OiBzdHJpbmdcbiAgcHJvZmlsZUljb24/OiBzdHJpbmdcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export class PlatformServiceInterface {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQWdCLHdCQUF3QjtDQW1CN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyTW9kZWwgfSBmcm9tICcuL21vZGVsL3VzZXIvdXNlci5tb2RlbCdcbmltcG9ydCB0eXBlIHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi9tb2RlbC9yZWNvcmQvb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHsgS2V5d29yZCwgVXNlckZlZWRiYWNrIH0gZnJvbSAnLi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSB9IGZyb20gJy4vbW9kZWwvdGhlc2F1cnVzJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIHtcbiAgYWJzdHJhY3QgZ2V0VHlwZSgpOiBzdHJpbmdcbiAgYWJzdHJhY3QgZ2V0QXBpVmVyc2lvbigpOiBPYnNlcnZhYmxlPHN0cmluZz5cblxuICBhYnN0cmFjdCBnZXRNZSgpOiBPYnNlcnZhYmxlPFVzZXJNb2RlbD5cbiAgYWJzdHJhY3QgaXNBbm9ueW1vdXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPlxuICBhYnN0cmFjdCBnZXRVc2VycygpOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBhYnN0cmFjdCBnZXRVc2Vyc0J5T3JnYW5pemF0aW9uKFxuICAgIG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uXG4gICk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+XG4gIGFic3RyYWN0IGdldE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT5cbiAgYWJzdHJhY3QgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG4gIGFic3RyYWN0IHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPlxuICBhYnN0cmFjdCBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IGdldFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT5cbiAgYWJzdHJhY3QgcG9zdFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogVXNlckZlZWRiYWNrKTogT2JzZXJ2YWJsZTx2b2lkPlxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxPQUFnQix3QkFBd0I7Q0FrQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB0eXBlIHsgVXNlck1vZGVsIH0gZnJvbSAnLi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vbW9kZWwvcmVjb3JkL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB7IEtleXdvcmQsIFVzZXJGZWVkYmFjayB9IGZyb20gJy4vbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuL21vZGVsL3RoZXNhdXJ1cydcblxuaW50ZXJmYWNlIFJlY29yZEF0dGFjaG1lbnQge1xuICB1cmw6IFVSTFxuICBmaWxlTmFtZTogc3RyaW5nXG59XG50eXBlIFVwbG9hZEV2ZW50ID1cbiAgfCB7XG4gICAgICB0eXBlOiAncHJvZ3Jlc3MnXG4gICAgICBwcm9ncmVzczogbnVtYmVyIC8vIGluIHBlcmNlbnRcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICBhdHRhY2htZW50OiBSZWNvcmRBdHRhY2htZW50XG4gICAgICBzaXplQnl0ZXM6IG51bWJlclxuICAgIH1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIGFic3RyYWN0IGdldFR5cGUoKTogc3RyaW5nXG4gIGFic3RyYWN0IGdldEFwaVZlcnNpb24oKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3QgZ2V0TWUoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIGFic3RyYWN0IGlzQW5vbnltb3VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgYWJzdHJhY3QgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgYWJzdHJhY3QgZ2V0VXNlcnNCeU9yZ2FuaXphdGlvbihcbiAgICBvcmdhbmlzYXRpb246IE9yZ2FuaXphdGlvblxuICApOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBhYnN0cmFjdCBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+XG5cbiAgYWJzdHJhY3QgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBrZXl3b3JkVHlwZXM6IEtleXdvcmRUeXBlW11cbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IGdldEtleXdvcmRzQnlVcmkodXJpOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEtleXdvcmRbXT5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhcbiAgICBxdWVyeTogc3RyaW5nLFxuICAgIHRoZXNhdXJ1c0lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG5cbiAgYWJzdHJhY3QgZ2V0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJGZWVkYmFja1tdPlxuICBhYnN0cmFjdCBwb3N0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBVc2VyRmVlZGJhY2spOiBPYnNlcnZhYmxlPHZvaWQ+XG5cbiAgYWJzdHJhY3QgZ2V0UmVjb3JkQXR0YWNobWVudHMoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8UmVjb3JkQXR0YWNobWVudFtdPlxuICBhYnN0cmFjdCBhdHRhY2hGaWxlVG9SZWNvcmQoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nLFxuICAgIGZpbGU6IEZpbGVcbiAgKTogT2JzZXJ2YWJsZTxVcGxvYWRFdmVudD5cbn1cbiJdfQ==