@dsivd/prestations-ng 15.5.13 → 16.0.0-beta1

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 (590) hide show
  1. package/CHANGELOG.md +666 -1
  2. package/CONTRIBUTING.md +32 -1
  3. package/ESLINT_MIGRATION_GUIDE.md +1 -1
  4. package/README.md +6 -0
  5. package/UPGRADING_V12.md +0 -15
  6. package/UPGRADING_V13.md +0 -15
  7. package/UPGRADING_V14.md +8 -26
  8. package/UPGRADING_V15.md +113 -0
  9. package/UPGRADING_V16.md +63 -0
  10. package/abstract-page-component.d.ts +8 -8
  11. package/directives/currency-formatter.directive.d.ts +4 -1
  12. package/directives/iban-formatter.directive.d.ts +1 -1
  13. package/directives/ide-formatter.directive.d.ts +1 -1
  14. package/directives/ndc-formatter.directive.d.ts +1 -1
  15. package/dsivd-prestations-ng-v16.0.0-beta1.tgz +0 -0
  16. package/esm2020/abstract-page-component.mjs +223 -0
  17. package/esm2020/directives/currency-formatter.directive.mjs +143 -0
  18. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +8 -8
  19. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +4 -4
  20. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +4 -4
  21. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +4 -4
  22. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  23. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +1 -1
  24. package/esm2020/foehn-address/foehn-address.module.mjs +55 -0
  25. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  26. package/esm2020/foehn-address/foehn-input-address.component.mjs +406 -0
  27. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  28. package/esm2020/foehn-address/foehn-input-foreign-street.component.mjs +55 -0
  29. package/esm2020/foehn-agenda/calendar.type.mjs +3 -0
  30. package/esm2020/foehn-agenda/current-week.type.mjs +4 -0
  31. package/esm2020/foehn-agenda/day-slots.type.mjs +3 -0
  32. package/esm2020/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +74 -0
  33. package/esm2020/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +242 -0
  34. package/esm2020/foehn-agenda/foehn-agenda.component.mjs +95 -0
  35. package/esm2020/foehn-agenda/foehn-agenda.module.mjs +62 -0
  36. package/esm2020/foehn-agenda/pagination-week.type.mjs +3 -0
  37. package/esm2020/foehn-agenda/selected-slot.type.mjs +3 -0
  38. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +608 -0
  39. package/esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs +40 -0
  40. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  41. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +40 -0
  42. package/esm2020/foehn-boolean/foehn-boolean.module.mjs +33 -0
  43. package/esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs +181 -0
  44. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  45. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs +80 -0
  46. package/esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs +19 -0
  47. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +298 -0
  48. package/esm2020/foehn-checkables/foehn-checkables.module.mjs +68 -0
  49. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +37 -0
  50. package/esm2020/foehn-checkables/foehn-radio.component.mjs +64 -0
  51. package/esm2020/foehn-checkables/foehn-select.component.mjs +53 -0
  52. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  53. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  54. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +1 -1
  55. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +40 -0
  56. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs +19 -0
  57. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +4 -4
  58. package/esm2020/foehn-date-picker/date-picker-navigation.helper.mjs +167 -0
  59. package/esm2020/foehn-date-picker/date-picker.helper.mjs +132 -0
  60. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  61. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  62. package/esm2020/foehn-date-picker/foehn-date-picker.component.mjs +387 -0
  63. package/esm2020/foehn-date-picker/foehn-date-picker.module.mjs +40 -0
  64. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  65. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +97 -0
  66. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs +36 -0
  67. package/esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs +67 -0
  68. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +7 -7
  69. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +37 -0
  70. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs +32 -0
  71. package/esm2020/foehn-footer/foehn-footer.component.mjs +130 -0
  72. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +6 -6
  73. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  74. package/esm2020/foehn-form/foehn-form.component.mjs +135 -0
  75. package/esm2020/foehn-form/foehn-form.module.mjs +32 -0
  76. package/esm2020/foehn-form/register-ng-model.service.mjs +23 -0
  77. package/esm2020/foehn-growl/foehn-growl.component.mjs +44 -0
  78. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +6 -6
  79. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +5 -5
  80. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +1 -1
  81. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  82. package/esm2020/foehn-header/foehn-header.component.mjs +68 -0
  83. package/esm2020/foehn-header/foehn-header.module.mjs +21 -0
  84. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  85. package/esm2020/foehn-help-modal/foehn-help-modal.component.mjs +44 -0
  86. package/esm2020/foehn-help-modal/foehn-help-modal.module.mjs +20 -0
  87. package/esm2020/foehn-help-modal/foehn-help-modal.type.mjs +2 -0
  88. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +5 -5
  89. package/esm2020/foehn-icons/foehn-icon-calendar.component.mjs +19 -0
  90. package/esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs +19 -0
  91. package/esm2020/foehn-icons/foehn-icon-check.component.mjs +19 -0
  92. package/esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs +19 -0
  93. package/esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs +19 -0
  94. package/esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs +19 -0
  95. package/esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs +19 -0
  96. package/esm2020/foehn-icons/foehn-icon-clock.component.mjs +19 -0
  97. package/esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs +19 -0
  98. package/esm2020/foehn-icons/foehn-icon-edit.component.mjs +19 -0
  99. package/esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs +19 -0
  100. package/esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs +19 -0
  101. package/esm2020/foehn-icons/foehn-icon-info-circle.component.mjs +19 -0
  102. package/esm2020/foehn-icons/foehn-icon-lock.component.mjs +19 -0
  103. package/esm2020/foehn-icons/foehn-icon-map-marker.component.mjs +19 -0
  104. package/esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs +19 -0
  105. package/esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs +19 -0
  106. package/esm2020/foehn-icons/foehn-icon-plus-square.component.mjs +19 -0
  107. package/esm2020/foehn-icons/foehn-icon-search.component.mjs +19 -0
  108. package/esm2020/foehn-icons/foehn-icon-times.component.mjs +19 -0
  109. package/esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs +19 -0
  110. package/esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs +19 -0
  111. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +20 -20
  112. package/esm2020/foehn-input/foehn-input-email.component.mjs +59 -0
  113. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +55 -0
  114. package/esm2020/foehn-input/foehn-input-number.component.mjs +276 -0
  115. package/esm2020/foehn-input/foehn-input-password.component.mjs +52 -0
  116. package/esm2020/foehn-input/foehn-input-phone.component.mjs +92 -0
  117. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +5 -5
  118. package/esm2020/foehn-input/foehn-input-text.component.mjs +76 -0
  119. package/esm2020/foehn-input/foehn-input-textarea.component.mjs +109 -0
  120. package/esm2020/foehn-input/foehn-input.component.mjs +390 -0
  121. package/esm2020/foehn-input/foehn-input.module.mjs +93 -0
  122. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  123. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +118 -0
  124. package/esm2020/foehn-input-date-time/foehn-input-date-time.component.mjs +143 -0
  125. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +74 -0
  126. package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
  127. package/esm2020/foehn-list/foehn-list.module.mjs +19 -0
  128. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  129. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  130. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +4 -4
  131. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +4 -4
  132. package/esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +23 -0
  133. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  134. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  135. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  136. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  137. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +51 -0
  138. package/esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs +59 -0
  139. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  140. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +5 -5
  141. package/esm2020/foehn-modal/foehn-modal.component.mjs +94 -0
  142. package/esm2020/foehn-modal/foehn-modal.module.mjs +21 -0
  143. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +268 -0
  144. package/esm2020/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +40 -0
  145. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +114 -0
  146. package/esm2020/foehn-nav13/foehn-input-nav13.module.mjs +32 -0
  147. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  148. package/esm2020/foehn-navigation/foehn-navigation.module.mjs +32 -0
  149. package/esm2020/foehn-navigation/foehn-navigation.service.mjs +303 -0
  150. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +7 -10
  151. package/esm2020/foehn-notfound/foehn-notfound.module.mjs +20 -0
  152. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  153. package/esm2020/foehn-page/foehn-page-modal.component.mjs +53 -0
  154. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +4 -4
  155. package/esm2020/foehn-page/foehn-page.component.mjs +218 -0
  156. package/esm2020/foehn-page/foehn-page.module.mjs +78 -0
  157. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
  158. package/esm2020/foehn-recap-section/foehn-recap-section.component.mjs +88 -0
  159. package/esm2020/foehn-recap-section/foehn-recap-section.module.mjs +20 -0
  160. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  161. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  162. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +6 -6
  163. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +56 -0
  164. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +20 -0
  165. package/esm2020/foehn-table/foehn-table-column-configuration.mjs +3 -0
  166. package/esm2020/foehn-table/foehn-table-page-change-event.mjs +3 -0
  167. package/esm2020/foehn-table/foehn-table.component.mjs +148 -0
  168. package/esm2020/foehn-table/foehn-table.module.mjs +32 -0
  169. package/esm2020/foehn-table/tableSort.mjs +3 -0
  170. package/esm2020/foehn-upload/abstract-foehn-uploader.component.mjs +192 -0
  171. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  172. package/esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +71 -0
  173. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  174. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +174 -0
  175. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +40 -0
  176. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +224 -0
  177. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +40 -0
  178. package/esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +83 -0
  179. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  180. package/esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +158 -0
  181. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +202 -0
  182. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +44 -0
  183. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +75 -0
  184. package/esm2020/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +21 -0
  185. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +62 -0
  186. package/esm2020/foehn-upload/foehn-upload-progress-bar/upload-progress.type.mjs +3 -0
  187. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +1 -1
  188. package/esm2020/foehn-upload/uploader.helper.mjs +327 -0
  189. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  190. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +6 -6
  191. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +96 -0
  192. package/esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +19 -0
  193. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
  194. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +6 -6
  195. package/esm2020/form-error.mjs +2 -0
  196. package/esm2020/form-post-response.mjs +10 -0
  197. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +4 -4
  198. package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
  199. package/esm2020/gesdem/gesdem-handler.service.mjs +160 -0
  200. package/esm2020/gesdem/gesdem-loader.guard.mjs +41 -0
  201. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  202. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +101 -0
  203. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +130 -0
  204. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs +50 -0
  205. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
  206. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  207. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +201 -0
  208. package/esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs +32 -0
  209. package/esm2020/gesdem-error/gesdem-error.component.mjs +87 -0
  210. package/esm2020/gesdem-error/gesdem-error.module.mjs +36 -0
  211. package/esm2020/global.const.mjs +5 -0
  212. package/esm2020/helpers/object.helper.mjs +89 -0
  213. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  214. package/esm2020/index.mjs +263 -0
  215. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +4 -4
  216. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +4 -4
  217. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  218. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +7 -7
  219. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +7 -7
  220. package/esm2020/refinf/model/address-type-light.mjs +3 -0
  221. package/esm2020/refinf/model/canton.mjs +3 -0
  222. package/esm2020/refinf/model/district.mjs +3 -0
  223. package/esm2020/refinf/model/municipality.mjs +3 -0
  224. package/esm2020/refinf/model/place-of-origin.mjs +3 -0
  225. package/esm2020/refinf/model/postal-locality.mjs +3 -0
  226. package/esm2020/sdk-appinfo/application-info.mjs +14 -0
  227. package/esm2020/sdk-appinfo/application-info.service.mjs +104 -0
  228. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  229. package/esm2020/sdk-date/date.helper.mjs +100 -0
  230. package/esm2020/sdk-dictionary/default-dictionary.mjs +166 -0
  231. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +5 -5
  232. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +6 -6
  233. package/esm2020/sdk-dictionary/sdk-dictionary.service.mjs +111 -0
  234. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  235. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +81 -0
  236. package/esm2020/sdk-epayment/sdk-epayment.module.mjs +21 -0
  237. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +52 -0
  238. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +6 -10
  239. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
  240. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +69 -0
  241. package/esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs +19 -0
  242. package/esm2020/sdk-redirect/iam-expired-interceptor.service.mjs +58 -0
  243. package/esm2020/sdk-redirect/redirect.component.mjs +35 -0
  244. package/esm2020/sdk-redirect/sdk-redirect.module.mjs +19 -0
  245. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
  246. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +5 -5
  247. package/esm2020/sdk-session-info/session-info.service.mjs +50 -0
  248. package/esm2020/sdk-statistics/sdk-statistics.service.mjs +70 -0
  249. package/esm2020/sdk-support-alert/support-alert-container.component.mjs +49 -0
  250. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  251. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  252. package/esm2020/sdk-support-alert/support-alert.module.mjs +21 -0
  253. package/esm2020/sdk-support-alert/support-alert.service.mjs +117 -0
  254. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  255. package/esm2020/supported-browser.mjs +2 -0
  256. package/esm2020/validation/validation-handler.service.mjs +44 -0
  257. package/fesm2015/dsivd-prestations-ng.mjs +13397 -0
  258. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  259. package/fesm2020/dsivd-prestations-ng.mjs +13372 -0
  260. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  261. package/foehn-address/address.type.d.ts +3 -3
  262. package/foehn-address/foehn-display-address.component.d.ts +1 -1
  263. package/foehn-address/foehn-input-address.component.d.ts +18 -8
  264. package/foehn-address/foehn-input-foreign-locality.component.d.ts +1 -1
  265. package/foehn-address/foehn-input-foreign-street.component.d.ts +1 -1
  266. package/foehn-agenda/calendar.type.d.ts +9 -0
  267. package/foehn-agenda/current-week.type.d.ts +5 -0
  268. package/foehn-agenda/day-slots.type.d.ts +5 -0
  269. package/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.d.ts +21 -0
  270. package/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.d.ts +51 -0
  271. package/foehn-agenda/foehn-agenda.component.d.ts +29 -0
  272. package/foehn-agenda/foehn-agenda.module.d.ts +17 -0
  273. package/foehn-agenda/pagination-week.type.d.ts +5 -0
  274. package/foehn-agenda/selected-slot.type.d.ts +7 -0
  275. package/foehn-autocomplete/foehn-autocomplete.component.d.ts +22 -6
  276. package/foehn-boolean/foehn-boolean-checkbox.component.d.ts +1 -1
  277. package/foehn-boolean/foehn-boolean-radio.component.d.ts +2 -1
  278. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  279. package/foehn-breadcrumb/foehn-breadcrumb.component.d.ts +6 -5
  280. package/foehn-checkables/foehn-checkable-group.component.d.ts +8 -8
  281. package/foehn-checkables/foehn-checkables.module.d.ts +3 -1
  282. package/foehn-checkables/foehn-checkbox.component.d.ts +1 -1
  283. package/foehn-checkables/foehn-radio.component.d.ts +1 -1
  284. package/foehn-checkables/foehn-select.component.d.ts +2 -10
  285. package/foehn-confirm-modal/foehn-confirm-modal-content.d.ts +1 -0
  286. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +2 -2
  287. package/foehn-date-picker/date-picker-navigation.helper.d.ts +7 -1
  288. package/foehn-date-picker/date-picker.helper.d.ts +3 -2
  289. package/foehn-date-picker/foehn-date-picker.component.d.ts +21 -10
  290. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +13 -5
  291. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +7 -5
  292. package/foehn-decision-electronique/foehn-decision-electronique.component.d.ts +2 -2
  293. package/foehn-decision-electronique/foehn-decision-electronique.module.d.ts +2 -1
  294. package/foehn-footer/foehn-footer.component.d.ts +4 -4
  295. package/foehn-form/foehn-form.component.d.ts +7 -4
  296. package/foehn-form/register-ng-model.service.d.ts +9 -0
  297. package/foehn-growl/foehn-growl.component.d.ts +3 -3
  298. package/foehn-growl/growl-broker.service.d.ts +1 -1
  299. package/foehn-header/foehn-header.component.d.ts +7 -7
  300. package/foehn-header/foehn-skip-link.component.d.ts +2 -2
  301. package/foehn-help-modal/foehn-help-modal.component.d.ts +1 -1
  302. package/foehn-help-modal/foehn-help-modal.type.d.ts +4 -0
  303. package/foehn-icons/abstract-icon-component.d.ts +1 -1
  304. package/foehn-icons/foehn-icon-calendar.component.d.ts +1 -1
  305. package/foehn-icons/foehn-icon-check-square-o.component.d.ts +1 -1
  306. package/foehn-icons/foehn-icon-check.component.d.ts +1 -1
  307. package/foehn-icons/foehn-icon-chevron-down.component.d.ts +1 -1
  308. package/foehn-icons/foehn-icon-chevron-left.component.d.ts +1 -1
  309. package/foehn-icons/foehn-icon-chevron-right.component.d.ts +1 -1
  310. package/foehn-icons/foehn-icon-chevron-up.component.d.ts +1 -1
  311. package/foehn-icons/foehn-icon-clock.component.d.ts +1 -1
  312. package/foehn-icons/foehn-icon-comment-dots.component.d.ts +1 -1
  313. package/foehn-icons/foehn-icon-edit.component.d.ts +1 -1
  314. package/foehn-icons/foehn-icon-external-link-alt.component.d.ts +1 -1
  315. package/foehn-icons/foehn-icon-file-pdf.component.d.ts +1 -1
  316. package/foehn-icons/foehn-icon-info-circle.component.d.ts +1 -1
  317. package/foehn-icons/foehn-icon-lock.component.d.ts +1 -1
  318. package/foehn-icons/foehn-icon-map-marker.component.d.ts +1 -1
  319. package/foehn-icons/foehn-icon-minus-circle.component.d.ts +1 -1
  320. package/foehn-icons/foehn-icon-plus-circle.component.d.ts +1 -1
  321. package/foehn-icons/foehn-icon-plus-square.component.d.ts +1 -1
  322. package/foehn-icons/foehn-icon-search.component.d.ts +1 -1
  323. package/foehn-icons/foehn-icon-times.component.d.ts +1 -1
  324. package/foehn-icons/foehn-icon-trash-alt.component.d.ts +1 -1
  325. package/foehn-icons/foehn-icon-unlock-alt.component.d.ts +1 -1
  326. package/foehn-input/foehn-input-email.component.d.ts +4 -2
  327. package/foehn-input/foehn-input-hidden.component.d.ts +1 -1
  328. package/foehn-input/foehn-input-number.component.d.ts +16 -6
  329. package/foehn-input/foehn-input-password.component.d.ts +1 -1
  330. package/foehn-input/foehn-input-phone.component.d.ts +1 -1
  331. package/foehn-input/foehn-input-string.component.d.ts +1 -1
  332. package/foehn-input/foehn-input-text.component.d.ts +1 -1
  333. package/foehn-input/foehn-input-textarea.component.d.ts +5 -2
  334. package/foehn-input/foehn-input.component.d.ts +25 -9
  335. package/foehn-input/foehn-input.module.d.ts +9 -6
  336. package/foehn-input-date/foehn-input-date.component.d.ts +10 -3
  337. package/foehn-input-date-time/foehn-input-date-time.component.d.ts +29 -0
  338. package/foehn-input-time/foehn-input-time.component.d.ts +1 -1
  339. package/foehn-list/foehn-list.component.d.ts +2 -3
  340. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +5 -5
  341. package/foehn-menu-prestation/abstract-menu-page.component.d.ts +1 -1
  342. package/foehn-menu-prestation/abstract-page-from-menu.component.d.ts +1 -1
  343. package/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.d.ts +1 -1
  344. package/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.d.ts +3 -3
  345. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.d.ts +1 -1
  346. package/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.d.ts +2 -2
  347. package/foehn-misc/foehn-abbr.component.d.ts +1 -1
  348. package/foehn-modal/foehn-modal.component.d.ts +2 -3
  349. package/foehn-modal/foehn-modal.module.d.ts +3 -1
  350. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.d.ts +51 -0
  351. package/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.d.ts +13 -0
  352. package/foehn-nav13/foehn-input-nav13.component.d.ts +2 -1
  353. package/foehn-navigation/foehn-navigation.component.d.ts +2 -2
  354. package/foehn-navigation/foehn-navigation.service.d.ts +4 -3
  355. package/foehn-notfound/foehn-notfound.component.d.ts +1 -1
  356. package/foehn-page/foehn-page-counter.component.d.ts +1 -1
  357. package/foehn-page/foehn-page-modal.component.d.ts +1 -1
  358. package/foehn-page/foehn-page-modal.service.d.ts +1 -1
  359. package/foehn-page/foehn-page.component.d.ts +15 -12
  360. package/foehn-page/foehn-page.module.d.ts +2 -1
  361. package/foehn-page/foehn-page.service.d.ts +2 -2
  362. package/foehn-recap-section/foehn-recap-section.component.d.ts +3 -1
  363. package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.d.ts +1 -1
  364. package/foehn-status-progress-bar/foehn-status-progress-bar.component.d.ts +23 -0
  365. package/foehn-status-progress-bar/foehn-status-progress-bar.module.d.ts +10 -0
  366. package/foehn-table/foehn-table-column-configuration.d.ts +18 -0
  367. package/foehn-table/foehn-table-page-change-event.d.ts +5 -0
  368. package/foehn-table/foehn-table.component.d.ts +33 -0
  369. package/foehn-table/foehn-table.module.d.ts +11 -0
  370. package/foehn-table/tableSort.d.ts +4 -0
  371. package/foehn-upload/abstract-foehn-uploader.component.d.ts +7 -7
  372. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +6 -4
  373. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +6 -5
  374. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.d.ts +2 -1
  375. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +9 -8
  376. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.d.ts +2 -1
  377. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +6 -4
  378. package/foehn-upload/foehn-multi-upload/pending-upload.service.d.ts +3 -3
  379. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +7 -4
  380. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.d.ts +2 -1
  381. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.d.ts +19 -0
  382. package/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.d.ts +11 -0
  383. package/foehn-upload/foehn-upload-progress-bar/upload-progress.service.d.ts +19 -0
  384. package/foehn-upload/foehn-upload-progress-bar/upload-progress.type.d.ts +4 -0
  385. package/foehn-upload/pending-upload.type.d.ts +1 -0
  386. package/foehn-upload/uploader.helper.d.ts +13 -13
  387. package/foehn-user-connected-as/foehn-user-connected-as.component.d.ts +2 -2
  388. package/foehn-validation-alert-summary/foehn-validation-alert-summary.component.d.ts +2 -2
  389. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +4 -4
  390. package/{error-template.d.ts → form-error.d.ts} +1 -1
  391. package/form-post-response.d.ts +17 -0
  392. package/gesdem/gesdem-error-handler.service.d.ts +2 -2
  393. package/gesdem/gesdem-event.service.d.ts +7 -7
  394. package/gesdem/gesdem-handler.service.d.ts +8 -6
  395. package/gesdem/gesdem-loader.guard.d.ts +1 -1
  396. package/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.d.ts +5 -5
  397. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +7 -7
  398. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +3 -3
  399. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +10 -9
  400. package/gesdem-error/gesdem-error.component.d.ts +10 -3
  401. package/gesdem-error/gesdem-error.module.d.ts +2 -1
  402. package/global.const.d.ts +1 -0
  403. package/index.d.ts +102 -70
  404. package/package.json +34 -21
  405. package/pipes/currency.pipe.d.ts +1 -1
  406. package/pipes/date.pipe.d.ts +1 -1
  407. package/pipes/formatIde.pipe.d.ts +1 -1
  408. package/refinf/model/address-type-light.d.ts +5 -0
  409. package/refinf/model/canton.d.ts +4 -0
  410. package/refinf/model/district.d.ts +7 -0
  411. package/refinf/model/municipality.d.ts +8 -0
  412. package/refinf/model/place-of-origin.d.ts +9 -0
  413. package/refinf/model/postal-locality.d.ts +11 -0
  414. package/schematics/ng-add/index.js +10 -10
  415. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  416. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  417. package/schematics/ng-update/migrations/update-13_5_1/index.js +3 -3
  418. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  419. package/schematics/update-karma-config/index.js +2 -2
  420. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  421. package/sdk-appinfo/application-info.d.ts +1 -0
  422. package/sdk-appinfo/application-info.service.d.ts +4 -4
  423. package/sdk-dictionary/sdk-dictionary.pipe.d.ts +1 -1
  424. package/sdk-dictionary/sdk-dictionary.service.d.ts +9 -0
  425. package/sdk-epayment/sdk-epayment.component.d.ts +6 -16
  426. package/sdk-epayment/sdk-epayment.service.d.ts +3 -6
  427. package/sdk-recaptcha/grecaptcha/grecaptcha.component.d.ts +2 -2
  428. package/sdk-recaptcha/recaptcha.service.d.ts +5 -5
  429. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +4 -4
  430. package/sdk-redirect/iam-expired-interceptor.service.d.ts +3 -3
  431. package/sdk-redirect/redirect.component.d.ts +3 -9
  432. package/sdk-session-info/session-info-data.d.ts +0 -1
  433. package/sdk-session-info/session-info.service.d.ts +4 -4
  434. package/sdk-statistics/sdk-statistics.service.d.ts +22 -0
  435. package/sdk-support-alert/support-alert-container.component.d.ts +3 -3
  436. package/sdk-support-alert/support-alert.component.d.ts +1 -1
  437. package/sdk-support-alert/support-alert.service.d.ts +5 -4
  438. package/validation/validation-handler.service.d.ts +4 -4
  439. package/backend-response.d.ts +0 -18
  440. package/bundles/dsivd-prestations-ng.umd.js +0 -13188
  441. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  442. package/dsivd-prestations-ng-v15.5.13.tgz +0 -0
  443. package/dsivd-prestations-ng.d.ts +0 -5
  444. package/esm2015/abstract-page-component.js +0 -224
  445. package/esm2015/backend-response.js +0 -10
  446. package/esm2015/directives/currency-formatter.directive.js +0 -116
  447. package/esm2015/error-template.js +0 -2
  448. package/esm2015/foehn-address/foehn-address.module.js +0 -57
  449. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  450. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  451. package/esm2015/foehn-address/foehn-input-foreign-street.component.js +0 -60
  452. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  453. package/esm2015/foehn-autocomplete/foehn-autocomplete.module.js +0 -42
  454. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  455. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  456. package/esm2015/foehn-boolean/foehn-boolean.module.js +0 -35
  457. package/esm2015/foehn-breadcrumb/breadcrumb-event.service.js +0 -182
  458. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js +0 -85
  459. package/esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js +0 -19
  460. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  461. package/esm2015/foehn-checkables/foehn-checkables.module.js +0 -62
  462. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  463. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  464. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  465. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  466. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js +0 -19
  467. package/esm2015/foehn-date-picker/date-picker-navigation.helper.js +0 -117
  468. package/esm2015/foehn-date-picker/date-picker.helper.js +0 -126
  469. package/esm2015/foehn-date-picker/foehn-date-picker.component.js +0 -300
  470. package/esm2015/foehn-date-picker/foehn-date-picker.module.js +0 -42
  471. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  472. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js +0 -38
  473. package/esm2015/foehn-debug-summary/foehn-debug-summary.component.js +0 -61
  474. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  475. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js +0 -20
  476. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  477. package/esm2015/foehn-form/foehn-form.component.js +0 -146
  478. package/esm2015/foehn-form/foehn-form.module.js +0 -20
  479. package/esm2015/foehn-growl/foehn-growl.component.js +0 -47
  480. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  481. package/esm2015/foehn-header/foehn-header.module.js +0 -21
  482. package/esm2015/foehn-help-modal/foehn-help-modal.component.js +0 -48
  483. package/esm2015/foehn-help-modal/foehn-help-modal.module.js +0 -20
  484. package/esm2015/foehn-help-modal/foehn-help-modal.type.js +0 -2
  485. package/esm2015/foehn-icons/foehn-icon-calendar.component.js +0 -22
  486. package/esm2015/foehn-icons/foehn-icon-check-square-o.component.js +0 -22
  487. package/esm2015/foehn-icons/foehn-icon-check.component.js +0 -22
  488. package/esm2015/foehn-icons/foehn-icon-chevron-down.component.js +0 -22
  489. package/esm2015/foehn-icons/foehn-icon-chevron-left.component.js +0 -22
  490. package/esm2015/foehn-icons/foehn-icon-chevron-right.component.js +0 -22
  491. package/esm2015/foehn-icons/foehn-icon-chevron-up.component.js +0 -22
  492. package/esm2015/foehn-icons/foehn-icon-clock.component.js +0 -22
  493. package/esm2015/foehn-icons/foehn-icon-comment-dots.component.js +0 -22
  494. package/esm2015/foehn-icons/foehn-icon-edit.component.js +0 -22
  495. package/esm2015/foehn-icons/foehn-icon-external-link-alt.component.js +0 -22
  496. package/esm2015/foehn-icons/foehn-icon-file-pdf.component.js +0 -22
  497. package/esm2015/foehn-icons/foehn-icon-info-circle.component.js +0 -22
  498. package/esm2015/foehn-icons/foehn-icon-lock.component.js +0 -22
  499. package/esm2015/foehn-icons/foehn-icon-map-marker.component.js +0 -22
  500. package/esm2015/foehn-icons/foehn-icon-minus-circle.component.js +0 -22
  501. package/esm2015/foehn-icons/foehn-icon-plus-circle.component.js +0 -22
  502. package/esm2015/foehn-icons/foehn-icon-plus-square.component.js +0 -22
  503. package/esm2015/foehn-icons/foehn-icon-search.component.js +0 -22
  504. package/esm2015/foehn-icons/foehn-icon-times.component.js +0 -22
  505. package/esm2015/foehn-icons/foehn-icon-trash-alt.component.js +0 -22
  506. package/esm2015/foehn-icons/foehn-icon-unlock-alt.component.js +0 -22
  507. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  508. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  509. package/esm2015/foehn-input/foehn-input-number.component.js +0 -190
  510. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  511. package/esm2015/foehn-input/foehn-input-phone.component.js +0 -96
  512. package/esm2015/foehn-input/foehn-input-text.component.js +0 -80
  513. package/esm2015/foehn-input/foehn-input-textarea.component.js +0 -104
  514. package/esm2015/foehn-input/foehn-input.component.js +0 -364
  515. package/esm2015/foehn-input/foehn-input.module.js +0 -82
  516. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  517. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  518. package/esm2015/foehn-list/foehn-list.component.js +0 -135
  519. package/esm2015/foehn-list/foehn-list.module.js +0 -19
  520. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  521. package/esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js +0 -26
  522. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  523. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  524. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js +0 -54
  525. package/esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js +0 -61
  526. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  527. package/esm2015/foehn-modal/foehn-modal.module.js +0 -19
  528. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  529. package/esm2015/foehn-nav13/foehn-input-nav13.module.js +0 -34
  530. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  531. package/esm2015/foehn-navigation/foehn-navigation.module.js +0 -34
  532. package/esm2015/foehn-navigation/foehn-navigation.service.js +0 -297
  533. package/esm2015/foehn-notfound/foehn-notfound.module.js +0 -20
  534. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  535. package/esm2015/foehn-page/foehn-page.component.js +0 -214
  536. package/esm2015/foehn-page/foehn-page.module.js +0 -76
  537. package/esm2015/foehn-recap-section/foehn-recap-section.component.js +0 -88
  538. package/esm2015/foehn-recap-section/foehn-recap-section.module.js +0 -20
  539. package/esm2015/foehn-upload/abstract-foehn-uploader.component.js +0 -192
  540. package/esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js +0 -62
  541. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -168
  542. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js +0 -38
  543. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -217
  544. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js +0 -38
  545. package/esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js +0 -76
  546. package/esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js +0 -157
  547. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -164
  548. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js +0 -42
  549. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  550. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js +0 -88
  551. package/esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js +0 -19
  552. package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
  553. package/esm2015/gesdem/gesdem-event.service.js +0 -38
  554. package/esm2015/gesdem/gesdem-handler.service.js +0 -151
  555. package/esm2015/gesdem/gesdem-loader.guard.js +0 -40
  556. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js +0 -103
  557. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  558. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js +0 -52
  559. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
  560. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  561. package/esm2015/gesdem-confirmation/gesdem-confirmation.module.js +0 -34
  562. package/esm2015/gesdem-error/gesdem-error.component.js +0 -70
  563. package/esm2015/gesdem-error/gesdem-error.module.js +0 -34
  564. package/esm2015/helpers/object.helper.js +0 -88
  565. package/esm2015/index.js +0 -224
  566. package/esm2015/sdk-appinfo/application-info.js +0 -14
  567. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  568. package/esm2015/sdk-date/date.helper.js +0 -90
  569. package/esm2015/sdk-dictionary/default-dictionary.js +0 -80
  570. package/esm2015/sdk-dictionary/sdk-dictionary.service.js +0 -96
  571. package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
  572. package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
  573. package/esm2015/sdk-epayment/sdk-epayment.module.js +0 -21
  574. package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
  575. package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
  576. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  577. package/esm2015/sdk-recaptcha/sdk-recaptcha.module.js +0 -19
  578. package/esm2015/sdk-redirect/iam-expired-interceptor.service.js +0 -48
  579. package/esm2015/sdk-redirect/redirect.component.js +0 -47
  580. package/esm2015/sdk-redirect/sdk-redirect.module.js +0 -19
  581. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  582. package/esm2015/sdk-support-alert/support-alert-container.component.js +0 -53
  583. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  584. package/esm2015/sdk-support-alert/support-alert.module.js +0 -21
  585. package/esm2015/sdk-support-alert/support-alert.service.js +0 -113
  586. package/esm2015/supported-browser.js +0 -2
  587. package/esm2015/validation/validation-handler.service.js +0 -44
  588. package/fesm2015/dsivd-prestations-ng.js +0 -11618
  589. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
  590. package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
@@ -0,0 +1,327 @@
1
+ import { DocumentReferenceWithFile } from './document-reference';
2
+ export class UploaderHelper {
3
+ constructor(dictionaryService, applicationInfoService) {
4
+ this.dictionaryService = dictionaryService;
5
+ this.applicationInfoService = applicationInfoService;
6
+ this._accept = '.pdf';
7
+ this._maxSizeInMo = 1;
8
+ this._maxFileNameLength = 64;
9
+ this._illegalCharacters = '/,\\,?,%,*,:,|,",<,>,°';
10
+ this._fileMinSizeInBytes = 20;
11
+ this.CHAR_TO_REPLACE = new RegExp('[^a-zA-Z0-9]', 'g');
12
+ this.applicationInfoService.data.subscribe((appInfo) => {
13
+ if (appInfo.configuration.document) {
14
+ this.accept = appInfo.configuration.document.fileExtensions;
15
+ this.maxFileNameLength = Number(appInfo.configuration.document.maxFileNameLength);
16
+ this.maxSizeInMo = Number(appInfo.configuration.document.maxFileSizeInMo);
17
+ this.illegalCharacters =
18
+ appInfo.configuration.document.illegalCharacters;
19
+ }
20
+ });
21
+ }
22
+ get fileMinSizeInBytes() {
23
+ return this._fileMinSizeInBytes;
24
+ }
25
+ set fileMinSizeInBytes(value) {
26
+ this._fileMinSizeInBytes = value;
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/member-ordering
29
+ get illegalCharacters() {
30
+ return this._illegalCharacters;
31
+ }
32
+ set illegalCharacters(value) {
33
+ this._illegalCharacters = value;
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/member-ordering
36
+ get maxFileNameLength() {
37
+ return this._maxFileNameLength;
38
+ }
39
+ set maxFileNameLength(value) {
40
+ this._maxFileNameLength = value;
41
+ }
42
+ // eslint-disable-next-line @typescript-eslint/member-ordering
43
+ get maxSizeInMo() {
44
+ return this._maxSizeInMo;
45
+ }
46
+ set maxSizeInMo(value) {
47
+ this._maxSizeInMo = value;
48
+ }
49
+ // eslint-disable-next-line @typescript-eslint/member-ordering
50
+ get accept() {
51
+ return this._accept;
52
+ }
53
+ set accept(value) {
54
+ this._accept = value;
55
+ }
56
+ isFileTooBig(fileSizeInBytes, overrideMaxSizeInMo) {
57
+ if (!!overrideMaxSizeInMo) {
58
+ return this.isTooBig(fileSizeInBytes, overrideMaxSizeInMo);
59
+ }
60
+ if (!this.maxSizeInMo) {
61
+ return false;
62
+ }
63
+ return this.isTooBig(fileSizeInBytes, this.maxSizeInMo);
64
+ }
65
+ isFileTooSmall(fileSizeInBytes) {
66
+ if (!this.fileMinSizeInBytes) {
67
+ return false;
68
+ }
69
+ return fileSizeInBytes < this.fileMinSizeInBytes;
70
+ }
71
+ isFileNameLengthValid(filename, overrideMaxFileNameLength) {
72
+ const maxFileLenght = !!overrideMaxFileNameLength
73
+ ? overrideMaxFileNameLength
74
+ : this.maxFileNameLength;
75
+ return filename.length <= maxFileLenght;
76
+ }
77
+ isFileNameNameValid(filename, overrideIllegalCharacters) {
78
+ const illegalCharacters = !!overrideIllegalCharacters
79
+ ? overrideIllegalCharacters.split(',')
80
+ : this.illegalCharacters.split(',');
81
+ let isValid = true;
82
+ for (const illegalCharacter of illegalCharacters) {
83
+ if (filename.includes(illegalCharacter)) {
84
+ isValid = false;
85
+ break;
86
+ }
87
+ }
88
+ return isValid;
89
+ }
90
+ getFileExtension(filename) {
91
+ return `.${filename.split('.').pop()}`;
92
+ }
93
+ isFileExtensionValid(fileExtension, overrideAcceptedExtensions) {
94
+ const acceptedExtensions = !!overrideAcceptedExtensions
95
+ ? overrideAcceptedExtensions
96
+ : this.accept;
97
+ return (!!fileExtension &&
98
+ acceptedExtensions
99
+ .toUpperCase()
100
+ .split(',')
101
+ .includes(fileExtension.toUpperCase()));
102
+ }
103
+ getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
104
+ const uniqSuffix = new Date().getTime();
105
+ return {
106
+ name,
107
+ code: `${errorCode}_${uniqSuffix}`,
108
+ message: this.replaceErrorMessageKeys(customErrors[errorCode], fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters)
109
+ };
110
+ }
111
+ addCustomErrorOrDefault(name, destinationErrors, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
112
+ // Check if we have a custom error to manage
113
+ if (customErrors[errorCode]) {
114
+ // Need to create unique error to ensure ability to display multiple error messages
115
+ destinationErrors.push(this.getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
116
+ }
117
+ else {
118
+ destinationErrors.push({
119
+ name,
120
+ code: errorCode,
121
+ message: this.getDefaultUnknownErrorMessage(fileName)
122
+ });
123
+ }
124
+ }
125
+ createDefaultCustomErrors(customErrors) {
126
+ customErrors.IMAGE_NOT_READABLE = this.dictionaryService.getKeySync('errors.IMAGE_NOT_READABLE');
127
+ customErrors.FILENAME_TOO_LONG = this.dictionaryService.getKeySync('errors.FILENAME_TOO_LONG');
128
+ customErrors.FILE_TOO_SMALL = this.dictionaryService.getKeySync('errors.FILE_TOO_SMALL');
129
+ customErrors.PDF_PASSWORD_LOCKED = this.dictionaryService.getKeySync('errors.PDF_PASSWORD_LOCKED');
130
+ customErrors.PDF_CONTAINS_SCRIPT = this.dictionaryService.getKeySync('errors.PDF_CONTAINS_SCRIPT');
131
+ customErrors.PDF_HAS_ATTACHMENTS = this.dictionaryService.getKeySync('errors.PDF_HAS_ATTACHMENTS');
132
+ customErrors.EMPTY_PDF = this.dictionaryService.getKeySync('errors.EMPTY_PDF');
133
+ customErrors.PDF_GENERAL_PROBLEM = this.dictionaryService.getKeySync('errors.PDF_GENERAL_PROBLEM');
134
+ customErrors.PDF_HAS_RESTRICTIONS = this.dictionaryService.getKeySync('errors.PDF_HAS_RESTRICTIONS');
135
+ customErrors.FILENAME_SHOULD_NOT_CONTAIN = this.dictionaryService.getKeySync('errors.FILENAME_SHOULD_NOT_CONTAIN');
136
+ customErrors['406'] = this.dictionaryService.getKeySync('errors.406');
137
+ customErrors['413'] = this.dictionaryService.getKeySync('errors.413');
138
+ customErrors['415'] = this.dictionaryService.getKeySync('errors.415');
139
+ customErrors['422'] = this.dictionaryService.getKeySync('errors.422');
140
+ customErrors['500'] = this.dictionaryService.getKeySync('errors.500');
141
+ // MultiPartException from Zuul returns HTTP 0
142
+ customErrors['0'] = customErrors['413'];
143
+ }
144
+ getLocalErrors(name, files, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
145
+ const errors = [];
146
+ files.forEach(file => {
147
+ // File bad extension
148
+ const fileExtension = this.getFileExtension(file.name);
149
+ if (!this.isFileExtensionValid(fileExtension, overrideAcceptedExtensions)) {
150
+ // Default custom error 415 exist (see function 'createDefaultCustomErrors')
151
+ // Need to create unique error to ensure ability to display multiple error messages
152
+ errors.push(this.getUniqueErrorByCode(name, '415', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
153
+ }
154
+ // File name contains illegal characters
155
+ if (!this.isFileNameNameValid(file.name, overrideIllegalCharacters)) {
156
+ // Default custom error FILENAME_SHOULD_NOT_CONTAIN exist (see function 'createDefaultCustomErrors')
157
+ // Need to create unique error to ensure ability to display multiple error messages
158
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_SHOULD_NOT_CONTAIN', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
159
+ }
160
+ // Files too big
161
+ if (this.isFileTooBig(file.size, overrideMaxSizeInMo)) {
162
+ // Default custom error 413 exist (see function 'createDefaultCustomErrors')
163
+ // Need to create unique error to ensure ability to display multiple error messages
164
+ errors.push(this.getUniqueErrorByCode(name, '413', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
165
+ }
166
+ if (this.isFileTooSmall(file.size)) {
167
+ // Default custom error FILE_TOO_SMALL exist (see function 'createDefaultCustomErrors')
168
+ // Need to create unique error to ensure ability to display multiple error messages
169
+ errors.push(this.getUniqueErrorByCode(name, 'FILE_TOO_SMALL', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
170
+ }
171
+ // File name too long (64 chars max)
172
+ if (!this.isFileNameLengthValid(file.name, overrideMaxFileNameLength)) {
173
+ // Default custom error FILENAME_TOO_LONG exist (see function 'createDefaultCustomErrors')
174
+ // Need to create unique error to ensure ability to display multiple error messages
175
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_TOO_LONG', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
176
+ }
177
+ });
178
+ return errors;
179
+ }
180
+ hasLiveUploadErrors(errors) {
181
+ return (!!errors &&
182
+ !!errors.find(e => e.code.startsWith('413') ||
183
+ e.code.startsWith('415') ||
184
+ e.code.startsWith('PDF_PASSWORD_LOCKED') ||
185
+ e.code.startsWith('PDF_CONTAINS_SCRIPT') ||
186
+ e.code.startsWith('PDF_HAS_ATTACHMENTS') ||
187
+ e.code.startsWith('EMPTY_PDF') ||
188
+ e.code.startsWith('PDF_GENERAL_PROBLEM') ||
189
+ e.code.startsWith('PDF_HAS_RESTRICTIONS') ||
190
+ e.code.startsWith('FILENAME_TOO_LONG') ||
191
+ e.code.startsWith('FILE_TOO_SMALL') ||
192
+ e.code.startsWith('FILENAME_SHOULD_NOT_CONTAIN')));
193
+ }
194
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
195
+ preventAndStop(event) {
196
+ event.preventDefault();
197
+ event.stopPropagation();
198
+ }
199
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
+ getAllFilesCount(data) {
201
+ if (!data) {
202
+ return null;
203
+ }
204
+ return `${data.length}`;
205
+ }
206
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
207
+ getAllFilesSizeInMo(data) {
208
+ if (!data) {
209
+ return null;
210
+ }
211
+ const fileSizeInBytes = data.reduce(
212
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
213
+ (totalDocSize, document) => {
214
+ if (document.hasOwnProperty('fileSize')) {
215
+ return totalDocSize + document.fileSize;
216
+ }
217
+ return totalDocSize + document.size;
218
+ }, 0);
219
+ return this.toMegaOctets(fileSizeInBytes);
220
+ }
221
+ toMegaOctets(size) {
222
+ return `${(size / (1024 * 1024)).toFixed(2)}`;
223
+ }
224
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
225
+ getTransfer(event) {
226
+ if (!!event.dataTransfer) {
227
+ return event.dataTransfer.files;
228
+ }
229
+ return null;
230
+ }
231
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
232
+ getGlobalInfos(data) {
233
+ return `${this.getAllFilesCount(data)} fichiers pour un total de ${this.getAllFilesSizeInMo(data)} <abbr title="Megaoctet">Mo</abbr>`;
234
+ }
235
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
236
+ showGlobalInfos(data, hideGlobalInfos) {
237
+ return !hideGlobalInfos && !!data && !!data.length && data.length > 1;
238
+ }
239
+ mapToDocumentReference(file, label, key, isMultiple, uniqPrefix, globalSequence) {
240
+ const document = new DocumentReferenceWithFile();
241
+ if (isMultiple) {
242
+ // Override key to ensures that GesDem can accept the document key (length of 64 char. max.)
243
+ key = `doc${uniqPrefix}${globalSequence}`;
244
+ document.key = this.normalizeKey(key);
245
+ }
246
+ document.key = key;
247
+ document.filename = file.name;
248
+ document.mimeType = file.type;
249
+ document.fileSize = file.size;
250
+ document.label = label;
251
+ document.file = file;
252
+ return document;
253
+ }
254
+ mapToFormData(documents, formKey, language) {
255
+ const formData = new FormData();
256
+ documents.forEach(({ file, key, label }) => {
257
+ formData.append('keys', key);
258
+ formData.append('labels', this.removeCommasInLabel(label));
259
+ formData.append('files', file, file.name);
260
+ });
261
+ formData.append('formKey', formKey);
262
+ formData.append('language', language);
263
+ return formData;
264
+ }
265
+ /**
266
+ * Commas are removed to avoid a wrong interpretation as an array of string in formData.
267
+ *
268
+ * @param label to be cleaned from comma
269
+ * @returns string
270
+ */
271
+ removeCommasInLabel(label) {
272
+ return label.split(',').join('');
273
+ }
274
+ isTooBig(fileSizeInBytes, limitInMo) {
275
+ return fileSizeInBytes / (1024 * 1024) > limitInMo;
276
+ }
277
+ replaceErrorMessageKeys(errorMsg, fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
278
+ const formattedErrorMsg = errorMsg.replace('%1$s', fileName);
279
+ if (errorCode.startsWith('413')) {
280
+ // REQUEST_ENTITY_TOO_LARGE_ERROR_MSG
281
+ const fileMaxSize = (overrideMaxSizeInMo
282
+ ? overrideMaxSizeInMo
283
+ : this.maxSizeInMo).toString();
284
+ return formattedErrorMsg.replace('%2$s', fileMaxSize);
285
+ }
286
+ if (errorCode.startsWith('415')) {
287
+ // UNSUPPORTED_MEDIA_TYPE_ERROR_MSG
288
+ const fileExtensions = (overrideAcceptedExtensions
289
+ ? overrideAcceptedExtensions
290
+ : this.accept)
291
+ .toUpperCase()
292
+ .replace(/,/g, ' ou ');
293
+ return formattedErrorMsg.replace('%2$s', fileExtensions);
294
+ }
295
+ if (errorCode.startsWith('FILENAME_TOO_LONG')) {
296
+ const maxFileNameLength = (overrideMaxFileNameLength
297
+ ? overrideMaxFileNameLength
298
+ : this.maxFileNameLength).toString();
299
+ return formattedErrorMsg.replace('%2$s', maxFileNameLength);
300
+ }
301
+ if (errorCode.startsWith('FILE_TOO_SMALL')) {
302
+ return formattedErrorMsg.replace('%2$s', this.fileMinSizeInBytes.toString());
303
+ }
304
+ if (errorCode.startsWith('FILENAME_SHOULD_NOT_CONTAIN')) {
305
+ const fileNameIllegalCharacters = (overrideIllegalCharacters
306
+ ? overrideIllegalCharacters
307
+ : this.illegalCharacters).replace(/,/g, '');
308
+ return formattedErrorMsg.replace('%2$s', fileNameIllegalCharacters);
309
+ }
310
+ return formattedErrorMsg;
311
+ }
312
+ getDefaultUnknownErrorMessage(fileName) {
313
+ const msg = 'Impossible de transmettre le fichier';
314
+ if (!!fileName && !!fileName.length) {
315
+ return `${msg} ${fileName}.`;
316
+ }
317
+ return `${msg}.`;
318
+ }
319
+ /**
320
+ * @param key to be normalized
321
+ * @returns string
322
+ */
323
+ normalizeKey(key) {
324
+ return key ? key.toLowerCase().replace(this.CHAR_TO_REPLACE, '') : null;
325
+ }
326
+ }
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC91cGxvYWRlci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUFTdkIsWUFDWSxpQkFBdUMsRUFDdkMsc0JBQThDO1FBRDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZsRCxZQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFaEIsb0JBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFNL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLENBQUMsT0FBd0IsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUMzQixPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDbkQsQ0FBQztnQkFDRixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FDckIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUNqRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxpQkFBaUI7b0JBQ2xC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QyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlIH0gZnJvbSAnLi9kb2N1bWVudC1yZWZlcmVuY2UnO1xuXG5leHBvcnQgY2xhc3MgVXBsb2FkZXJIZWxwZXIge1xuICAgIHByaXZhdGUgX2FjY2VwdCA9ICcucGRmJztcbiAgICBwcml2YXRlIF9tYXhTaXplSW5NbyA9IDE7XG4gICAgcHJpdmF0ZSBfbWF4RmlsZU5hbWVMZW5ndGggPSA2NDtcbiAgICBwcml2YXRlIF9pbGxlZ2FsQ2hhcmFjdGVycyA9ICcvLFxcXFwsPywlLCosOix8LFwiLDwsPizCsCc7XG4gICAgcHJpdmF0ZSBfZmlsZU1pblNpemVJbkJ5dGVzID0gMjA7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IENIQVJfVE9fUkVQTEFDRSA9IG5ldyBSZWdFeHAoJ1teYS16QS1aMC05XScsICdnJyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYXBwSW5mbzogQXBwbGljYXRpb25JbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY2VwdCA9IGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5maWxlRXh0ZW5zaW9ucztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXhGaWxlTmFtZUxlbmd0aCA9IE51bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5tYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heFNpemVJbk1vID0gTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50Lm1heEZpbGVTaXplSW5Nb1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5pbGxlZ2FsQ2hhcmFjdGVycztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVNaW5TaXplSW5CeXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIHNldCBmaWxlTWluU2l6ZUluQnl0ZXModmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9maWxlTWluU2l6ZUluQnl0ZXMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBpbGxlZ2FsQ2hhcmFjdGVycygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWxsZWdhbENoYXJhY3RlcnM7XG4gICAgfVxuXG4gICAgc2V0IGlsbGVnYWxDaGFyYWN0ZXJzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWxsZWdhbENoYXJhY3RlcnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBtYXhGaWxlTmFtZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGg7XG4gICAgfVxuXG4gICAgc2V0IG1heEZpbGVOYW1lTGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBtYXhTaXplSW5NbygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4U2l6ZUluTW87XG4gICAgfVxuXG4gICAgc2V0IG1heFNpemVJbk1vKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbWF4U2l6ZUluTW8gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBhY2NlcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY2VwdDtcbiAgICB9XG5cbiAgICBzZXQgYWNjZXB0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgaXNGaWxlVG9vQmlnKFxuICAgICAgICBmaWxlU2l6ZUluQnl0ZXM6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbzogbnVtYmVyXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghIW92ZXJyaWRlTWF4U2l6ZUluTW8pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVG9vQmlnKGZpbGVTaXplSW5CeXRlcywgb3ZlcnJpZGVNYXhTaXplSW5Nbyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm1heFNpemVJbk1vKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUb29CaWcoZmlsZVNpemVJbkJ5dGVzLCB0aGlzLm1heFNpemVJbk1vKTtcbiAgICB9XG5cbiAgICBpc0ZpbGVUb29TbWFsbChmaWxlU2l6ZUluQnl0ZXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZU1pblNpemVJbkJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVTaXplSW5CeXRlcyA8IHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIGlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1heEZpbGVMZW5naHQgPSAhIW92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgID8gb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgOiB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5sZW5ndGggPD0gbWF4RmlsZUxlbmdodDtcbiAgICB9XG5cbiAgICBpc0ZpbGVOYW1lTmFtZVZhbGlkKFxuICAgICAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaWxsZWdhbENoYXJhY3RlcnMgPSAhIW92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgID8gb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVycy5zcGxpdCgnLCcpXG4gICAgICAgICAgICA6IHRoaXMuaWxsZWdhbENoYXJhY3RlcnMuc3BsaXQoJywnKTtcblxuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIGZvciAoY29uc3QgaWxsZWdhbENoYXJhY3RlciBvZiBpbGxlZ2FsQ2hhcmFjdGVycykge1xuICAgICAgICAgICAgaWYgKGZpbGVuYW1lLmluY2x1ZGVzKGlsbGVnYWxDaGFyYWN0ZXIpKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0RmlsZUV4dGVuc2lvbihmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuJHtmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpfWA7XG4gICAgfVxuXG4gICAgaXNGaWxlRXh0ZW5zaW9uVmFsaWQoXG4gICAgICAgIGZpbGVFeHRlbnNpb246IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhY2NlcHRlZEV4dGVuc2lvbnMgPSAhIW92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICA/IG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICA6IHRoaXMuYWNjZXB0O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIWZpbGVFeHRlbnNpb24gJiZcbiAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIC50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbi50b1VwcGVyQ2FzZSgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIGVycm9yQ29kZTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW86IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBGb3JtRXJyb3Ige1xuICAgICAgICBjb25zdCB1bmlxU3VmZml4ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgY29kZTogYCR7ZXJyb3JDb2RlfV8ke3VuaXFTdWZmaXh9YCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMucmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzW2Vycm9yQ29kZV0sXG4gICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYWRkQ3VzdG9tRXJyb3JPckRlZmF1bHQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZGVzdGluYXRpb25FcnJvcnM6IEZvcm1FcnJvcltdLFxuICAgICAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tRXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSBjdXN0b20gZXJyb3IgdG8gbWFuYWdlXG4gICAgICAgIGlmIChjdXN0b21FcnJvcnNbZXJyb3JDb2RlXSkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uRXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGNvZGU6IGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmdldERlZmF1bHRVbmtub3duRXJyb3JNZXNzYWdlKGZpbGVOYW1lKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzKGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBjdXN0b21FcnJvcnMuSU1BR0VfTk9UX1JFQURBQkxFID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5JTUFHRV9OT1RfUkVBREFCTEUnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5GSUxFTkFNRV9UT09fTE9ORyA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRklMRU5BTUVfVE9PX0xPTkcnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5GSUxFX1RPT19TTUFMTCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5FTVBUWV9QREYgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkVNUFRZX1BERidcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9HRU5FUkFMX1BST0JMRU0gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9HRU5FUkFMX1BST0JMRU0nXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX0hBU19SRVNUUklDVElPTlMnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5GSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTidcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MDYnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQwNicpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQxMyddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDEzJyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDE1J10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MTUnKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MjInXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQyMicpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzUwMCddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNTAwJyk7XG5cbiAgICAgICAgLy8gTXVsdGlQYXJ0RXhjZXB0aW9uIGZyb20gWnV1bCByZXR1cm5zIEhUVFAgMFxuICAgICAgICBjdXN0b21FcnJvcnNbJzAnXSA9IGN1c3RvbUVycm9yc1snNDEzJ107XG4gICAgfVxuXG4gICAgZ2V0TG9jYWxFcnJvcnMoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZmlsZXM6IEZpbGVbXSxcbiAgICAgICAgY3VzdG9tRXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogRm9ybUVycm9yW10ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IEZvcm1FcnJvcltdID0gW107XG5cbiAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgICAgICAgIC8vIEZpbGUgYmFkIGV4dGVuc2lvblxuICAgICAgICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZUV4dGVuc2lvblZhbGlkKFxuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIDQxNSBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICc0MTUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGaWxlIG5hbWUgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaXNGaWxlTmFtZU5hbWVWYWxpZChmaWxlLm5hbWUsIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnMpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciBGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4gZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZXMgdG9vIGJpZ1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWxlVG9vQmlnKGZpbGUuc2l6ZSwgb3ZlcnJpZGVNYXhTaXplSW5NbykpIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciA0MTMgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnNDEzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWxlVG9vU21hbGwoZmlsZS5zaXplKSkge1xuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgY3VzdG9tIGVycm9yIEZJTEVfVE9PX1NNQUxMIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVfVE9PX1NNQUxMJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZSBuYW1lIHRvbyBsb25nICg2NCBjaGFycyBtYXgpXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaXNGaWxlTmFtZUxlbmd0aFZhbGlkKFxuICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciBGSUxFTkFNRV9UT09fTE9ORyBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdGSUxFTkFNRV9UT09fTE9ORycsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICBoYXNMaXZlVXBsb2FkRXJyb3JzKGVycm9yczogRm9ybUVycm9yW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhZXJyb3JzICYmXG4gICAgICAgICAgICAhIShlcnJvcnMgYXMgRm9ybUVycm9yW10pLmZpbmQoXG4gICAgICAgICAgICAgICAgZSA9PlxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnNDEzJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJzQxNScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfUEFTU1dPUkRfTE9DS0VEJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9DT05UQUlOU19TQ1JJUFQnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0hBU19BVFRBQ0hNRU5UUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdFTVBUWV9QREYnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0dFTkVSQUxfUFJPQkxFTScpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfSEFTX1JFU1RSSUNUSU9OUycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9UT09fTE9ORycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFX1RPT19TTUFMTCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJldmVudEFuZFN0b3AoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldEFsbEZpbGVzQ291bnQoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtkYXRhLmxlbmd0aH1gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0QWxsRmlsZXNTaXplSW5NbyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZVNpemVJbkJ5dGVzID0gZGF0YS5yZWR1Y2UoXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgKHRvdGFsRG9jU2l6ZTogbnVtYmVyLCBkb2N1bWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50Lmhhc093blByb3BlcnR5KCdmaWxlU2l6ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbERvY1NpemUgKyBkb2N1bWVudC5maWxlU2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsRG9jU2l6ZSArIGRvY3VtZW50LnNpemU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnRvTWVnYU9jdGV0cyhmaWxlU2l6ZUluQnl0ZXMpO1xuICAgIH1cblxuICAgIHRvTWVnYU9jdGV0cyhzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7KHNpemUgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDIpfWA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRUcmFuc2ZlcihldmVudDogYW55KTogRmlsZUxpc3Qge1xuICAgICAgICBpZiAoISFldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRHbG9iYWxJbmZvcyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRBbGxGaWxlc0NvdW50KFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSBmaWNoaWVycyBwb3VyIHVuIHRvdGFsIGRlICR7dGhpcy5nZXRBbGxGaWxlc1NpemVJbk1vKFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICApfSA8YWJiciB0aXRsZT1cIk1lZ2FvY3RldFwiPk1vPC9hYmJyPmA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzaG93R2xvYmFsSW5mb3MoZGF0YTogYW55LCBoaWRlR2xvYmFsSW5mb3M6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFoaWRlR2xvYmFsSW5mb3MgJiYgISFkYXRhICYmICEhZGF0YS5sZW5ndGggJiYgZGF0YS5sZW5ndGggPiAxO1xuICAgIH1cblxuICAgIG1hcFRvRG9jdW1lbnRSZWZlcmVuY2UoXG4gICAgICAgIGZpbGU6IEZpbGUsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBpc011bHRpcGxlOiBib29sZWFuLFxuICAgICAgICB1bmlxUHJlZml4OiBudW1iZXIsXG4gICAgICAgIGdsb2JhbFNlcXVlbmNlOiBudW1iZXJcbiAgICApOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBuZXcgRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSgpO1xuXG4gICAgICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgICAgICAvLyBPdmVycmlkZSBrZXkgdG8gZW5zdXJlcyB0aGF0IEdlc0RlbSBjYW4gYWNjZXB0IHRoZSBkb2N1bWVudCBrZXkgKGxlbmd0aCBvZiA2NCBjaGFyLiBtYXguKVxuICAgICAgICAgICAga2V5ID0gYGRvYyR7dW5pcVByZWZpeH0ke2dsb2JhbFNlcXVlbmNlfWA7XG4gICAgICAgICAgICBkb2N1bWVudC5rZXkgPSB0aGlzLm5vcm1hbGl6ZUtleShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQua2V5ID0ga2V5O1xuICAgICAgICBkb2N1bWVudC5maWxlbmFtZSA9IGZpbGUubmFtZTtcbiAgICAgICAgZG9jdW1lbnQubWltZVR5cGUgPSBmaWxlLnR5cGU7XG4gICAgICAgIGRvY3VtZW50LmZpbGVTaXplID0gZmlsZS5zaXplO1xuICAgICAgICBkb2N1bWVudC5sYWJlbCA9IGxhYmVsO1xuICAgICAgICBkb2N1bWVudC5maWxlID0gZmlsZTtcblxuICAgICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgfVxuXG4gICAgbWFwVG9Gb3JtRGF0YShcbiAgICAgICAgZG9jdW1lbnRzOiBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlW10sXG4gICAgICAgIGZvcm1LZXk6IHN0cmluZyxcbiAgICAgICAgbGFuZ3VhZ2U6IHN0cmluZ1xuICAgICk6IEZvcm1EYXRhIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgICAgICBkb2N1bWVudHMuZm9yRWFjaCgoeyBmaWxlLCBrZXksIGxhYmVsIH0pID0+IHtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5cycsIGtleSk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhYmVscycsIHRoaXMucmVtb3ZlQ29tbWFzSW5MYWJlbChsYWJlbCkpO1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGUsIGZpbGUubmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybUtleScsIGZvcm1LZXkpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2xhbmd1YWdlJywgbGFuZ3VhZ2UpO1xuXG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21tYXMgYXJlIHJlbW92ZWQgdG8gYXZvaWQgYSB3cm9uZyBpbnRlcnByZXRhdGlvbiBhcyBhbiBhcnJheSBvZiBzdHJpbmcgaW4gZm9ybURhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbGFiZWwgdG8gYmUgY2xlYW5lZCBmcm9tIGNvbW1hXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcmVtb3ZlQ29tbWFzSW5MYWJlbChsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxhYmVsLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Rvb0JpZyhmaWxlU2l6ZUluQnl0ZXM6IG51bWJlciwgbGltaXRJbk1vOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVTaXplSW5CeXRlcyAvICgxMDI0ICogMTAyNCkgPiBsaW1pdEluTW87XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXBsYWNlRXJyb3JNZXNzYWdlS2V5cyhcbiAgICAgICAgZXJyb3JNc2c6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW86IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRFcnJvck1zZyA9IGVycm9yTXNnLnJlcGxhY2UoJyUxJHMnLCBmaWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTMnKSkge1xuICAgICAgICAgICAgLy8gUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFX0VSUk9SX01TR1xuICAgICAgICAgICAgY29uc3QgZmlsZU1heFNpemUgPSAob3ZlcnJpZGVNYXhTaXplSW5Nb1xuICAgICAgICAgICAgICAgID8gb3ZlcnJpZGVNYXhTaXplSW5Nb1xuICAgICAgICAgICAgICAgIDogdGhpcy5tYXhTaXplSW5Nb1xuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlTWF4U2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCc0MTUnKSkge1xuICAgICAgICAgICAgLy8gVU5TVVBQT1JURURfTUVESUFfVFlQRV9FUlJPUl9NU0dcbiAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb25zID0gKG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICAgICAgPyBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIDogdGhpcy5hY2NlcHRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICcgb3UgJyk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIGZpbGVFeHRlbnNpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JDb2RlLnN0YXJ0c1dpdGgoJ0ZJTEVOQU1FX1RPT19MT05HJykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1heEZpbGVOYW1lTGVuZ3RoID0gKG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICA/IG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICAgICA6IHRoaXMubWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgbWF4RmlsZU5hbWVMZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRV9UT09fU01BTEwnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJyUyJHMnLFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nKSkge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVJbGxlZ2FsQ2hhcmFjdGVycyA9IChvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgPyBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApLnJlcGxhY2UoLywvZywgJycpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlTmFtZUlsbGVnYWxDaGFyYWN0ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2c7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0VW5rbm93bkVycm9yTWVzc2FnZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbXNnID0gJ0ltcG9zc2libGUgZGUgdHJhbnNtZXR0cmUgbGUgZmljaGllcic7XG4gICAgICAgIGlmICghIWZpbGVOYW1lICYmICEhZmlsZU5hbWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bXNnfSAke2ZpbGVOYW1lfS5gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHttc2d9LmA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGtleSB0byBiZSBub3JtYWxpemVkXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBub3JtYWxpemVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4ga2V5ID8ga2V5LnRvTG93ZXJDYXNlKCkucmVwbGFjZSh0aGlzLkNIQVJfVE9fUkVQTEFDRSwgJycpIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -11,13 +11,10 @@ export class FoehnUserConnectedAsComponent {
11
11
  this.connectedAs = this.sessionInfo.data.pipe(filter(userInfo => !!userInfo), map((userInfo) => userInfo.espaceLabel));
12
12
  }
13
13
  }
14
- FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
- FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
14
+ FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
+ FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
17
17
  type: Component,
18
- args: [{
19
- selector: 'foehn-user-connected-as',
20
- templateUrl: './foehn-user-connected-as.component.html'
21
- }]
18
+ args: [{ selector: 'foehn-user-connected-as', template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n" }]
22
19
  }], ctorParameters: function () { return [{ type: i1.SessionInfo }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1YxQyx5TUFPQTsyRkRHYSw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLDBDQUEwQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8tZGF0YSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdXNlci1jb25uZWN0ZWQtYXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Vc2VyQ29ubmVjdGVkQXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbm5lY3RlZEFzOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbykge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZEFzID0gdGhpcy5zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodXNlckluZm8gPT4gISF1c2VySW5mbyksXG4gICAgICAgICAgICBtYXAoKHVzZXJJbmZvOiBTZXNzaW9uSW5mb0RhdGEpID0+IHVzZXJJbmZvLmVzcGFjZUxhYmVsKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjwhLS0gcHJldHRpZXItaWdub3JlIC0tPlxuPHBcbiAgICAqbmdJZj1cIihjb25uZWN0ZWRBcyB8IGFzeW5jKSBhcyB1c2VyQ29ubmVjdGVkQXNcIlxuICAgIGNsYXNzPVwiaDJcIlxuPlxuICAgIExhIGRlbWFuZGUgc2VyYSBlZmZlY3R1w6llIHBvdXIgPGVtPiZsYXF1bzt7eyB1c2VyQ29ubmVjdGVkQXMgfX0mcmFxdW87PC9lbT5cbjwvcD5cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1gxQyx5TUFPQTsyRkRJYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8tZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdXNlci1jb25uZWN0ZWQtYXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Vc2VyQ29ubmVjdGVkQXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbm5lY3RlZEFzOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbykge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZEFzID0gdGhpcy5zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodXNlckluZm8gPT4gISF1c2VySW5mbyksXG4gICAgICAgICAgICBtYXAoKHVzZXJJbmZvOiBTZXNzaW9uSW5mb0RhdGEpID0+IHVzZXJJbmZvLmVzcGFjZUxhYmVsKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjwhLS0gcHJldHRpZXItaWdub3JlIC0tPlxuPHBcbiAgICAqbmdJZj1cIihjb25uZWN0ZWRBcyB8IGFzeW5jKSBhcyB1c2VyQ29ubmVjdGVkQXNcIlxuICAgIGNsYXNzPVwiaDJcIlxuPlxuICAgIExhIGRlbWFuZGUgc2VyYSBlZmZlY3R1w6llIHBvdXIgPGVtPiZsYXF1bzt7eyB1c2VyQ29ubmVjdGVkQXMgfX0mcmFxdW87PC9lbT5cbjwvcD5cbiJdfQ==
@@ -1,13 +1,13 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { FoehnUserConnectedAsComponent } from './foehn-user-connected-as.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class FoehnUserConnectedAsModule {
6
6
  }
7
- FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
- FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [[CommonModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
7
+ FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
+ FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
15
15
  exports: [FoehnUserConnectedAsComponent]
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQUhwQiw2QkFBNkIsYUFEbEMsWUFBWSxhQUVaLDZCQUE2Qjt3SEFFOUIsMEJBQTBCLFlBSjFCLENBQUMsWUFBWSxDQUFDOzJGQUlkLDBCQUEwQjtrQkFMdEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvZWhuVXNlckNvbm5lY3RlZEFzQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZvZWhuVXNlckNvbm5lY3RlZEFzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRm9laG5Vc2VyQ29ubmVjdGVkQXNDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVXNlckNvbm5lY3RlZEFzTW9kdWxlIHt9XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQUhwQiw2QkFBNkIsYUFEbEMsWUFBWSxhQUVaLDZCQUE2Qjt3SEFFOUIsMEJBQTBCLFlBSnpCLFlBQVk7MkZBSWIsMEJBQTBCO2tCQUx0QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2VoblVzZXJDb25uZWN0ZWRBc0NvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2VoblVzZXJDb25uZWN0ZWRBc0NvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuVXNlckNvbm5lY3RlZEFzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblVzZXJDb25uZWN0ZWRBc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,96 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../validation/validation-handler.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../sdk-dictionary/sdk-dictionary.pipe";
6
+ const isAllUpperCase = (value) => value.toUpperCase() === value;
7
+ const formatErrorMessage = (errorMessage) => {
8
+ if (!errorMessage?.length) {
9
+ return '';
10
+ }
11
+ let firstWord = errorMessage.split(' ')[0];
12
+ const nextWords = errorMessage.split(' ').slice(1).join(' ');
13
+ if (!isAllUpperCase(firstWord)) {
14
+ firstWord = firstWord.charAt(0).toLowerCase() + firstWord.slice(1);
15
+ }
16
+ return `${firstWord}${!!nextWords.length ? ` ${nextWords}` : ''}`;
17
+ };
18
+ // eslint-disable max-classes-per-file
19
+ export class FoehnValidationAlertSummaryComponent {
20
+ constructor(validationHandlerService) {
21
+ this.validationHandlerService = validationHandlerService;
22
+ }
23
+ get shouldDisplayAlertSummary() {
24
+ return !!this.form && this.form.shouldDisplayAlertSummary;
25
+ }
26
+ get errors() {
27
+ const errors = [];
28
+ const components = this.form.getAllComponents();
29
+ components.forEach(component => {
30
+ if (component.hasErrorsToDisplay() &&
31
+ !component.excludeFromErrorSummary) {
32
+ component.errors.forEach(error => {
33
+ errors.push({
34
+ name: error.name,
35
+ message: formatErrorMessage(this.validationHandlerService.getMessage(component, error)),
36
+ componentLabel: component.label
37
+ ? `${component.label} : `
38
+ : ''
39
+ });
40
+ });
41
+ }
42
+ });
43
+ return errors;
44
+ }
45
+ scrollToError(event, errorId) {
46
+ event.preventDefault();
47
+ const elementContainer = document.getElementById(`${errorId}Container`);
48
+ if (!elementContainer) {
49
+ console.warn(`"${errorId
50
+ // eslint-disable-next-line max-len
51
+ }" error cannot be scrolled to nor focused. Please make sure that your HTML Foehn element tag attributs "id" and "name" are identical.`);
52
+ return;
53
+ }
54
+ // Scroll in view should be done on input container
55
+ elementContainer.scrollIntoView();
56
+ const elementChild = document.getElementById(`${errorId}Child`);
57
+ if (elementChild) {
58
+ // Focus should be on the input itself
59
+ elementChild.focus();
60
+ }
61
+ else {
62
+ // For more complex components such as foehn-input-date, foehn-input-time, foehn-nav13, foehn-radio, foehn-checkbox,...
63
+ const elementNodeListOf = elementContainer.querySelectorAll(`input[id^="${errorId}"]`);
64
+ if (elementNodeListOf && elementNodeListOf.length > 0) {
65
+ const inputElement = this.findFirstHtmlInputElementEnabled(elementNodeListOf);
66
+ if (inputElement) {
67
+ // Focus should be on the input itself
68
+ inputElement.focus();
69
+ }
70
+ }
71
+ }
72
+ }
73
+ trackByError(index, e) {
74
+ return e.name;
75
+ }
76
+ findFirstHtmlInputElementEnabled(elementNodeListOf) {
77
+ for (let i = 0; i < elementNodeListOf.length; i++) {
78
+ const htmlInputElement = elementNodeListOf.item(i);
79
+ if (!htmlInputElement.disabled) {
80
+ return htmlInputElement;
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ }
86
+ FoehnValidationAlertSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
87
+ FoehnValidationAlertSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: { form: "form" }, ngImport: i0, template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SdkDictionaryPipe, name: "fromDictionary" }] });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'foehn-validation-alert-summary', template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"] }]
91
+ }], ctorParameters: function () { return [{ type: i1.ValidationHandlerService }]; }, propDecorators: { form: [{
92
+ type: Input
93
+ }] } });
94
+ export class ComponentError {
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUtqRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWEsRUFBVyxFQUFFLENBQzlDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUM7QUFFbEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFlBQW9CLEVBQVUsRUFBRTtJQUN4RCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRTtRQUN2QixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsSUFBSSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUM1QixTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENB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LENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQzNDLENBQUMsQ0FDZ0IsQ0FBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO2dCQUM1QixPQUFPLGdCQUFnQixDQUFDO2FBQzNCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztpSUExRlEsb0NBQW9DO3FIQUFwQyxvQ0FBb0MsZ0dDNUJqRCw2eUJBeUJBOzJGREdhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDSSxnQ0FBZ0M7K0dBTTFDLElBQUk7c0JBREgsS0FBSzs7QUE0RlYsTUFBTSxPQUFPLGNBQWM7Q0FJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcblxuY29uc3QgaXNBbGxVcHBlckNhc2UgPSAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgICB2YWx1ZS50b1VwcGVyQ2FzZSgpID09PSB2YWx1ZTtcblxuY29uc3QgZm9ybWF0RXJyb3JNZXNzYWdlID0gKGVycm9yTWVzc2FnZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAoIWVycm9yTWVzc2FnZT8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBsZXQgZmlyc3RXb3JkID0gZXJyb3JNZXNzYWdlLnNwbGl0KCcgJylbMF07XG4gICAgY29uc3QgbmV4dFdvcmRzID0gZXJyb3JNZXNzYWdlLnNwbGl0KCcgJykuc2xpY2UoMSkuam9pbignICcpO1xuICAgIGlmICghaXNBbGxVcHBlckNhc2UoZmlyc3RXb3JkKSkge1xuICAgICAgICBmaXJzdFdvcmQgPSBmaXJzdFdvcmQuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBmaXJzdFdvcmQuc2xpY2UoMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2ZpcnN0V29yZH0keyEhbmV4dFdvcmRzLmxlbmd0aCA/IGAgJHtuZXh0V29yZHN9YCA6ICcnfWA7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZSBtYXgtY2xhc3Nlcy1wZXItZmlsZVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5WYWxpZGF0aW9uQWxlcnRTdW1tYXJ5Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGZvcm06IEZvZWhuRm9ybUNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UpIHt9XG5cbiAgICBnZXQgc2hvdWxkRGlzcGxheUFsZXJ0U3VtbWFyeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5zaG91bGREaXNwbGF5QWxlcnRTdW1tYXJ5O1xuICAgIH1cblxuICAgIGdldCBlcnJvcnMoKTogQ29tcG9uZW50RXJyb3JbXSB7XG4gICAgICAgIGNvbnN0IGVycm9yczogQ29tcG9uZW50RXJyb3JbXSA9IFtdO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gdGhpcy5mb3JtLmdldEFsbENvbXBvbmVudHMoKTtcbiAgICAgICAgY29tcG9uZW50cy5mb3JFYWNoKGNvbXBvbmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29tcG9uZW50Lmhhc0Vycm9yc1RvRGlzcGxheSgpICYmXG4gICAgICAgICAgICAgICAgIWNvbXBvbmVudC5leGNsdWRlRnJvbUVycm9yU3VtbWFyeVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50LmVycm9ycy5mb3JFYWNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGZvcm1hdEVycm9yTWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5nZXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudExhYmVsOiBjb21wb25lbnQubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAke2NvbXBvbmVudC5sYWJlbH0gOiBgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICBzY3JvbGxUb0Vycm9yKGV2ZW50OiBFdmVudCwgZXJyb3JJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNvbnRhaW5lcmApO1xuICAgICAgICBpZiAoIWVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICBgXCIke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcklkXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICAgICAgfVwiIGVycm9yIGNhbm5vdCBiZSBzY3JvbGxlZCB0byBub3IgZm9jdXNlZC4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdXIgSFRNTCBGb2VobiBlbGVtZW50IHRhZyBhdHRyaWJ1dHMgXCJpZFwiIGFuZCBcIm5hbWVcIiBhcmUgaWRlbnRpY2FsLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2Nyb2xsIGluIHZpZXcgc2hvdWxkIGJlIGRvbmUgb24gaW5wdXQgY29udGFpbmVyXG4gICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50Q2hpbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNoaWxkYCk7XG4gICAgICAgIGlmIChlbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICBlbGVtZW50Q2hpbGQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZvciBtb3JlIGNvbXBsZXggY29tcG9uZW50cyBzdWNoIGFzIGZvZWhuLWlucHV0LWRhdGUsIGZvZWhuLWlucHV0LXRpbWUsIGZvZWhuLW5hdjEzLCBmb2Vobi1yYWRpbywgZm9laG4tY2hlY2tib3gsLi4uXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IGVsZW1lbnRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICBgaW5wdXRbaWRePVwiJHtlcnJvcklkfVwiXWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudE5vZGVMaXN0T2YgJiYgZWxlbWVudE5vZGVMaXN0T2YubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZmluZEZpcnN0SHRtbElucHV0RWxlbWVudEVuYWJsZWQoXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnROb2RlTGlzdE9mXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICAgICAgICAgIGlucHV0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYWNrQnlFcnJvcihpbmRleDogbnVtYmVyLCBlOiBDb21wb25lbnRFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlLm5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZjogTm9kZUxpc3RPZjxFbGVtZW50PlxuICAgICk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBodG1sSW5wdXRFbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbShcbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWh0bWxJbnB1dEVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvciB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb21wb25lbnRMYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIlxuICAgIGlkPVwiZXJyb3Itc3VtbWFyeVwiXG4gICAgY2xhc3M9XCJ2ZC1lcnJvci1zdW1tYXJ5XCJcbiAgICAqbmdJZj1cInNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkgJiYgZXJyb3JzLmxlbmd0aFwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8aDIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgIHt7ICdlcnJvcnMuc3VtbWFyeS50aXRsZScgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgIDwvaDI+XG4gICAgPHVsPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yczsgdHJhY2tCeTogdHJhY2tCeUVycm9yOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInZm9laG4tZXJyb3Itc3VtbWFyeS1saXN0LWl0ZW0tJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb0Vycm9yKCRldmVudCwgZXJyb3IubmFtZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IuY29tcG9uZW50TGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvci5tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
4
+ import { FoehnValidationAlertSummaryComponent } from './foehn-validation-alert-summary.component';
5
+ import * as i0 from "@angular/core";
6
+ export class FoehnValidationAlertSummaryModule {
7
+ }
8
+ FoehnValidationAlertSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ FoehnValidationAlertSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryModule, declarations: [FoehnValidationAlertSummaryComponent], imports: [CommonModule, SdkDictionaryModule], exports: [FoehnValidationAlertSummaryComponent] });
10
+ FoehnValidationAlertSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryModule, imports: [CommonModule, SdkDictionaryModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: FoehnValidationAlertSummaryModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule, SdkDictionaryModule],
15
+ declarations: [FoehnValidationAlertSummaryComponent],
16
+ exports: [FoehnValidationAlertSummaryComponent]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFPbEcsTUFBTSxPQUFPLGlDQUFpQzs7OEhBQWpDLGlDQUFpQzsrSEFBakMsaUNBQWlDLGlCQUgzQixvQ0FBb0MsYUFEekMsWUFBWSxFQUFFLG1CQUFtQixhQUVqQyxvQ0FBb0M7K0hBRXJDLGlDQUFpQyxZQUpoQyxZQUFZLEVBQUUsbUJBQW1COzJGQUlsQyxpQ0FBaUM7a0JBTDdDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxZQUFZLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztvQkFDcEQsT0FBTyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5WYWxpZGF0aW9uQWxlcnRTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTZGtEaWN0aW9uYXJ5TW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtGb2VoblZhbGlkYXRpb25BbGVydFN1bW1hcnlDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2VoblZhbGlkYXRpb25BbGVydFN1bW1hcnlDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVmFsaWRhdGlvbkFsZXJ0U3VtbWFyeU1vZHVsZSB7fVxuIl19