geonetwork-ui 2.6.0-dev.a6b2f3e85 → 2.6.0-dev.a8e63e487

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 (222) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +37 -4
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  8. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +2 -1
  9. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +3 -3
  10. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +41 -9
  11. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  12. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  13. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
  14. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +266 -11
  15. package/esm2022/libs/feature/record/src/index.mjs +2 -3
  16. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +31 -5
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  18. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -1
  19. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -13
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  21. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  22. package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -1
  23. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +6 -2
  24. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  25. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
  26. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +27 -53
  27. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +22 -5
  28. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  29. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  30. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  31. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +51 -0
  32. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
  33. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +12 -4
  34. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  35. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  36. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  37. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  38. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
  39. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  40. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  41. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +65 -14
  42. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  43. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  44. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +3 -3
  45. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  46. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  47. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +19 -12
  48. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +27 -14
  49. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +10 -4
  50. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
  51. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
  52. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -1
  53. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -1
  54. package/esm2022/translations/de.json +34 -5
  55. package/esm2022/translations/en.json +34 -7
  56. package/esm2022/translations/es.json +33 -4
  57. package/esm2022/translations/fr.json +34 -7
  58. package/esm2022/translations/it.json +64 -35
  59. package/esm2022/translations/nl.json +33 -4
  60. package/esm2022/translations/pt.json +33 -4
  61. package/fesm2022/geonetwork-ui.mjs +1580 -665
  62. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  63. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  64. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  65. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  66. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  67. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  68. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  69. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  70. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  71. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  72. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  73. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  74. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  75. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +7 -2
  76. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  77. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
  78. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  79. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +3 -0
  80. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  81. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  82. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  83. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +48 -3
  84. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -1
  85. package/libs/feature/record/src/index.d.ts +1 -2
  86. package/libs/feature/record/src/index.d.ts.map +1 -1
  87. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  88. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  89. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  90. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +6 -0
  91. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  92. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  93. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  94. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  95. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  96. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  97. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  98. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  99. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -1
  100. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  101. package/libs/ui/elements/src/index.d.ts +2 -0
  102. package/libs/ui/elements/src/index.d.ts.map +1 -1
  103. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  104. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  105. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +3 -7
  106. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  107. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +3 -1
  108. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -1
  109. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +16 -0
  110. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  111. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
  112. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  113. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +1 -0
  114. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  115. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  116. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  117. package/libs/ui/inputs/src/index.d.ts +1 -0
  118. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  119. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  120. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  121. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  122. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  123. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +15 -6
  124. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -1
  125. package/libs/ui/search/src/index.d.ts +1 -0
  126. package/libs/ui/search/src/index.d.ts.map +1 -1
  127. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  128. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +3 -3
  129. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  130. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +5 -1
  131. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  132. package/libs/ui/search/src/lib/ui-search.module.d.ts +2 -1
  133. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  134. package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
  135. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  136. package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
  137. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  138. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  139. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  140. package/package.json +1 -1
  141. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  142. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  143. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +55 -4
  144. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  145. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
  146. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
  147. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +8 -4
  148. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -1
  149. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +1 -0
  150. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +2 -2
  151. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +65 -7
  152. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -1
  153. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +3 -0
  154. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +10 -0
  155. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +14 -0
  156. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +1 -1
  157. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
  158. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +117 -11
  159. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +316 -6
  160. package/src/libs/feature/record/src/index.ts +1 -2
  161. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +35 -4
  162. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  163. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +22 -0
  164. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +22 -15
  165. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  166. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  167. package/src/libs/feature/search/src/lib/constants.ts +1 -0
  168. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +2 -0
  169. package/src/libs/ui/elements/src/index.ts +2 -0
  170. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  171. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  172. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  173. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +133 -138
  174. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +19 -47
  175. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +7 -5
  176. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +21 -2
  177. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +6 -3
  178. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +4 -0
  179. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +1 -1
  180. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +48 -0
  181. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +52 -0
  182. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
  183. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
  184. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +15 -1
  185. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +9 -1
  186. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -1
  187. package/src/libs/ui/inputs/src/index.ts +1 -0
  188. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  189. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  190. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  191. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  192. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +1 -2
  193. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  194. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  195. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -0
  196. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +8 -10
  197. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +75 -7
  198. package/src/libs/ui/search/src/index.ts +1 -0
  199. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  200. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +1 -0
  201. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  202. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  203. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  204. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +11 -3
  205. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +14 -11
  206. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  207. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +27 -17
  208. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +20 -10
  209. package/src/libs/ui/search/src/lib/ui-search.module.ts +3 -0
  210. package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
  211. package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
  212. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +3 -0
  213. package/src/libs/util/shared/src/lib/links/link-utils.ts +3 -0
  214. package/tailwind.base.css +1 -1
  215. package/translations/de.json +34 -5
  216. package/translations/en.json +34 -7
  217. package/translations/es.json +33 -4
  218. package/translations/fr.json +34 -7
  219. package/translations/it.json +64 -35
  220. package/translations/nl.json +33 -4
  221. package/translations/pt.json +33 -4
  222. package/translations/sk.json +33 -4
@@ -65,7 +65,7 @@ export class ResultsListContainerComponent {
65
65
  const urlKind = tokenMap[metadata.kind];
66
66
  return urlKind.replace('${uuid}', metadata.uniqueIdentifier);
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsListContainerComponent, deps: [{ token: i1.SearchFacade }, { token: RESULTS_LAYOUT_CONFIG }, { token: RECORD_DATASET_URL_TOKEN, optional: true }, { token: RECORD_SERVICE_URL_TOKEN }, { token: RECORD_REUSE_URL_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsListContainerComponent, deps: [{ token: i1.SearchFacade }, { token: RESULTS_LAYOUT_CONFIG }, { token: RECORD_DATASET_URL_TOKEN, optional: true }, { token: RECORD_SERVICE_URL_TOKEN, optional: true }, { token: RECORD_REUSE_URL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
69
69
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: { metadataQualityDisplay: "metadataQualityDisplay", layout: "layout", showMore: "showMore" }, outputs: { mdSelect: "mdSelect" }, ngImport: i0, template: "<div *ngIf=\"(error$ | async) === null\" class=\"search-results relative\">\n <gn-ui-results-list\n [records]=\"facade.results$ | async\"\n [layoutConfig]=\"layoutConfig$ | async\"\n [metadataQualityDisplay]=\"\n metadataQualityDisplay && (pipelineForQualityScoreActivated | async)\n \"\n [favoriteTemplate]=\"favoriteToggle\"\n [recordUrlGetter]=\"recordUrlGetter\"\n (mdSelect)=\"onMetadataSelection($event)\"\n ></gn-ui-results-list>\n <ng-container *ngIf=\"allowShowMore$ | async\">\n <div class=\"show-more h-[100px] pt-[30px]\" *ngIf=\"showMore === 'button'\">\n <gn-ui-button\n data-cy=\"addMoreBtn\"\n type=\"secondary\"\n (buttonClick)=\"onShowMore()\"\n extraClass=\"m-auto !p-[22px]\"\n [style.--gn-ui-button-width]=\"!auto\"\n >\n <span class=\"uppercase font-medium tracking-widest\" translate\n >results.showMore</span\n >\n </gn-ui-button>\n </div>\n <div class=\"show-more h-[100px]\" *ngIf=\"showMore === 'auto'\">\n <gn-ui-viewport-intersector\n (entersViewport)=\"onShowMore()\"\n ></gn-ui-viewport-intersector>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(facade.isLoading$ | async) === true\">\n <div class=\"loading flex justify-center h-[100px] pt-[45px]\">\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n </ng-container>\n</div>\n\n<div class=\"p-4 max-w-[600px] m-auto text-[13px]\">\n <gn-ui-error\n *ngIf=\"(errorCode$ | async) === 0\"\n [type]=\"errorTypes.COULD_NOT_REACH_API\"\n >\n </gn-ui-error>\n <gn-ui-error\n *ngIf=\"(error$ | async) !== null && (errorCode$ | async) !== 0\"\n [type]=\"errorTypes.RECEIVED_ERROR\"\n [error]=\"errorMessage$ | async\"\n ></gn-ui-error>\n</div>\n\n<ng-template #favoriteToggle let-record>\n <gn-ui-favorite-star [record]=\"record\"></gn-ui-favorite-star>\n</ng-template>\n", styles: [":host{--gn-ui-button-height: 24px;--gn-ui-button-width: 24px;--gn-ui-button-color: var(--color-secondary);--gn-ui-button-border-width: 0px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ResultsListComponent, selector: "gn-ui-results-list", inputs: ["records", "layoutConfig", "favoriteTemplate", "recordUrlGetter", "metadataQualityDisplay"], outputs: ["mdSelect"] }, { kind: "component", type: i5.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i6.ViewportIntersectorComponent, selector: "gn-ui-viewport-intersector", outputs: ["isInViewport", "entersViewport", "exitsViewport"] }, { kind: "component", type: i7.SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }, { kind: "component", type: i8.ErrorComponent, selector: "gn-ui-error", inputs: ["type", "error", "recordId"] }, { kind: "component", type: i9.FavoriteStarComponent, selector: "gn-ui-favorite-star", inputs: ["displayCount", "record"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsListContainerComponent, decorators: [{
@@ -80,9 +80,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
80
80
  type: Inject,
81
81
  args: [RECORD_DATASET_URL_TOKEN]
82
82
  }] }, { type: undefined, decorators: [{
83
+ type: Optional
84
+ }, {
83
85
  type: Inject,
84
86
  args: [RECORD_SERVICE_URL_TOKEN]
85
87
  }] }, { type: undefined, decorators: [{
88
+ type: Optional
89
+ }, {
86
90
  type: Inject,
87
91
  args: [RECORD_REUSE_URL_TOKEN]
88
92
  }] }], propDecorators: { metadataQualityDisplay: [{
@@ -94,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
94
98
  }], mdSelect: [{
95
99
  type: Output
96
100
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1saXN0LmNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDbEUsT0FBTyxFQUNMLHFCQUFxQixHQUd0QixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFBOzs7Ozs7Ozs7OztBQVU1QixNQUFNLE9BQU8sNkJBQTZCO0lBaUJ4QyxZQUNTLE1BQW9CLEVBRW5CLG1CQUE2QyxFQUc3Qyx3QkFBZ0MsRUFFaEMsd0JBQWdDLEVBRWhDLHNCQUE4QjtRQVQvQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBRW5CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEI7UUFHN0MsNkJBQXdCLEdBQXhCLHdCQUF3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QUFFLElBQUksQ0FBQyx3QkFBd0I7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDbkMsQ0FBQTtRQUNELElBQ0UsQ0FBQyxJQUFJLENBQUMsd0JBQXdCO1lBQzlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUM5QixDQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFFNUIsT0FBTyxJQUFJLENBQUE7UUFDYixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDOUQsQ0FBQzsrR0E3RlUsNkJBQTZCLDhDQW1COUIscUJBQXFCLGFBR3JCLHdCQUF3Qiw2QkFFeEIsd0JBQXdCLGFBRXhCLHNCQUFzQjttR0ExQnJCLDZCQUE2Qiw2TUNqQzFDLHk0REF1REE7OzRGRHRCYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsOEJBQThCOzswQkF1QnJDLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUUvQixNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBRS9CLE1BQU07MkJBQUMsc0JBQXNCO3lDQXpCdkIsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBTZWFyY2hGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9zZWFyY2guZmFjYWRlJ1xuaW1wb3J0IHsgU2VhcmNoRXJyb3IgfSBmcm9tICcuLi9zdGF0ZS9yZWR1Y2VyJ1xuaW1wb3J0IHsgRXJyb3JUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQge1xuICBSRVNVTFRTX0xBWU9VVF9DT05GSUcsXG4gIFJlc3VsdHNMYXlvdXRDb25maWdJdGVtLFxuICBSZXN1bHRzTGF5b3V0Q29uZmlnTW9kZWwsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYydcbmltcG9ydCB7XG4gIFJFQ09SRF9EQVRBU0VUX1VSTF9UT0tFTixcbiAgUkVDT1JEX1NFUlZJQ0VfVVJMX1RPS0VOLFxuICBSRUNPUkRfUkVVU0VfVVJMX1RPS0VOLFxufSBmcm9tICcuLi9yZWNvcmQtdXJsLnRva2VuJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuZXhwb3J0IHR5cGUgUmVzdWx0c0xpc3RTaG93TW9yZVN0cmF0ZWd5ID0gJ2F1dG8nIHwgJ2J1dHRvbicgfCAnbm9uZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVzdWx0cy1saXN0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN1bHRzLWxpc3QuY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzdWx0cy1saXN0LmNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlc3VsdHNMaXN0Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuICBASW5wdXQoKSBsYXlvdXQ6IHN0cmluZ1xuICBASW5wdXQoKSBzaG93TW9yZTogUmVzdWx0c0xpc3RTaG93TW9yZVN0cmF0ZWd5ID0gJ2F1dG8nXG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuXG4gIGxheW91dENvbmZpZyQ6IE9ic2VydmFibGU8UmVzdWx0c0xheW91dENvbmZpZ0l0ZW0+XG5cbiAgZXJyb3IkOiBPYnNlcnZhYmxlPFNlYXJjaEVycm9yPlxuICBlcnJvckNvZGUkOiBPYnNlcnZhYmxlPG51bWJlcj5cbiAgZXJyb3JNZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+XG4gIHBpcGVsaW5lRm9yUXVhbGl0eVNjb3JlQWN0aXZhdGVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gIGFsbG93U2hvd01vcmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgZXJyb3JUeXBlcyA9IEVycm9yVHlwZVxuICByZWNvcmRVcmxHZXR0ZXIgPSB0aGlzLmdldFJlY29yZFVybC5iaW5kKHRoaXMpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZhY2FkZTogU2VhcmNoRmFjYWRlLFxuICAgIEBJbmplY3QoUkVTVUxUU19MQVlPVVRfQ09ORklHKVxuICAgIHByaXZhdGUgcmVzdWx0c0xheW91dENvbmZpZzogUmVzdWx0c0xheW91dENvbmZpZ01vZGVsLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChSRUNPUkRfREFUQVNFVF9VUkxfVE9LRU4pXG4gICAgcHJpdmF0ZSByZWNvcmREYXRhc2V0VXJsVGVtcGxhdGU6IHN0cmluZyxcbiAgICBASW5qZWN0KFJFQ09SRF9TRVJWSUNFX1VSTF9UT0tFTilcbiAgICBwcml2YXRlIHJlY29yZFNlcnZpY2VVcmxUZW1wbGF0ZTogc3RyaW5nLFxuICAgIEBJbmplY3QoUkVDT1JEX1JFVVNFX1VSTF9UT0tFTilcbiAgICBwcml2YXRlIHJlY29yZFJldXNlVXJsVGVtcGxhdGU6IHN0cmluZ1xuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sYXlvdXRDb25maWckID0gdGhpcy5mYWNhZGUubGF5b3V0JC5waXBlKFxuICAgICAgbWFwKChsYXlvdXQpID0+IHRoaXMucmVzdWx0c0xheW91dENvbmZpZ1tsYXlvdXRdKVxuICAgIClcblxuICAgIGlmICh0aGlzLmxheW91dCkge1xuICAgICAgdGhpcy5mYWNhZGUuc2V0UmVzdWx0c0xheW91dCh0aGlzLmxheW91dClcbiAgICB9XG5cbiAgICB0aGlzLnBpcGVsaW5lRm9yUXVhbGl0eVNjb3JlQWN0aXZhdGVkID0gdGhpcy5mYWNhZGUucmVzdWx0cyQucGlwZShcbiAgICAgIHRhcCgocmVjb3JkcykgPT4ge1xuICAgICAgICBpZiAocmVjb3Jkcz8ubGVuZ3RoID4gMCAmJiAhcmVjb3Jkc1swXS5leHRyYXM/LnF1YWxpdHlTY29yZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdJdCBsb29rcyBsaWtlIHRoZSBtZXRhZGF0YSBxdWFsaXR5IGluZGljYXRvciBpcyBub3QgYXZhaWxhYmxlIG9uIHRoZXNlIHJlY29yZHMsIHByb2JhYmx5IGR1ZSB0byBhIG1pc3NpbmcgaW5kZXhpbmcgcGlwZWxpbmUnXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIG1hcCgocmVjb3JkcykgPT4gISFyZWNvcmRzWzBdPy5leHRyYXMucXVhbGl0eVNjb3JlKVxuICAgIClcblxuICAgIHRoaXMuZXJyb3IkID0gdGhpcy5mYWNhZGUuZXJyb3IkXG4gICAgdGhpcy5lcnJvckNvZGUkID0gdGhpcy5lcnJvciQucGlwZShcbiAgICAgIGZpbHRlcigoZXJyb3IpID0+IGVycm9yICE9PSBudWxsKSxcbiAgICAgIG1hcCgoZXJyb3IpID0+IGVycm9yLmNvZGUpXG4gICAgKVxuICAgIHRoaXMuZXJyb3JNZXNzYWdlJCA9IHRoaXMuZXJyb3IkLnBpcGUoXG4gICAgICBmaWx0ZXIoKGVycm9yKSA9PiBlcnJvciAhPT0gbnVsbCksXG4gICAgICBtYXAoKGVycm9yKSA9PiBlcnJvci5tZXNzYWdlKVxuICAgIClcbiAgICB0aGlzLmFsbG93U2hvd01vcmUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZhY2FkZS5pc0xvYWRpbmckLFxuICAgICAgdGhpcy5mYWNhZGUuY3VycmVudFBhZ2UkLFxuICAgICAgdGhpcy5mYWNhZGUudG90YWxQYWdlcyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtsb2FkaW5nLCBjdXJyZW50UGFnZSwgdG90YWxQYWdlc10pID0+XG4gICAgICAgICAgIWxvYWRpbmcgJiYgY3VycmVudFBhZ2UgPCB0b3RhbFBhZ2VzXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgb25NZXRhZGF0YVNlbGVjdGlvbihtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZCk6IHZvaWQge1xuICAgIHRoaXMubWRTZWxlY3QuZW1pdChtZXRhZGF0YSlcbiAgfVxuXG4gIG9uU2hvd01vcmUoKSB7XG4gICAgdGhpcy5mYWNhZGUuc2Nyb2xsKClcbiAgfVxuXG4gIGdldFJlY29yZFVybChtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIGNvbnN0IHRva2VuTWFwID0ge1xuICAgICAgZGF0YXNldDogdGhpcy5yZWNvcmREYXRhc2V0VXJsVGVtcGxhdGUsXG4gICAgICBzZXJ2aWNlOiB0aGlzLnJlY29yZFNlcnZpY2VVcmxUZW1wbGF0ZSxcbiAgICAgIHJldXNlOiB0aGlzLnJlY29yZFJldXNlVXJsVGVtcGxhdGUsXG4gICAgfVxuICAgIGlmIChcbiAgICAgICF0aGlzLnJlY29yZERhdGFzZXRVcmxUZW1wbGF0ZSAmJlxuICAgICAgIXRoaXMucmVjb3JkU2VydmljZVVybFRlbXBsYXRlICYmXG4gICAgICAhdGhpcy5yZWNvcmRSZXVzZVVybFRlbXBsYXRlXG4gICAgKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICBjb25zdCB1cmxLaW5kID0gdG9rZW5NYXBbbWV0YWRhdGEua2luZF1cbiAgICByZXR1cm4gdXJsS2luZC5yZXBsYWNlKCcke3V1aWR9JywgbWV0YWRhdGEudW5pcXVlSWRlbnRpZmllcilcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIihlcnJvciQgfCBhc3luYykgPT09IG51bGxcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRzIHJlbGF0aXZlXCI+XG4gIDxnbi11aS1yZXN1bHRzLWxpc3RcbiAgICBbcmVjb3Jkc109XCJmYWNhZGUucmVzdWx0cyQgfCBhc3luY1wiXG4gICAgW2xheW91dENvbmZpZ109XCJsYXlvdXRDb25maWckIHwgYXN5bmNcIlxuICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIlxuICAgICAgbWV0YWRhdGFRdWFsaXR5RGlzcGxheSAmJiAocGlwZWxpbmVGb3JRdWFsaXR5U2NvcmVBY3RpdmF0ZWQgfCBhc3luYylcbiAgICBcIlxuICAgIFtmYXZvcml0ZVRlbXBsYXRlXT1cImZhdm9yaXRlVG9nZ2xlXCJcbiAgICBbcmVjb3JkVXJsR2V0dGVyXT1cInJlY29yZFVybEdldHRlclwiXG4gICAgKG1kU2VsZWN0KT1cIm9uTWV0YWRhdGFTZWxlY3Rpb24oJGV2ZW50KVwiXG4gID48L2duLXVpLXJlc3VsdHMtbGlzdD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93U2hvd01vcmUkIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2hvdy1tb3JlIGgtWzEwMHB4XSBwdC1bMzBweF1cIiAqbmdJZj1cInNob3dNb3JlID09PSAnYnV0dG9uJ1wiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBkYXRhLWN5PVwiYWRkTW9yZUJ0blwiXG4gICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25TaG93TW9yZSgpXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cIm0tYXV0byAhcC1bMjJweF1cIlxuICAgICAgICBbc3R5bGUuLS1nbi11aS1idXR0b24td2lkdGhdPVwiIWF1dG9cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVwcGVyY2FzZSBmb250LW1lZGl1bSB0cmFja2luZy13aWRlc3RcIiB0cmFuc2xhdGVcbiAgICAgICAgICA+cmVzdWx0cy5zaG93TW9yZTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2hvdy1tb3JlIGgtWzEwMHB4XVwiICpuZ0lmPVwic2hvd01vcmUgPT09ICdhdXRvJ1wiPlxuICAgICAgPGduLXVpLXZpZXdwb3J0LWludGVyc2VjdG9yXG4gICAgICAgIChlbnRlcnNWaWV3cG9ydCk9XCJvblNob3dNb3JlKClcIlxuICAgICAgPjwvZ24tdWktdmlld3BvcnQtaW50ZXJzZWN0b3I+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZmFjYWRlLmlzTG9hZGluZyQgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZyBmbGV4IGp1c3RpZnktY2VudGVyIGgtWzEwMHB4XSBwdC1bNDVweF1cIj5cbiAgICAgIDxnbi11aS1zcGlubmluZy1sb2FkZXI+PC9nbi11aS1zcGlubmluZy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwLTQgbWF4LXctWzYwMHB4XSBtLWF1dG8gdGV4dC1bMTNweF1cIj5cbiAgPGduLXVpLWVycm9yXG4gICAgKm5nSWY9XCIoZXJyb3JDb2RlJCB8IGFzeW5jKSA9PT0gMFwiXG4gICAgW3R5cGVdPVwiZXJyb3JUeXBlcy5DT1VMRF9OT1RfUkVBQ0hfQVBJXCJcbiAgPlxuICA8L2duLXVpLWVycm9yPlxuICA8Z24tdWktZXJyb3JcbiAgICAqbmdJZj1cIihlcnJvciQgfCBhc3luYykgIT09IG51bGwgJiYgKGVycm9yQ29kZSQgfCBhc3luYykgIT09IDBcIlxuICAgIFt0eXBlXT1cImVycm9yVHlwZXMuUkVDRUlWRURfRVJST1JcIlxuICAgIFtlcnJvcl09XCJlcnJvck1lc3NhZ2UkIHwgYXN5bmNcIlxuICA+PC9nbi11aS1lcnJvcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Zhdm9yaXRlVG9nZ2xlIGxldC1yZWNvcmQ+XG4gIDxnbi11aS1mYXZvcml0ZS1zdGFyIFtyZWNvcmRdPVwicmVjb3JkXCI+PC9nbi11aS1mYXZvcml0ZS1zdGFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1saXN0LmNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMvbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxpc3QuY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDbEUsT0FBTyxFQUNMLHFCQUFxQixHQUd0QixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFBOzs7Ozs7Ozs7OztBQVU1QixNQUFNLE9BQU8sNkJBQTZCO0lBaUJ4QyxZQUNTLE1BQW9CLEVBRW5CLG1CQUE2QyxFQUc3Qyx3QkFBZ0MsRUFHaEMsd0JBQWdDLEVBR2hDLHNCQUE4QjtRQVgvQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBRW5CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEI7UUFHN0MsNkJBQXdCLEdBQXhCLHdCQUF3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QUFFLElBQUksQ0FBQyx3QkFBd0I7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDbkMsQ0FBQTtRQUNELElBQ0UsQ0FBQyxJQUFJLENBQUMsd0JBQXdCO1lBQzlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUM5QixDQUFDLElBQUksQ0FBQyxzQkFBc0I7WUFFNUIsT0FBTyxJQUFJLENBQUE7UUFDYixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDOUQsQ0FBQzsrR0EvRlUsNkJBQTZCLDhDQW1COUIscUJBQXFCLGFBR3JCLHdCQUF3Qiw2QkFHeEIsd0JBQXdCLDZCQUd4QixzQkFBc0I7bUdBNUJyQiw2QkFBNkIsNk1DakMxQyx5NERBdURBOzs0RkR0QmEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDhCQUE4Qjs7MEJBdUJyQyxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCOzswQkFFL0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUUvQixRQUFROzswQkFDUixNQUFNOzJCQUFDLHNCQUFzQjt5Q0EzQnZCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgU2VhcmNoRmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvc2VhcmNoLmZhY2FkZSdcbmltcG9ydCB7IFNlYXJjaEVycm9yIH0gZnJvbSAnLi4vc3RhdGUvcmVkdWNlcidcbmltcG9ydCB7IEVycm9yVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHtcbiAgUkVTVUxUU19MQVlPVVRfQ09ORklHLFxuICBSZXN1bHRzTGF5b3V0Q29uZmlnSXRlbSxcbiAgUmVzdWx0c0xheW91dENvbmZpZ01vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMnXG5pbXBvcnQge1xuICBSRUNPUkRfREFUQVNFVF9VUkxfVE9LRU4sXG4gIFJFQ09SRF9TRVJWSUNFX1VSTF9UT0tFTixcbiAgUkVDT1JEX1JFVVNFX1VSTF9UT0tFTixcbn0gZnJvbSAnLi4vcmVjb3JkLXVybC50b2tlbidcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCB0eXBlIFJlc3VsdHNMaXN0U2hvd01vcmVTdHJhdGVneSA9ICdhdXRvJyB8ICdidXR0b24nIHwgJ25vbmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlc3VsdHMtbGlzdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0cy1saXN0LmNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtbGlzdC5jb250YWluZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzTGlzdENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgbGF5b3V0OiBzdHJpbmdcbiAgQElucHV0KCkgc2hvd01vcmU6IFJlc3VsdHNMaXN0U2hvd01vcmVTdHJhdGVneSA9ICdhdXRvJ1xuICBAT3V0cHV0KCkgbWRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmQ+KClcblxuICBsYXlvdXRDb25maWckOiBPYnNlcnZhYmxlPFJlc3VsdHNMYXlvdXRDb25maWdJdGVtPlxuXG4gIGVycm9yJDogT2JzZXJ2YWJsZTxTZWFyY2hFcnJvcj5cbiAgZXJyb3JDb2RlJDogT2JzZXJ2YWJsZTxudW1iZXI+XG4gIGVycm9yTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPlxuICBwaXBlbGluZUZvclF1YWxpdHlTY29yZUFjdGl2YXRlZDogT2JzZXJ2YWJsZTxib29sZWFuPlxuICBhbGxvd1Nob3dNb3JlJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIGVycm9yVHlwZXMgPSBFcnJvclR5cGVcbiAgcmVjb3JkVXJsR2V0dGVyID0gdGhpcy5nZXRSZWNvcmRVcmwuYmluZCh0aGlzKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmYWNhZGU6IFNlYXJjaEZhY2FkZSxcbiAgICBASW5qZWN0KFJFU1VMVFNfTEFZT1VUX0NPTkZJRylcbiAgICBwcml2YXRlIHJlc3VsdHNMYXlvdXRDb25maWc6IFJlc3VsdHNMYXlvdXRDb25maWdNb2RlbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoUkVDT1JEX0RBVEFTRVRfVVJMX1RPS0VOKVxuICAgIHByaXZhdGUgcmVjb3JkRGF0YXNldFVybFRlbXBsYXRlOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFJFQ09SRF9TRVJWSUNFX1VSTF9UT0tFTilcbiAgICBwcml2YXRlIHJlY29yZFNlcnZpY2VVcmxUZW1wbGF0ZTogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChSRUNPUkRfUkVVU0VfVVJMX1RPS0VOKVxuICAgIHByaXZhdGUgcmVjb3JkUmV1c2VVcmxUZW1wbGF0ZTogc3RyaW5nXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxheW91dENvbmZpZyQgPSB0aGlzLmZhY2FkZS5sYXlvdXQkLnBpcGUoXG4gICAgICBtYXAoKGxheW91dCkgPT4gdGhpcy5yZXN1bHRzTGF5b3V0Q29uZmlnW2xheW91dF0pXG4gICAgKVxuXG4gICAgaWYgKHRoaXMubGF5b3V0KSB7XG4gICAgICB0aGlzLmZhY2FkZS5zZXRSZXN1bHRzTGF5b3V0KHRoaXMubGF5b3V0KVxuICAgIH1cblxuICAgIHRoaXMucGlwZWxpbmVGb3JRdWFsaXR5U2NvcmVBY3RpdmF0ZWQgPSB0aGlzLmZhY2FkZS5yZXN1bHRzJC5waXBlKFxuICAgICAgdGFwKChyZWNvcmRzKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmRzPy5sZW5ndGggPiAwICYmICFyZWNvcmRzWzBdLmV4dHJhcz8ucXVhbGl0eVNjb3JlKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgJ0l0IGxvb2tzIGxpa2UgdGhlIG1ldGFkYXRhIHF1YWxpdHkgaW5kaWNhdG9yIGlzIG5vdCBhdmFpbGFibGUgb24gdGhlc2UgcmVjb3JkcywgcHJvYmFibHkgZHVlIHRvIGEgbWlzc2luZyBpbmRleGluZyBwaXBlbGluZSdcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwKChyZWNvcmRzKSA9PiAhIXJlY29yZHNbMF0/LmV4dHJhcy5xdWFsaXR5U2NvcmUpXG4gICAgKVxuXG4gICAgdGhpcy5lcnJvciQgPSB0aGlzLmZhY2FkZS5lcnJvciRcbiAgICB0aGlzLmVycm9yQ29kZSQgPSB0aGlzLmVycm9yJC5waXBlKFxuICAgICAgZmlsdGVyKChlcnJvcikgPT4gZXJyb3IgIT09IG51bGwpLFxuICAgICAgbWFwKChlcnJvcikgPT4gZXJyb3IuY29kZSlcbiAgICApXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UkID0gdGhpcy5lcnJvciQucGlwZShcbiAgICAgIGZpbHRlcigoZXJyb3IpID0+IGVycm9yICE9PSBudWxsKSxcbiAgICAgIG1hcCgoZXJyb3IpID0+IGVycm9yLm1lc3NhZ2UpXG4gICAgKVxuICAgIHRoaXMuYWxsb3dTaG93TW9yZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZmFjYWRlLmlzTG9hZGluZyQsXG4gICAgICB0aGlzLmZhY2FkZS5jdXJyZW50UGFnZSQsXG4gICAgICB0aGlzLmZhY2FkZS50b3RhbFBhZ2VzJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2xvYWRpbmcsIGN1cnJlbnRQYWdlLCB0b3RhbFBhZ2VzXSkgPT5cbiAgICAgICAgICAhbG9hZGluZyAmJiBjdXJyZW50UGFnZSA8IHRvdGFsUGFnZXNcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBvbk1ldGFkYXRhU2VsZWN0aW9uKG1ldGFkYXRhOiBDYXRhbG9nUmVjb3JkKTogdm9pZCB7XG4gICAgdGhpcy5tZFNlbGVjdC5lbWl0KG1ldGFkYXRhKVxuICB9XG5cbiAgb25TaG93TW9yZSgpIHtcbiAgICB0aGlzLmZhY2FkZS5zY3JvbGwoKVxuICB9XG5cbiAgZ2V0UmVjb3JkVXJsKG1ldGFkYXRhOiBDYXRhbG9nUmVjb3JkKSB7XG4gICAgY29uc3QgdG9rZW5NYXAgPSB7XG4gICAgICBkYXRhc2V0OiB0aGlzLnJlY29yZERhdGFzZXRVcmxUZW1wbGF0ZSxcbiAgICAgIHNlcnZpY2U6IHRoaXMucmVjb3JkU2VydmljZVVybFRlbXBsYXRlLFxuICAgICAgcmV1c2U6IHRoaXMucmVjb3JkUmV1c2VVcmxUZW1wbGF0ZSxcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIXRoaXMucmVjb3JkRGF0YXNldFVybFRlbXBsYXRlICYmXG4gICAgICAhdGhpcy5yZWNvcmRTZXJ2aWNlVXJsVGVtcGxhdGUgJiZcbiAgICAgICF0aGlzLnJlY29yZFJldXNlVXJsVGVtcGxhdGVcbiAgICApXG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHVybEtpbmQgPSB0b2tlbk1hcFttZXRhZGF0YS5raW5kXVxuICAgIHJldHVybiB1cmxLaW5kLnJlcGxhY2UoJyR7dXVpZH0nLCBtZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyKVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiKGVycm9yJCB8IGFzeW5jKSA9PT0gbnVsbFwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdHMgcmVsYXRpdmVcIj5cbiAgPGduLXVpLXJlc3VsdHMtbGlzdFxuICAgIFtyZWNvcmRzXT1cImZhY2FkZS5yZXN1bHRzJCB8IGFzeW5jXCJcbiAgICBbbGF5b3V0Q29uZmlnXT1cImxheW91dENvbmZpZyQgfCBhc3luY1wiXG4gICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwiXG4gICAgICBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5ICYmIChwaXBlbGluZUZvclF1YWxpdHlTY29yZUFjdGl2YXRlZCB8IGFzeW5jKVxuICAgIFwiXG4gICAgW2Zhdm9yaXRlVGVtcGxhdGVdPVwiZmF2b3JpdGVUb2dnbGVcIlxuICAgIFtyZWNvcmRVcmxHZXR0ZXJdPVwicmVjb3JkVXJsR2V0dGVyXCJcbiAgICAobWRTZWxlY3QpPVwib25NZXRhZGF0YVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgPjwvZ24tdWktcmVzdWx0cy1saXN0PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dTaG93TW9yZSQgfCBhc3luY1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzaG93LW1vcmUgaC1bMTAwcHhdIHB0LVszMHB4XVwiICpuZ0lmPVwic2hvd01vcmUgPT09ICdidXR0b24nXCI+XG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgIGRhdGEtY3k9XCJhZGRNb3JlQnRuXCJcbiAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJvblNob3dNb3JlKClcIlxuICAgICAgICBleHRyYUNsYXNzPVwibS1hdXRvICFwLVsyMnB4XVwiXG4gICAgICAgIFtzdHlsZS4tLWduLXVpLWJ1dHRvbi13aWR0aF09XCIhYXV0b1wiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidXBwZXJjYXNlIGZvbnQtbWVkaXVtIHRyYWNraW5nLXdpZGVzdFwiIHRyYW5zbGF0ZVxuICAgICAgICAgID5yZXN1bHRzLnNob3dNb3JlPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzaG93LW1vcmUgaC1bMTAwcHhdXCIgKm5nSWY9XCJzaG93TW9yZSA9PT0gJ2F1dG8nXCI+XG4gICAgICA8Z24tdWktdmlld3BvcnQtaW50ZXJzZWN0b3JcbiAgICAgICAgKGVudGVyc1ZpZXdwb3J0KT1cIm9uU2hvd01vcmUoKVwiXG4gICAgICA+PC9nbi11aS12aWV3cG9ydC1pbnRlcnNlY3Rvcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmYWNhZGUuaXNMb2FkaW5nJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nIGZsZXgganVzdGlmeS1jZW50ZXIgaC1bMTAwcHhdIHB0LVs0NXB4XVwiPlxuICAgICAgPGduLXVpLXNwaW5uaW5nLWxvYWRlcj48L2duLXVpLXNwaW5uaW5nLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInAtNCBtYXgtdy1bNjAwcHhdIG0tYXV0byB0ZXh0LVsxM3B4XVwiPlxuICA8Z24tdWktZXJyb3JcbiAgICAqbmdJZj1cIihlcnJvckNvZGUkIHwgYXN5bmMpID09PSAwXCJcbiAgICBbdHlwZV09XCJlcnJvclR5cGVzLkNPVUxEX05PVF9SRUFDSF9BUElcIlxuICA+XG4gIDwvZ24tdWktZXJyb3I+XG4gIDxnbi11aS1lcnJvclxuICAgICpuZ0lmPVwiKGVycm9yJCB8IGFzeW5jKSAhPT0gbnVsbCAmJiAoZXJyb3JDb2RlJCB8IGFzeW5jKSAhPT0gMFwiXG4gICAgW3R5cGVdPVwiZXJyb3JUeXBlcy5SRUNFSVZFRF9FUlJPUlwiXG4gICAgW2Vycm9yXT1cImVycm9yTWVzc2FnZSQgfCBhc3luY1wiXG4gID48L2duLXVpLWVycm9yPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZmF2b3JpdGVUb2dnbGUgbGV0LXJlY29yZD5cbiAgPGduLXVpLWZhdm9yaXRlLXN0YXIgW3JlY29yZF09XCJyZWNvcmRcIj48L2duLXVpLWZhdm9yaXRlLXN0YXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -5,6 +5,7 @@ export * from './lib/content-ghost/content-ghost.component';
5
5
  export * from './lib/download-item/download-item.component';
6
6
  export * from './lib/downloads-list/downloads-list.component';
7
7
  export * from './lib/error/error.component';
8
+ export * from './lib/geo-data-badge/geo-data-badge.component';
8
9
  export * from './lib/image-input/image-input.component';
9
10
  export * from './lib/image-overlay-preview/image-overlay-preview.component';
10
11
  export * from './lib/kind-badge/kind-badge.component';
@@ -26,4 +27,5 @@ export * from './lib/user-preview/user-preview.component';
26
27
  export * from './lib/application-banner/application-banner.component';
27
28
  export * from './lib/internal-link-card/internal-link-card.component';
28
29
  export * from './lib/service-capabilities/service-capabilities.component';
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLDJEQUEyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpLWNhcmQvYXBpLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudC1naG9zdC9jb250ZW50LWdob3N0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2FkLWl0ZW0vZG93bmxvYWQtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb3dubG9hZHMtbGlzdC9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci9lcnJvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tpbmQtYmFkZ2Uva2luZC1iYWRnZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcmtkb3duLWVkaXRvci9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1jYXRhbG9nL21ldGFkYXRhLWNhdGFsb2cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtY29udGFjdC9tZXRhZGF0YS1jb250YWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWluZm8vbWV0YWRhdGEtaW5mby5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLXF1YWxpdHkvbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1hcGktZm9ybS9yZWNvcmQtYXBpLWZvcm0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVsYXRlZC1yZWNvcmQtY2FyZC9yZWxhdGVkLXJlY29yZC1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZWxlbWVudHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1mZWVkYmFjay1pdGVtL3VzZXItZmVlZGJhY2staXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLXByZXZpZXcvdXNlci1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcGxpY2F0aW9uLWJhbm5lci9hcHBsaWNhdGlvbi1iYW5uZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJuYWwtbGluay1jYXJkL2ludGVybmFsLWxpbmstY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlLWNhcGFiaWxpdGllcy9zZXJ2aWNlLWNhcGFiaWxpdGllcy5jb21wb25lbnQnXG4iXX0=
30
+ export * from './lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component';
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyxrRkFBa0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS1jYXJkL2FwaS1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtZ2hvc3QvY29udGVudC1naG9zdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb3dubG9hZC1pdGVtL2Rvd25sb2FkLWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWRzLWxpc3QvZG93bmxvYWRzLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3IvZXJyb3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VvLWRhdGEtYmFkZ2UvZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtaW5wdXQvaW1hZ2UtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3L2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9raW5kLWJhZGdlL2tpbmQtYmFkZ2UuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGluay1jYXJkL2xpbmstY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcmtkb3duLXBhcnNlci9tYXJrZG93bi1wYXJzZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtY2F0YWxvZy9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWNvbnRhY3QvbWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtcXVhbGl0eS1pdGVtL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbGF0ZWQtcmVjb3JkLWNhcmQvcmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWVsZW1lbnRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItZmVlZGJhY2staXRlbS91c2VyLWZlZWRiYWNrLWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1wcmV2aWV3L3VzZXItcHJldmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbi1iYW5uZXIvYXBwbGljYXRpb24tYmFubmVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVybmFsLWxpbmstY2FyZC9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS1jYXBhYmlsaXRpZXMvc2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLWZlYXR1cmUtY2F0YWxvZy9mZWF0dXJlLWNhdGFsb2ctbGlzdC9mZWF0dXJlLWNhdGFsb2ctbGlzdC5jb21wb25lbnQnXG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { matLocationSearchingOutline } from '@ng-icons/material-icons/outline';
3
+ import { CommonModule } from '@angular/common';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { NgIcon, provideIcons } from '@ng-icons/core';
6
+ import { LinkClassifierService, LinkUsage } from '../../../../../../libs/util/shared/src';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../../../libs/util/shared/src";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@ngx-translate/core";
11
+ export class GeoDataBadgeComponent {
12
+ isGeodata() {
13
+ const links = 'onlineResources' in this.record ? this.record.onlineResources : [];
14
+ const hasMapApi = links.some((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API));
15
+ const hasGeoData = links.some((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA));
16
+ return hasMapApi || hasGeoData;
17
+ }
18
+ get badgeClasses() {
19
+ const baseClasses = 'flex shrink-0 items-center badge-btn text-xs px-2 h-6 min-h-6';
20
+ switch (this.styling) {
21
+ case 'light':
22
+ return `${baseClasses} bg-primary-white text-primary-darkest`;
23
+ case 'default':
24
+ return `${baseClasses} bg-primary-darker text-white`;
25
+ default:
26
+ return 'flex shrink-0 items-center';
27
+ }
28
+ }
29
+ constructor(linkClassifier) {
30
+ this.linkClassifier = linkClassifier;
31
+ this.showLabel = true;
32
+ this.styling = 'default';
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoDataBadgeComponent, deps: [{ token: i1.LinkClassifierService }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoDataBadgeComponent, isStandalone: true, selector: "gn-ui-geo-data-badge", inputs: { showLabel: "showLabel", styling: "styling", record: "record" }, ngImport: i0, template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], viewProviders: [
36
+ provideIcons({
37
+ matLocationSearchingOutline,
38
+ }),
39
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoDataBadgeComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'gn-ui-geo-data-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon, TranslateModule], viewProviders: [
44
+ provideIcons({
45
+ matLocationSearchingOutline,
46
+ }),
47
+ ], template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"] }]
48
+ }], ctorParameters: () => [{ type: i1.LinkClassifierService }], propDecorators: { showLabel: [{
49
+ type: Input
50
+ }], styling: [{
51
+ type: Input
52
+ }], record: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2dlby1kYXRhLWJhZGdlL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9nZW8tZGF0YS1iYWRnZS9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7OztBQWV6RixNQUFNLE9BQU8scUJBQXFCO0lBS2hDLFNBQVM7UUFDUCxNQUFNLEtBQUssR0FDVCxpQkFBaUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUN0RCxDQUFBO1FBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ3RELENBQUE7UUFDRCxPQUFPLFNBQVMsSUFBSSxVQUFVLENBQUE7SUFDaEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE1BQU0sV0FBVyxHQUNmLCtEQUErRCxDQUFBO1FBRWpFLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUssT0FBTztnQkFDVixPQUFPLEdBQUcsV0FBVyx3Q0FBd0MsQ0FBQTtZQUMvRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxHQUFHLFdBQVcsK0JBQStCLENBQUE7WUFDdEQ7Z0JBQ0UsT0FBTyw0QkFBNEIsQ0FBQTtRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW1CLGNBQXFDO1FBQXJDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQTlCL0MsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixZQUFPLEdBQUcsU0FBUyxDQUFBO0lBNkIrQixDQUFDOytHQS9CakQscUJBQXFCO21HQUFyQixxQkFBcUIsMEpDckJsQyxxWEFhQSxxTURDWSxZQUFZLG1JQUFFLE1BQU0sNEdBQUUsZUFBZSx3TkFDaEM7WUFDYixZQUFZLENBQUM7Z0JBQ1gsMkJBQTJCO2FBQzVCLENBQUM7U0FDSDs7NEZBRVUscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLGlCQUNqQzt3QkFDYixZQUFZLENBQUM7NEJBQ1gsMkJBQTJCO3lCQUM1QixDQUFDO3FCQUNIOzBGQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgTGlua0NsYXNzaWZpZXJTZXJ2aWNlLCBMaW5rVXNhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZ2VvLWRhdGEtYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ0ljb24sIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9EYXRhQmFkZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlXG4gIEBJbnB1dCgpIHN0eWxpbmcgPSAnZGVmYXVsdCdcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG5cbiAgaXNHZW9kYXRhKCkge1xuICAgIGNvbnN0IGxpbmtzID1cbiAgICAgICdvbmxpbmVSZXNvdXJjZXMnIGluIHRoaXMucmVjb3JkID8gdGhpcy5yZWNvcmQub25saW5lUmVzb3VyY2VzIDogW11cbiAgICBjb25zdCBoYXNNYXBBcGkgPSBsaW5rcy5zb21lKChsaW5rKSA9PlxuICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICApXG4gICAgY29uc3QgaGFzR2VvRGF0YSA9IGxpbmtzLnNvbWUoKGxpbmspID0+XG4gICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5HRU9EQVRBKVxuICAgIClcbiAgICByZXR1cm4gaGFzTWFwQXBpIHx8IGhhc0dlb0RhdGFcbiAgfVxuXG4gIGdldCBiYWRnZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9XG4gICAgICAnZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgYmFkZ2UtYnRuIHRleHQteHMgcHgtMiBoLTYgbWluLWgtNidcblxuICAgIHN3aXRjaCAodGhpcy5zdHlsaW5nKSB7XG4gICAgICBjYXNlICdsaWdodCc6XG4gICAgICAgIHJldHVybiBgJHtiYXNlQ2xhc3Nlc30gYmctcHJpbWFyeS13aGl0ZSB0ZXh0LXByaW1hcnktZGFya2VzdGBcbiAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9IGJnLXByaW1hcnktZGFya2VyIHRleHQtd2hpdGVgXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2ZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsaW5rQ2xhc3NpZmllcjogTGlua0NsYXNzaWZpZXJTZXJ2aWNlKSB7fVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwiYmFkZ2VDbGFzc2VzXCJcbiAgW3RpdGxlXT1cIidyZWNvcmQubWV0YWRhdGEuaXNHZW9ncmFwaGljYWwnIHwgdHJhbnNsYXRlXCJcbiAgKm5nSWY9XCJpc0dlb2RhdGEoKVwiXG4+XG4gIDxuZy1pY29uXG4gICAgY2xhc3M9XCJzaHJpbmstMCB0ZXh0LVswLjc1ZW1dXCJcbiAgICBuYW1lPVwibWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lXCJcbiAgPjwvbmctaWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJtbC0xIGhpZGRlbiBzbTppbmxpbmUtYmxvY2sgc2hyaW5rLTBcIiAqbmdJZj1cInNob3dMYWJlbFwiIHRyYW5zbGF0ZVxuICAgID5yZWNvcmQubWV0YWRhdGEuaXNHZW9ncmFwaGljYWw8L3NwYW5cbiAgPlxuPC9kaXY+XG4iXX0=
@@ -1,21 +1,18 @@
1
1
  import { Component, Input, TemplateRef, Output, EventEmitter, ElementRef, } from '@angular/core';
2
2
  import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import { GeoDataBadgeComponent } from '../geo-data-badge/geo-data-badge.component';
4
+ import { KindBadgeComponent } from '../kind-badge/kind-badge.component';
3
5
  import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
4
6
  import { MetadataQualityComponent } from '../metadata-quality/metadata-quality.component';
5
7
  import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
6
- import { propagateToDocumentOnly, removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
8
+ import { removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
7
9
  import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
8
10
  import { matLocationSearchingOutline, matEmailOutline, matPhoneOutline, matLocationOnOutline, } from '@ng-icons/material-icons/outline';
9
- import { matCode } from '@ng-icons/material-icons/baseline';
10
- import { iconoirDatabase, iconoirMap, iconoirInternet } from '@ng-icons/iconoir';
11
+ import { iconoirInternet } from '@ng-icons/iconoir';
11
12
  import { TranslateModule } from '@ngx-translate/core';
12
- import { marker } from '@biesbjerg/ngx-translate-extract-marker';
13
13
  import { fromEvent, Subscription } from 'rxjs';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@ngx-translate/core";
16
- marker('record.kind.data');
17
- marker('record.kind.reuse');
18
- marker('record.kind.service');
19
16
  export class InternalLinkCardComponent {
20
17
  set size(value) {
21
18
  this._size = value;
@@ -27,6 +24,7 @@ export class InternalLinkCardComponent {
27
24
  }
28
25
  constructor(elementRef) {
29
26
  this.elementRef = elementRef;
27
+ this.linkTarget = '_blank';
30
28
  this.linkHref = null;
31
29
  this.mdSelect = new EventEmitter();
32
30
  this.subscription = new Subscription();
@@ -34,31 +32,27 @@ export class InternalLinkCardComponent {
34
32
  this.thumbnailContainerClass = '';
35
33
  this._size = 'M';
36
34
  this.sizeClassMap = {
37
- L: 'min-h-[190px] md:w-[992px] py-3 px-3 flex items-start gap-5',
38
- M: 'min-h-[140px] md:w-[570px] py-3 px-3 flex items-start gap-4',
39
- S: 'min-h-[220px] md:w-[370px] py-3 px-3 flex gap-4',
40
- XS: 'min-h-[108px] md:w-[570px] py-3 px-3 flex gap-4',
35
+ L: 'min-h-[190px] w-full py-3 px-3 flex items-start gap-5',
36
+ M: 'min-h-[140px] py-3 px-3 flex items-start gap-4',
37
+ S: 'min-h-[220px] py-3 px-3 flex gap-4',
38
+ XS: 'min-h-[108px] py-3 px-3 flex gap-4',
41
39
  };
42
40
  this.thumbnailSizeClassMap = {
43
- L: 'w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
41
+ L: 'w-full md:w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
44
42
  M: 'w-[110px] h-[140px] rounded-lg overflow-hidden shrink-0',
45
43
  S: 'hidden',
46
44
  XS: 'hidden',
47
45
  };
48
46
  this.titleClassMap = {
49
- L: 'text-xl line-clamp-2',
47
+ L: 'text-xl line-clamp-1',
50
48
  M: 'text-base line-clamp-2',
51
- S: 'text-base line-clamp-3',
52
- XS: 'text-base mt-3 line-clamp-2',
49
+ S: 'text-base line-clamp-3 ml-2',
50
+ XS: 'text-base line-clamp-1 ml-2',
53
51
  };
54
52
  }
55
53
  ngOnInit() {
56
54
  this.abstract = removeWhitespace(stripHtml(this.record?.abstract));
57
- this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe((event) => {
58
- event.preventDefault();
59
- propagateToDocumentOnly(event);
60
- this.mdSelect.emit(this.record);
61
- }));
55
+ this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe(() => this.mdSelect.emit(this.record)));
62
56
  }
63
57
  get organization() {
64
58
  return this.record.ownerOrganization;
@@ -69,9 +63,7 @@ export class InternalLinkCardComponent {
69
63
  : this.record.contacts) || []);
70
64
  }
71
65
  getTitleClass() {
72
- return (this.titleClassMap[this._size] +
73
- ' ' +
74
- (this.record.ownerOrganization?.name ? '' : 'mt-3') || '');
66
+ return this.titleClassMap[this._size];
75
67
  }
76
68
  openExternalUrl(event, url) {
77
69
  event.stopPropagation();
@@ -88,28 +80,11 @@ export class InternalLinkCardComponent {
88
80
  get shouldShowThumbnail() {
89
81
  return this.size === 'L' || this.size === 'M';
90
82
  }
91
- getKindInfo() {
92
- if (!this.record?.kind)
93
- return { text: '', icon: '' };
94
- switch (this.record.kind.toLowerCase()) {
95
- case 'dataset':
96
- return { text: 'record.kind.data', icon: 'iconoirDatabase' };
97
- case 'reuse':
98
- return { text: 'record.kind.reuse', icon: 'iconoirMap' };
99
- case 'service':
100
- return { text: 'record.kind.service', icon: 'matCode' };
101
- default:
102
- return { text: '', icon: '' };
103
- }
104
- }
105
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", linkHref: "linkHref", isGeodata: "isGeodata", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", linkTarget: "linkTarget", linkHref: "linkHref", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
107
85
  provideIcons({
108
- matLocationSearchingOutline,
109
- matCode,
110
- iconoirDatabase,
111
- iconoirMap,
112
86
  iconoirInternet,
87
+ matLocationSearchingOutline,
113
88
  matEmailOutline,
114
89
  matPhoneOutline,
115
90
  matLocationOnOutline,
@@ -117,7 +92,7 @@ export class InternalLinkCardComponent {
117
92
  provideNgIconsConfig({
118
93
  size: '1.2em',
119
94
  }),
120
- ], ngImport: i0, template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
95
+ ], ngImport: i0, template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mr-6 text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: GeoDataBadgeComponent, selector: "gn-ui-geo-data-badge", inputs: ["showLabel", "styling", "record"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
121
96
  }
122
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
123
98
  type: Component,
@@ -129,14 +104,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
129
104
  NgTemplateOutlet,
130
105
  NgIconComponent,
131
106
  TranslateModule,
107
+ GeoDataBadgeComponent,
108
+ KindBadgeComponent,
132
109
  MarkdownParserComponent,
133
110
  ], providers: [
134
111
  provideIcons({
135
- matLocationSearchingOutline,
136
- matCode,
137
- iconoirDatabase,
138
- iconoirMap,
139
112
  iconoirInternet,
113
+ matLocationSearchingOutline,
140
114
  matEmailOutline,
141
115
  matPhoneOutline,
142
116
  matLocationOnOutline,
@@ -144,20 +118,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
144
118
  provideNgIconsConfig({
145
119
  size: '1.2em',
146
120
  }),
147
- ], template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
121
+ ], template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mr-6 text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n" }]
148
122
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
149
123
  type: Input
150
- }], metadataQualityDisplay: [{
151
- type: Input
152
- }], favoriteTemplate: [{
124
+ }], linkTarget: [{
153
125
  type: Input
154
126
  }], linkHref: [{
155
127
  type: Input
156
- }], isGeodata: [{
128
+ }], metadataQualityDisplay: [{
129
+ type: Input
130
+ }], favoriteTemplate: [{
157
131
  type: Input
158
132
  }], size: [{
159
133
  type: Input
160
134
  }], mdSelect: [{
161
135
  type: Output
162
136
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLFNBQVMsR0FDVixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsR0FDckIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxF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QixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIOytFQUtRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxJQUFJO3NCQUFoQixLQUFLO2dCQVFJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBwcm9wYWdhdGVUb0RvY3VtZW50T25seSxcbiAgcmVtb3ZlV2hpdGVzcGFjZSxcbiAgc3RyaXBIdG1sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gIG1hdEVtYWlsT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBtYXRDb2RlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgaWNvbm9pckRhdGFiYXNlLCBpY29ub2lyTWFwLCBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbm1hcmtlcigncmVjb3JkLmtpbmQuZGF0YScpXG5tYXJrZXIoJ3JlY29yZC5raW5kLnJldXNlJylcbm1hcmtlcigncmVjb3JkLmtpbmQuc2VydmljZScpXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gICAgICBtYXRDb2RlLFxuICAgICAgaWNvbm9pckRhdGFiYXNlLFxuICAgICAgaWNvbm9pck1hcCxcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdEVtYWlsT3V0bGluZSxcbiAgICAgIG1hdFBob25lT3V0bGluZSxcbiAgICAgIG1hdExvY2F0aW9uT25PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgZmF2b3JpdGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IENhdGFsb2dSZWNvcmQgfT5cbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgaXNHZW9kYXRhOiBib29sZWFuXG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBDYXJkU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZVxuICAgIHRoaXMuY2FyZENsYXNzID0gdGhpcy5zaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICcnXG4gICAgdGhpcy50aHVtYm5haWxDb250YWluZXJDbGFzcyA9IHRoaXMudGh1bWJuYWlsU2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnaGlkZGVuJ1xuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG5cbiAgY2FyZENsYXNzID0gJydcbiAgdGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSAnJ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ00nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAnbWluLWgtWzE5MHB4XSBtZDp3LVs5OTJweF0gcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTUnLFxuICAgIE06ICdtaW4taC1bMTQwcHhdIG1kOnctWzU3MHB4XSBweS0zIHB4LTMgZmxleCBpdGVtcy1zdGFydCBnYXAtNCcsXG4gICAgUzogJ21pbi1oLVsyMjBweF0gbWQ6dy1bMzcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgICBYUzogJ21pbi1oLVsxMDhweF0gbWQ6dy1bNTcwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3ctWzE5MHB4XSBoLVsxODBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAnLFxuICAgIE06ICd3LVsxMTBweF0gaC1bMTQwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBTOiAnaGlkZGVuJyxcbiAgICBYUzogJ2hpZGRlbicsXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAndGV4dC14bCBsaW5lLWNsYW1wLTInLFxuICAgIE06ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0yJyxcbiAgICBTOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMycsXG4gICAgWFM6ICd0ZXh0LWJhc2UgbXQtMyBsaW5lLWNsYW1wLTInLFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoXG4gICAgICAgIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gICAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgZ2V0IG9yZ2FuaXphdGlvbigpOiBPcmdhbml6YXRpb24ge1xuICAgIHJldHVybiB0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvblxuICB9XG5cbiAgZ2V0IGNvbnRhY3RzKCkge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5yZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnXG4gICAgICAgID8gdGhpcy5yZWNvcmQuY29udGFjdHNGb3JSZXNvdXJjZVxuICAgICAgICA6IHRoaXMucmVjb3JkLmNvbnRhY3RzKSB8fCBbXVxuICAgIClcbiAgfVxuXG4gIGdldFRpdGxlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudGl0bGVDbGFzc01hcFt0aGlzLl9zaXplXSArXG4gICAgICAgICcgJyArXG4gICAgICAgICh0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSA/ICcnIDogJ210LTMnKSB8fCAnJ1xuICAgIClcbiAgfVxuXG4gIG9wZW5FeHRlcm5hbFVybChldmVudDogRXZlbnQsIHVybDogVVJMKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgb3Blbk1haWx0byhldmVudDogRXZlbnQsIGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKGBtYWlsdG86JHtlbWFpbH1gLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG5cbiAgZ2V0S2luZEluZm8oKTogeyB0ZXh0OiBzdHJpbmc7IGljb246IHN0cmluZyB9IHtcbiAgICBpZiAoIXRoaXMucmVjb3JkPy5raW5kKSByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuXG4gICAgc3dpdGNoICh0aGlzLnJlY29yZC5raW5kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RhdGFzZXQnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuZGF0YScsIGljb246ICdpY29ub2lyRGF0YWJhc2UnIH1cbiAgICAgIGNhc2UgJ3JldXNlJzpcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogJ3JlY29yZC5raW5kLnJldXNlJywgaWNvbjogJ2ljb25vaXJNYXAnIH1cbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAncmVjb3JkLmtpbmQuc2VydmljZScsIGljb246ICdtYXRDb2RlJyB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyB0ZXh0OiAnJywgaWNvbjogJycgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInJvdW5kZWQtbGcgZ3JvdXAgY2FyZC1zaGFkb3cgY3Vyc29yLXBvaW50ZXIgb3ZlcmZsb3ctaGlkZGVuIGhvdmVyOmJnLWdyYXktNTBcIlxuICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaG91bGRTaG93VGh1bWJuYWlsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgIGNsYXNzPVwibXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICA+XG4gICAgICA8Z24tdWktdGh1bWJuYWlsXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgICAgW2ZpdF09XCInY292ZXInXCJcbiAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC0xIHJlbGF0aXZlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2p1c3RpZnktYmV0d2Vlbic6IHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSAmJiBzaXplICE9PSAnWFMnLFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiZ2V0S2luZEluZm8oKS50ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LXdoaXRlIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnkgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC13aGl0ZSBtci0xXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImdldEtpbmRJbmZvKCkuaWNvblwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtd2hpdGUgdGV4dC14c1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgIHt7IGdldEtpbmRJbmZvKCkudGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNHZW9kYXRhXCJcbiAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biB0ZXh0LWJsYWNrIHRleHQteHMgcHgtMiBweS0wLjUgZm9udC1ib2xkIHNocmluay0wIGJnLXByaW1hcnktd2hpdGUgbGVhZGluZy10aWdodCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBoLTYgbWluLWgtNlwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwic2l6ZSA9PT0gJ0wnID8gJ3ctWzE2NHB4XScgOiAndy04J1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVswLjllbV0gdGV4dC1wcmltYXJ5LWRhcmtlc3RcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZVwiXG4gICAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZSA9PT0gJ0wnXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtcHJpbWFyeS1kYXJrZXN0IHRleHQteHMgbWwtMVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICByZWNvcmQubWV0YWRhdGEudHlwZVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5XG4gICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttZXRhZGF0YV09XCJyZWNvcmRcIlxuICAgICAgICAgICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gICAgICAgICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwic2l6ZSAhPT0gJ1hTJ1wiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeSBvdmVyZmxvdy1oaWRkZW4gYnJlYWstd29yZHNcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRUaXRsZUNsYXNzKClcIlxuICAgICAgPlxuICAgICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgIGNsYXNzPVwibXQtMSBtYi0yIGZvbnQtbm9ybWFsIHRleHQteHMgdGV4dC1ncmF5LTkwMCBsaW5lLWNsYW1wLTIgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLW1hcmtkb3duLXBhcnNlclxuICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgW3doaXRvdXRTdHlsZXNdPVwidHJ1ZVwiXG4gICAgICAgID48L2duLXVpLW1hcmtkb3duLXBhcnNlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNpemUgIT09ICdYUycgJiYgcmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgaC1bNTNweF0gcHgtMlwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgbWluLXctMFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidy1bNDVweF0gaC1bNDVweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAgbXItM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgICAgICBbdGh1bWJuYWlsVXJsXT1cIlxuICAgICAgICAgICAgICAgIHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubG9nb1VybD8udG9TdHJpbmcoKSB8fCAnJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbZml0XT1cIidjb250YWluJ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCByb3VuZGVkLWxnXCJcbiAgICAgICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy5uYW1lXCIgY2xhc3M9XCJmbGV4LTEgdy0wIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ibGFjayBmb250LW5vcm1hbCBsZWFkaW5nLXRpZ2h0IHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHJlY29yZC5jYXJkLm1ldGFkYXRhLmNvbnRhY3RcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteGwgdGV4dC1wcmltYXJ5LWJsYWNrIGZvbnQtbWVkaXVtIHRydW5jYXRlXCI+XG4gICAgICAgICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaXplID09PSAnTCdcIiBjbGFzcz1cIm1sLTIgZmxleCBzcGFjZS14LTJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy53ZWJzaXRlXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJvcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lySW50ZXJuZXRcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1haWx0bygkZXZlbnQsIGNvbnRhY3RzWzBdLmVtYWlsKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5waG9uZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0UGhvbmVPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRMb2NhdGlvbk9uT3V0bGluZVwiPjwvbmctaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxHQUNWLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsZUFBZSxFQUNmLG9CQUFvQixHQUNyQixNQUFNLGtDQUFrQyxDQUFBO0FBQ3pDLE9B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QkFBMkI7NEJBQzNCLGVBQWU7NEJBQ2YsZUFBZTs0QkFDZixvQkFBb0I7eUJBQ3JCLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7K0VBS1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNPLElBQUk7c0JBQWhCLEtBQUs7Z0JBUUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgT3JnYW5pemF0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgR2VvRGF0YUJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLWRhdGEtYmFkZ2UvZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgS2luZEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4va2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBwcm9wYWdhdGVUb0RvY3VtZW50T25seSxcbiAgcmVtb3ZlV2hpdGVzcGFjZSxcbiAgc3RyaXBIdG1sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gIG1hdEVtYWlsT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgR2VvRGF0YUJhZGdlQ29tcG9uZW50LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSxcbiAgICAgIG1hdEVtYWlsT3V0bGluZSxcbiAgICAgIG1hdFBob25lT3V0bGluZSxcbiAgICAgIG1hdExvY2F0aW9uT25PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQgPSAnX2JsYW5rJ1xuICBASW5wdXQoKSBsaW5rSHJlZjogc3RyaW5nID0gbnVsbFxuICBASW5wdXQoKSBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5OiBib29sZWFuXG4gIEBJbnB1dCgpIGZhdm9yaXRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBDYXRhbG9nUmVjb3JkIH0+XG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBDYXJkU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZVxuICAgIHRoaXMuY2FyZENsYXNzID0gdGhpcy5zaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICcnXG4gICAgdGhpcy50aHVtYm5haWxDb250YWluZXJDbGFzcyA9IHRoaXMudGh1bWJuYWlsU2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnaGlkZGVuJ1xuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG5cbiAgY2FyZENsYXNzID0gJydcbiAgdGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSAnJ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ00nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAnbWluLWgtWzE5MHB4XSB3LWZ1bGwgcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTUnLFxuICAgIE06ICdtaW4taC1bMTQwcHhdIHB5LTMgcHgtMyBmbGV4IGl0ZW1zLXN0YXJ0IGdhcC00JyxcbiAgICBTOiAnbWluLWgtWzIyMHB4XSBweS0zIHB4LTMgZmxleCBnYXAtNCcsXG4gICAgWFM6ICdtaW4taC1bMTA4cHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3ctZnVsbCBtZDp3LVsxOTBweF0gaC1bMTgwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBNOiAndy1bMTEwcHhdIGgtWzE0MHB4XSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaHJpbmstMCcsXG4gICAgUzogJ2hpZGRlbicsXG4gICAgWFM6ICdoaWRkZW4nLFxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3RleHQteGwgbGluZS1jbGFtcC0xJyxcbiAgICBNOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMicsXG4gICAgUzogJ3RleHQtYmFzZSBsaW5lLWNsYW1wLTMgbWwtMicsXG4gICAgWFM6ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0xIG1sLTInLFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGdldCBvcmdhbml6YXRpb24oKTogT3JnYW5pemF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmQub3duZXJPcmdhbml6YXRpb25cbiAgfVxuXG4gIGdldCBjb250YWN0cygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMucmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICA/IHRoaXMucmVjb3JkLmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgOiB0aGlzLnJlY29yZC5jb250YWN0cykgfHwgW11cbiAgICApXG4gIH1cblxuICBnZXRUaXRsZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQ2xhc3NNYXBbdGhpcy5fc2l6ZV1cbiAgfVxuXG4gIG9wZW5FeHRlcm5hbFVybChldmVudDogRXZlbnQsIHVybDogVVJMKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgb3Blbk1haWx0byhldmVudDogRXZlbnQsIGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKGBtYWlsdG86JHtlbWFpbH1gLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG59XG4iLCI8YSBbYXR0ci5ocmVmXT1cImxpbmtIcmVmXCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdyb3VwIHJvdW5kZWQtbWQgYmctd2hpdGUgaG92ZXI6Y3Vyc29yLXBvaW50ZXIgaG92ZXI6Ymctc2xhdGUtNTAgb3ZlcmZsb3ctaGlkZGVuIHctZnVsbFwiXG4gICAgW25nQ2xhc3NdPVwiY2FyZENsYXNzXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpnYXAtMCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZsZXgtd3JhcCBtZDpmbGV4LW5vd3JhcCBnYXAtMyc6IHNpemUgPT09ICdMJyB9XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvdWxkU2hvd1RodW1ibmFpbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgICAgY2xhc3M9XCJib3JkZXIgbXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgIFt0aHVtYm5haWxVcmxdPVwicmVjb3JkLm92ZXJ2aWV3cz8uWzBdPy51cmw/LnRvU3RyaW5nKCkgfHwgJydcIlxuICAgICAgICAgIFtmaXRdPVwiJ2NvdmVyJ1wiXG4gICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxnbi11aS1raW5kLWJhZGdlXG4gICAgICAgICAgICAgIFtzdHlsaW5nXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICAgIFtraW5kXT1cInJlY29yZD8ua2luZFwiXG4gICAgICAgICAgICA+PC9nbi11aS1raW5kLWJhZGdlPlxuICAgICAgICAgICAgPGduLXVpLWdlby1kYXRhLWJhZGdlXG4gICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwic2l6ZSA9PT0gJ0wnXCJcbiAgICAgICAgICAgICAgW3N0eWxpbmddPVwiJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgIFtyZWNvcmRdPVwicmVjb3JkXCJcbiAgICAgICAgICAgID48L2duLXVpLWdlby1kYXRhLWJhZGdlPlxuICAgICAgICAgICAgPGduLXVpLW1ldGFkYXRhLXF1YWxpdHlcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIFtzbWFsbGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbWV0YWRhdGFdPVwicmVjb3JkXCJcbiAgICAgICAgICAgICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gICAgICAgICAgICA+PC9nbi11aS1tZXRhZGF0YS1xdWFsaXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaXplICE9PSAnWFMnXCIgZGF0YS1jeT1cInJlY29yZEZhdlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByZWNvcmQgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncm93IGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtdGl0bGUgZ3JvdXAtaG92ZXI6dGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJyZWNvcmQudGl0bGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxoNFxuICAgICAgICAgICAgICBjbGFzcz1cIm1yLTYgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0VGl0bGVDbGFzcygpXCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZFRpdGxlXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cInJlY29yZC50aXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHJlY29yZC50aXRsZSB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTYgdGV4dC14cyB0ZXh0LWdyYXktOTAwIGxpbmUtY2xhbXAtMiBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZEFic3RyYWN0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgICAgIFt3aGl0b3V0U3R5bGVzXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgZGF0YS1jeT1cInJlY29yZE9yZ1wiXG4gICAgICAgICAgKm5nSWY9XCJzaXplICE9PSAnWFMnICYmIHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZVwiXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgaC1bNTNweF0gcHgtMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0NXB4XSBoLVs0NXB4XSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaHJpbmstMCBtci0zXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgICAgICAgIFt0aHVtYm5haWxVcmxdPVwiXG4gICAgICAgICAgICAgICAgICByZWNvcmQub3duZXJPcmdhbml6YXRpb24/LmxvZ29Vcmw/LnRvU3RyaW5nKCkgfHwgJydcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtmaXRdPVwiJ2NvbnRhaW4nXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBoLWZ1bGwgcm91bmRlZC1sZ1wiXG4gICAgICAgICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZ2FuaXphdGlvbj8ubmFtZVwiIGNsYXNzPVwiZmxleC0xIHctMCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWJsYWNrIGZvbnQtbm9ybWFsIGxlYWRpbmctdGlnaHQgdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhcmQubWV0YWRhdGEuY29udGFjdFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRPcmdOYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteGwgdGV4dC1wcmltYXJ5LWJsYWNrIGZvbnQtbWVkaXVtIHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNpemUgPT09ICdMJ1wiIGNsYXNzPVwibWwtMiBmbGV4IHNwYWNlLXgtMlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZ2FuaXphdGlvbj8ud2Vic2l0ZVwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm9yZ2FuaXphdGlvbi53ZWJzaXRlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pckludGVybmV0XCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5lbWFpbFwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImNvbnRhY3RzWzBdLmVtYWlsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTWFpbHRvKCRldmVudCwgY29udGFjdHNbMF0uZW1haWwpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NvcHkgdG8gY2xpcGJvYXJkJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICAgIGRhdGEtY3k9XCJjb250YWN0LXBob25lXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKCRldmVudCwgY29udGFjdHNbMF0ucGhvbmUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRQaG9uZU91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmFkZHJlc3NcIiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdCByZWxhdGl2ZSBncm91cFwiXG4gICAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtcGhvbmVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0TG9jYXRpb25Pbk91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19