@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
@@ -1,61 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { combineLatest } from 'rxjs';
3
- import { first, map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../sdk-appinfo/application-info.service";
6
- import * as i2 from "../sdk-session-info/session-info.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "../foehn-recap-section/foehn-recap-section.component";
9
- const DATE_TIME_FORMAT = 'dd.MM.yyyy HH:mm:ss';
10
- export class FoehnDebugSummaryComponent {
11
- constructor(applicationInfoService, sessioninfo, datePipe) {
12
- this.applicationInfoService = applicationInfoService;
13
- this.sessioninfo = sessioninfo;
14
- this.datePipe = datePipe;
15
- this.initDate = new Date();
16
- this.debugInfos = combineLatest([
17
- this.applicationInfoService.data.pipe(first()),
18
- this.sessioninfo.data.pipe(first())
19
- ]).pipe(map(([appInfo, sessionInfo]) => {
20
- const debugInfos = [];
21
- debugInfos.push({
22
- key: 'Environnement',
23
- value: appInfo.environment
24
- });
25
- debugInfos.push({ key: 'Version', value: appInfo.version });
26
- debugInfos.push({
27
- key: 'User-Agent',
28
- value: navigator.userAgent
29
- });
30
- if (!!sessionInfo) {
31
- debugInfos.push({
32
- key: 'Context',
33
- value: sessionInfo.context
34
- });
35
- }
36
- return debugInfos;
37
- }));
38
- }
39
- ngAfterViewInit() {
40
- this.initDate = new Date();
41
- }
42
- get elements() {
43
- return this.debugInfos.pipe(map(debugInfos => {
44
- debugInfos.unshift({
45
- key: 'Horodatage',
46
- value: this.datePipe.transform(this.initDate, DATE_TIME_FORMAT)
47
- });
48
- return debugInfos;
49
- }));
50
- }
51
- }
52
- FoehnDebugSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDebugSummaryComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.SessionInfo }, { token: i3.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
53
- FoehnDebugSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnDebugSummaryComponent, selector: "foehn-debug-summary", ngImport: i0, template: "<foehn-recap-section\n *ngIf=\"elements | async as el\"\n [data]=\"{ titleKey: 'Informations pour le support', elements: el }\"\n></foehn-recap-section>\n", components: [{ type: i4.FoehnRecapSectionComponent, selector: "foehn-recap-section", inputs: ["data", "acceptEmptyValues"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDebugSummaryComponent, decorators: [{
55
- type: Component,
56
- args: [{
57
- selector: 'foehn-debug-summary',
58
- templateUrl: './foehn-debug-summary.component.html'
59
- }]
60
- }], ctorParameters: function () { return [{ type: i1.ApplicationInfoService }, { type: i2.SessionInfo }, { type: i3.DatePipe }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZGVidWctc3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZGVidWctc3VtbWFyeS9mb2Vobi1kZWJ1Zy1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1kZWJ1Zy1zdW1tYXJ5L2ZvZWhuLWRlYnVnLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUdqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFJNUMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQU0vQyxNQUFNLE9BQU8sMEJBQTBCO0lBSW5DLFlBQ1ksc0JBQThDLEVBQzlDLFdBQXdCLEVBQ3hCLFFBQWtCO1FBRmxCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUw5QixhQUFRLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQU94QixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUM1QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEMsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQzNCLE1BQU0sVUFBVSxHQUErQixFQUFFLENBQUM7WUFFbEQsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDWixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXO2FBQzdCLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1RCxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNaLEdBQUcsRUFBRSxZQUFZO2dCQUNqQixLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVM7YUFDN0IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO2dCQUNmLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ1osR0FBRyxFQUFFLFNBQVM7b0JBQ2QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxPQUFPO2lCQUM3QixDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2IsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDZixHQUFHLEVBQUUsWUFBWTtnQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUMxQixJQUFJLENBQUMsUUFBUSxFQUNiLGdCQUFnQixDQUNuQjthQUNKLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzt1SEF2RFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDZHZDLGtLQUlBOzJGRFVhLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsc0NBQXNDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudCB9IGZyb20gJy4uL2ZvZWhuLXJlY2FwLXNlY3Rpb24vZm9laG4tcmVjYXAtc2VjdGlvbi50eXBlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgREFURV9USU1FX0ZPUk1BVCA9ICdkZC5NTS55eXl5IEhIOm1tOnNzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1kZWJ1Zy1zdW1tYXJ5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tZGVidWctc3VtbWFyeS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5EZWJ1Z1N1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBkZWJ1Z0luZm9zOiBPYnNlcnZhYmxlPEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudFtdPjtcbiAgICBpbml0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25pbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgICApIHtcbiAgICAgICAgdGhpcy5kZWJ1Z0luZm9zID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YS5waXBlKGZpcnN0KCkpLFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uaW5mby5kYXRhLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2FwcEluZm8sIHNlc3Npb25JbmZvXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlYnVnSW5mb3M6IEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgICAgICAgICBkZWJ1Z0luZm9zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdFbnZpcm9ubmVtZW50JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGFwcEluZm8uZW52aXJvbm1lbnRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkZWJ1Z0luZm9zLnB1c2goeyBrZXk6ICdWZXJzaW9uJywgdmFsdWU6IGFwcEluZm8udmVyc2lvbiB9KTtcbiAgICAgICAgICAgICAgICBkZWJ1Z0luZm9zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdVc2VyLUFnZW50JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmICghIXNlc3Npb25JbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlYnVnSW5mb3MucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdDb250ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZXNzaW9uSW5mby5jb250ZXh0XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBkZWJ1Z0luZm9zO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIH1cblxuICAgIGdldCBlbGVtZW50cygpOiBPYnNlcnZhYmxlPEZvZWhuUmVjYXBTZWN0aW9uRWxlbWVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlYnVnSW5mb3MucGlwZShcbiAgICAgICAgICAgIG1hcChkZWJ1Z0luZm9zID0+IHtcbiAgICAgICAgICAgICAgICBkZWJ1Z0luZm9zLnVuc2hpZnQoe1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdIb3JvZGF0YWdlJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0RGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIERBVEVfVElNRV9GT1JNQVRcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWJ1Z0luZm9zO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8Zm9laG4tcmVjYXAtc2VjdGlvblxuICAgICpuZ0lmPVwiZWxlbWVudHMgfCBhc3luYyBhcyBlbFwiXG4gICAgW2RhdGFdPVwieyB0aXRsZUtleTogJ0luZm9ybWF0aW9ucyBwb3VyIGxlIHN1cHBvcnQnLCBlbGVtZW50czogZWwgfVwiXG4+PC9mb2Vobi1yZWNhcC1zZWN0aW9uPlxuIl19
@@ -1,40 +0,0 @@
1
- import { Component, forwardRef } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../sdk-session-info/session-info.service";
6
- import * as i2 from "../foehn-validation-alerts/foehn-validation-alerts.component";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- export class FoehnDecisionElectroniqueComponent extends FoehnInputComponent {
10
- constructor(sessionInfo) {
11
- super();
12
- this.sessionInfo = sessionInfo;
13
- this.name = 'acceptDecisionElectronique';
14
- this.id = this.name;
15
- this.isConnectedCyber = this.sessionInfo.data.pipe(map(userInfo => !!userInfo && !!userInfo.context));
16
- }
17
- }
18
- FoehnDecisionElectroniqueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
19
- FoehnDecisionElectroniqueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnDecisionElectroniqueComponent, selector: "foehn-decision-electronique", providers: [
20
- {
21
- provide: FoehnInputComponent,
22
- useExisting: forwardRef(() => FoehnDecisionElectroniqueComponent),
23
- multi: true
24
- }
25
- ], usesInheritance: true, ngImport: i0, template: "<section\n *ngIf=\"isConnectedCyber | async\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n class=\"mb-3 p-2 bg-light\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <h2 class=\"h5\">\n Autorisation de notification des d\u00E9cisions par voie \u00E9lectronique\n </h2>\n\n <p>\n Votre demande est sur le point d\u2019\u00EAtre envoy\u00E9e. Conform\u00E9ment \u00E0 l\u2019art. 44a\n LPA-VD, l\u2019autorit\u00E9 peut notifier ses d\u00E9cisions par voie \u00E9lectronique aux\n parties qui ont donn\u00E9 leur accord explicite \u00E0 cette communication.\n </p>\n\n <fieldset [attr.aria-describedby]=\"getDescribedBy()\">\n <legend class=\"vd-p\">\n <span>\n Acceptez-vous que l\u2019autorit\u00E9 comp\u00E9tente pour le traitement de\n votre demande vous notifie ses d\u00E9cisions par voie \u00E9lectronique ?\n </span>\n </legend>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <div class=\"d-flex\">\n <label class=\"form-check-label m-2\" [for]=\"buildChildId('True')\">\n <input\n type=\"radio\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [name]=\"buildChildName('True')\"\n [attr.name]=\"buildChildName('True')\"\n [value]=\"true\"\n [attr.id]=\"buildChildId('True')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n (change)=\"handleChange(true)\"\n #entryComponent\n />\n <span class=\"ml-1\">Oui</span>\n </label>\n\n <label class=\"form-check-label m-2\" [for]=\"buildChildId('False')\">\n <input\n type=\"radio\"\n [ngModel]=\"model\"\n (ngModelChange)=\"updateNgModel($event)\"\n [name]=\"buildChildName('False')\"\n [attr.name]=\"buildChildName('False')\"\n [value]=\"false\"\n [attr.id]=\"buildChildId('False')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n (change)=\"handleChange(false)\"\n />\n <span class=\"ml-1\">Non</span>\n </label>\n </div>\n </fieldset>\n\n <p>\n Si vous cliquez sur \u00AB Oui \u00BB, vous autorisez l\u2019autorit\u00E9 \u00E0 vous notifier\n ses d\u00E9cisions sur le portail s\u00E9curis\u00E9.\n <br />\n Si vous cliquez sur \u00AB Non \u00BB, vous refusez la notification de d\u00E9cisions\n sur le portail s\u00E9curis\u00E9.\n </p>\n</section>\n", components: [{ type: i2.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i3.AsyncPipe } });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueComponent, decorators: [{
27
- type: Component,
28
- args: [{
29
- selector: 'foehn-decision-electronique',
30
- templateUrl: './foehn-decision-electronique.component.html',
31
- providers: [
32
- {
33
- provide: FoehnInputComponent,
34
- useExisting: forwardRef(() => FoehnDecisionElectroniqueComponent),
35
- multi: true
36
- }
37
- ]
38
- }]
39
- }], ctorParameters: function () { return [{ type: i1.SessionInfo }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUvZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUvZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7O0FBYTNFLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxtQkFBNEI7SUFHaEYsWUFBb0IsV0FBd0I7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFEUSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV4QyxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQ3BELENBQUM7SUFDTixDQUFDOzsrSEFWUSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxzREFSaEM7UUFDUDtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUNqRSxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZkwscTlGQXVFQTsyRkR0RGEsa0NBQWtDO2tCQVg5QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFdBQVcsRUFBRSw4Q0FBOEM7b0JBQzNELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQ0FBbUMsQ0FBQzs0QkFDakUsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5EZWNpc2lvbkVsZWN0cm9uaXF1ZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkRlY2lzaW9uRWxlY3Ryb25pcXVlQ29tcG9uZW50IGV4dGVuZHMgRm9laG5JbnB1dENvbXBvbmVudDxib29sZWFuPiB7XG4gICAgaXNDb25uZWN0ZWRDeWJlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdhY2NlcHREZWNpc2lvbkVsZWN0cm9uaXF1ZSc7XG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLm5hbWU7XG4gICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlciA9IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJJbmZvID0+ICEhdXNlckluZm8gJiYgISF1c2VySW5mby5jb250ZXh0KVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uXG4gICAgKm5nSWY9XCJpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmNcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgY2xhc3M9XCJtYi0zIHAtMiBiZy1saWdodFwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxoMiBjbGFzcz1cImg1XCI+XG4gICAgICAgIEF1dG9yaXNhdGlvbiBkZSBub3RpZmljYXRpb24gZGVzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZVxuICAgIDwvaDI+XG5cbiAgICA8cD5cbiAgICAgICAgVm90cmUgZGVtYW5kZSBlc3Qgc3VyIGxlIHBvaW50IGTigJnDqnRyZSBlbnZvecOpZS4gQ29uZm9ybcOpbWVudCDDoCBs4oCZYXJ0LiA0NGFcbiAgICAgICAgTFBBLVZELCBs4oCZYXV0b3JpdMOpIHBldXQgbm90aWZpZXIgc2VzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZSBhdXhcbiAgICAgICAgcGFydGllcyBxdWkgb250IGRvbm7DqSBsZXVyIGFjY29yZCBleHBsaWNpdGUgw6AgY2V0dGUgY29tbXVuaWNhdGlvbi5cbiAgICA8L3A+XG5cbiAgICA8ZmllbGRzZXQgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJnZXREZXNjcmliZWRCeSgpXCI+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJ2ZC1wXCI+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICBBY2NlcHRlei12b3VzIHF1ZSBs4oCZYXV0b3JpdMOpIGNvbXDDqXRlbnRlIHBvdXIgbGUgdHJhaXRlbWVudCBkZVxuICAgICAgICAgICAgICAgIHZvdHJlIGRlbWFuZGUgdm91cyBub3RpZmllIHNlcyBkw6ljaXNpb25zIHBhciB2b2llIMOpbGVjdHJvbmlxdWUgP1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIG0tMlwiIFtmb3JdPVwiYnVpbGRDaGlsZElkKCdUcnVlJylcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVOZ01vZGVsKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJidWlsZENoaWxkTmFtZSgnVHJ1ZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIubmFtZV09XCJidWlsZENoaWxkTmFtZSgnVHJ1ZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ1RydWUnKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgI2VudHJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj5PdWk8L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIG0tMlwiIFtmb3JdPVwiYnVpbGRDaGlsZElkKCdGYWxzZScpXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTmdNb2RlbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiYnVpbGRDaGlsZE5hbWUoJ0ZhbHNlJylcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cImJ1aWxkQ2hpbGROYW1lKCdGYWxzZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCdGYWxzZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoZmFsc2UpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMVwiPk5vbjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG5cbiAgICA8cD5cbiAgICAgICAgU2kgdm91cyBjbGlxdWV6IHN1ciDCqyBPdWkgwrssIHZvdXMgYXV0b3Jpc2V6IGzigJlhdXRvcml0w6kgw6Agdm91cyBub3RpZmllclxuICAgICAgICBzZXMgZMOpY2lzaW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpLlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgU2kgdm91cyBjbGlxdWV6IHN1ciDCqyBOb24gwrssIHZvdXMgcmVmdXNleiBsYSBub3RpZmljYXRpb24gZGUgZMOpY2lzaW9uc1xuICAgICAgICBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpLlxuICAgIDwvcD5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { FoehnDecisionElectroniqueComponent } from './foehn-decision-electronique.component';
5
- import { FoehnValidationAlertsModule } from '../foehn-validation-alerts/foehn-validation-alerts.module';
6
- import * as i0 from "@angular/core";
7
- export class FoehnDecisionElectroniqueModule {
8
- }
9
- FoehnDecisionElectroniqueModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- FoehnDecisionElectroniqueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueModule, declarations: [FoehnDecisionElectroniqueComponent], imports: [CommonModule, FormsModule, FoehnValidationAlertsModule], exports: [FoehnDecisionElectroniqueComponent] });
11
- FoehnDecisionElectroniqueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueModule, imports: [[CommonModule, FormsModule, FoehnValidationAlertsModule]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnDecisionElectroniqueModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [CommonModule, FormsModule, FoehnValidationAlertsModule],
16
- declarations: [FoehnDecisionElectroniqueComponent],
17
- exports: [FoehnDecisionElectroniqueComponent]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUvZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7O0FBT3hHLE1BQU0sT0FBTywrQkFBK0I7OzRIQUEvQiwrQkFBK0I7NkhBQS9CLCtCQUErQixpQkFIekIsa0NBQWtDLGFBRHZDLFlBQVksRUFBRSxXQUFXLEVBQUUsMkJBQTJCLGFBRXRELGtDQUFrQzs2SEFFbkMsK0JBQStCLFlBSi9CLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsQ0FBQzsyRkFJeEQsK0JBQStCO2tCQUwzQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2pFLFlBQVksRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9laG5EZWNpc2lvbkVsZWN0cm9uaXF1ZUNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZvZWhuRGVjaXNpb25FbGVjdHJvbmlxdWVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2VobkRlY2lzaW9uRWxlY3Ryb25pcXVlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VobkRlY2lzaW9uRWxlY3Ryb25pcXVlTW9kdWxlIHt9XG4iXX0=
@@ -1,132 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, merge, of } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../sdk-appinfo/application-info.service";
6
- import * as i2 from "../gesdem/gesdem-event.service";
7
- import * as i3 from "../gesdem/gesdem-handler.service";
8
- import * as i4 from "../foehn-icons/foehn-icon-chevron-up.component";
9
- import * as i5 from "@angular/common";
10
- const GUIDE_URL = 'https://www.vd.ch/index.php?id=67827';
11
- const TERM_OF_USE_URL = 'https://www.vd.ch/index.php?id=2015321';
12
- const SECURITY_BEST_PRACTICE_URL = 'https://www.vd.ch/index.php?id=2015320';
13
- export class FoehnFooterComponent {
14
- constructor(applicationInfoService, gesdemEventService, gesdemService) {
15
- /**
16
- * If set to 'false', hide the default Contact link.
17
- */
18
- this.showDefaultContactLink = true;
19
- /**
20
- * If set to 'false', hide the default Guide link.
21
- */
22
- this.showDefaultGuideLink = true;
23
- /**
24
- * If set to 'false', hide the default Terms of use link.
25
- */
26
- this.showDefaultTermOfUseLink = true;
27
- /**
28
- * If set to 'false', hide the default Security Best Practice link.
29
- */
30
- this.showDefaultSecurityBestPracticeLink = true;
31
- this.inputChanged = new BehaviorSubject(0);
32
- this.gesdemService = gesdemService;
33
- this.gesdemEventService = gesdemEventService;
34
- this.applicationInfoService = applicationInfoService;
35
- }
36
- ngOnInit() {
37
- this.applicationInfo = this.applicationInfoService.data;
38
- const referenceObservable = this.gesdemEventService
39
- .formInitializationObservable()
40
- .pipe(map(() => this.gesdemService.lastResponse &&
41
- this.gesdemService.lastResponse.meta.reference));
42
- combineLatest([
43
- this.applicationInfoService.getSafeSupportFormUrl(),
44
- this.applicationInfoService.getSafeSupportFormTitle()
45
- ]).subscribe(([url, title]) => {
46
- this.allLinks = combineLatest([
47
- merge(of(null), referenceObservable),
48
- this.inputChanged
49
- ]).pipe(map(([reference]) => [
50
- ...this.getDefaultLinks(title, url, reference),
51
- ...(this.links || [])
52
- ]));
53
- });
54
- }
55
- ngOnChanges() {
56
- this.inputChanged.next(this.inputChanged.getValue() + 1);
57
- }
58
- gotToTop(e) {
59
- if (e) {
60
- e.preventDefault();
61
- }
62
- window.scrollTo(0, 0);
63
- }
64
- getDefaultLinks(contactFormTitle, contactFormUrl, reference) {
65
- return [
66
- this.getContactLink(contactFormTitle, contactFormUrl, reference),
67
- this.getGuideLink(),
68
- this.getTermOfUseLink(),
69
- this.getSecurityBestPracticeLink()
70
- ].filter(value => !!value);
71
- }
72
- getContactLink(contactFormTitle, contactFormUrl, reference) {
73
- if (!this.showDefaultContactLink) {
74
- return null;
75
- }
76
- const referenceQueryParam = !!reference
77
- ? `?concernedReference=${reference}`
78
- : '';
79
- const fullSupportAppUrl = contactFormUrl + referenceQueryParam;
80
- return {
81
- label: contactFormTitle,
82
- url: fullSupportAppUrl
83
- };
84
- }
85
- getGuideLink() {
86
- if (!this.showDefaultGuideLink) {
87
- return null;
88
- }
89
- return {
90
- label: "Guide d'utilisation du portail sécurisé",
91
- url: GUIDE_URL
92
- };
93
- }
94
- getTermOfUseLink() {
95
- if (!this.showDefaultTermOfUseLink) {
96
- return null;
97
- }
98
- return {
99
- label: "Conditions d'utilisation",
100
- url: TERM_OF_USE_URL
101
- };
102
- }
103
- getSecurityBestPracticeLink() {
104
- if (!this.showDefaultSecurityBestPracticeLink) {
105
- return null;
106
- }
107
- return {
108
- label: 'Bonnes pratiques en matière de sécurité informatique et de protection des données personnelles',
109
- url: SECURITY_BEST_PRACTICE_URL
110
- };
111
- }
112
- }
113
- FoehnFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.GesdemEventService }, { token: i3.GesdemHandlerService }], target: i0.ɵɵFactoryTarget.Component });
114
- FoehnFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnFooterComponent, selector: "foehn-footer", inputs: { links: "links", showDefaultContactLink: "showDefaultContactLink", showDefaultGuideLink: "showDefaultGuideLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0, template: "<footer id=\"foehn_footerContainer\" class=\"mt-5\">\n <div class=\"container\">\n <div class=\"text-right\">\n <a\n href=\"\"\n class=\"btn btn-sm btn-dark\"\n title=\"Retour vers le haut de la page\"\n (click)=\"gotToTop($event)\"\n >\n Haut&nbsp;\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </a>\n </div>\n </div>\n\n <div class=\"footer\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xs-10\" *ngIf=\"allLinks | async as links\">\n <nav\n class=\"row\"\n aria-label=\"pied de page\"\n *ngIf=\"!!links && !!links.length\"\n >\n <div class=\"col-sm\">\n <ul class=\"list-unstyled\">\n <li *ngFor=\"let link of links\">\n <a\n class=\"footer-link\"\n target=\"_blank\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n </li>\n </ul>\n </div>\n </nav>\n </div>\n <div class=\"col-xs-2\">\n <div class=\"d-flex align-items-end flex-column h-100\">\n <div class=\"mt-auto w-100 text-right\">\n <a href=\"https://www.vd.ch\" class=\"d-inline-block\">\n <span class=\"sr-only\">\n Retour \u00E0 la page d'accueil\n </span>\n <img\n aria-hidden=\"true\"\n class=\"img-fluid footer-logo\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAIKCAMAAACTCbS+AAADAFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8HPQsIAAAA/3RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O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\"\n alt=\"Canton de Vaud\"\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Num\u00E9ros de version de l'appli -->\n <!-- On les met en hidden pour tous pour \u00E9viter des probl\u00E8mes d'accessibilit\u00E9 -->\n <span\n id=\"appinfo\"\n aria-hidden=\"true\"\n class=\"d-none\"\n *ngIf=\"applicationInfo | async as appInfo\"\n >\n <span id=\"environment\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.environment }}\n </span>\n <span id=\"version\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.version }}\n </span>\n <span id=\"buildtime\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.buildtime }}\n </span>\n <span id=\"contextPath\" aria-hidden=\"true\" class=\"d-none\">\n {{ appInfo.contextPath }}\n </span>\n </span>\n</footer>\n", components: [{ type: i4.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFooterComponent, decorators: [{
116
- type: Component,
117
- args: [{
118
- selector: 'foehn-footer',
119
- templateUrl: './foehn-footer.component.html'
120
- }]
121
- }], ctorParameters: function () { return [{ type: i1.ApplicationInfoService }, { type: i2.GesdemEventService }, { type: i3.GesdemHandlerService }]; }, propDecorators: { links: [{
122
- type: Input
123
- }], showDefaultContactLink: [{
124
- type: Input
125
- }], showDefaultGuideLink: [{
126
- type: Input
127
- }], showDefaultTermOfUseLink: [{
128
- type: Input
129
- }], showDefaultSecurityBestPracticeLink: [{
130
- type: Input
131
- }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb290ZXIvZm9laG4tZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUVyQyxNQUFNLFNBQVMsR0FBRyxzQ0FBc0MsQ0FBQztBQUN6RCxNQUFNLGVBQWUsR0FBRyx3Q0FBd0MsQ0FBQztBQUNqRSxNQUFNLDBCQUEwQixHQUFHLHdDQUF3QyxDQUFDO0FBTTVFLE1BQU0sT0FBTyxvQkFBb0I7SUFxQzdCLFlBQ0ksc0JBQThDLEVBQzlDLGtCQUFzQyxFQUN0QyxhQUFtQztRQXBDdkM7O1dBRUc7UUFFSCwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFFOUI7O1dBRUc7UUFFSCx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFNUI7O1dBRUc7UUFFSCw2QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSCx3Q0FBbUMsR0FBRyxJQUFJLENBQUM7UUFTbkMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQU9sRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLHNC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QUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLDBCQUEwQjtZQUNqQyxHQUFHLEVBQUUsZUFBZTtTQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVPLDJCQUEyQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxPQUFPO1lBQ0gsS0FBSyxFQUNELGdHQUFnRztZQUNwRyxHQUFHLEVBQUUsMEJBQTBCO1NBQ2xDLENBQUM7SUFDTixDQUFDOztpSEF2SlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsdVVDakJqQyxvOGxCQWlGQTsyRkRoRWEsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsK0JBQStCO2lCQUMvQztpTEFHRyxLQUFLO3NCQURKLEtBQUs7Z0JBT04sc0JBQXNCO3NCQURyQixLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBT04sbUNBQW1DO3NCQURsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvb3RlckxpbmsgfSBmcm9tICcuL2Zvb3Rlci1saW5rLnR5cGUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IEdVSURFX1VSTCA9ICdodHRwczovL3d3dy52ZC5jaC9pbmRleC5waHA/aWQ9Njc4MjcnO1xuY29uc3QgVEVSTV9PRl9VU0VfVVJMID0gJ2h0dHBzOi8vd3d3LnZkLmNoL2luZGV4LnBocD9pZD0yMDE1MzIxJztcbmNvbnN0IFNFQ1VSSVRZX0JFU1RfUFJBQ1RJQ0VfVVJMID0gJ2h0dHBzOi8vd3d3LnZkLmNoL2luZGV4LnBocD9pZD0yMDE1MzIwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1mb290ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1mb290ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgbGlua3M6IEZvb3RlckxpbmtbXTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IENvbnRhY3QgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0Q29udGFjdExpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgR3VpZGUgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0R3VpZGVMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFRlcm1zIG9mIHVzZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFNlY3VyaXR5IEJlc3QgUHJhY3RpY2UgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rID0gdHJ1ZTtcblxuICAgIGFwcGxpY2F0aW9uSW5mbzogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkluZm8+O1xuICAgIGFsbExpbmtzOiBPYnNlcnZhYmxlPEZvb3RlckxpbmtbXT47XG5cbiAgICByZWFkb25seSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlO1xuICAgIHJlYWRvbmx5IGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgIHJlYWRvbmx5IGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBpbnB1dENoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgZ2VzZGVtRXZlbnRTZXJ2aWNlOiBHZXNkZW1FdmVudFNlcnZpY2UsXG4gICAgICAgIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZSA9IGdlc2RlbVNlcnZpY2U7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlID0gZ2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgPSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mbyA9IHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhO1xuXG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZU9ic2VydmFibGUgPSB0aGlzLmdlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZ2V0U2FmZVN1cHBvcnRGb3JtVXJsKCksXG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZ2V0U2FmZVN1cHBvcnRGb3JtVGl0bGUoKVxuICAgICAgICBdKS5zdWJzY3JpYmUoKFt1cmwsIHRpdGxlXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGxMaW5rcyA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIG1lcmdlKG9mKG51bGwpLCByZWZlcmVuY2VPYnNlcnZhYmxlKSxcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q2hhbmdlZFxuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtyZWZlcmVuY2VdKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0RGVmYXVsdExpbmtzKHRpdGxlLCB1cmwsIHJlZmVyZW5jZSksXG4gICAgICAgICAgICAgICAgICAgIC4uLih0aGlzLmxpbmtzIHx8IFtdKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZWQubmV4dCh0aGlzLmlucHV0Q2hhbmdlZC5nZXRWYWx1ZSgpICsgMSk7XG4gICAgfVxuXG4gICAgZ290VG9Ub3AoZTogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0TGlua3MoXG4gICAgICAgIGNvbnRhY3RGb3JtVGl0bGU6IHN0cmluZyxcbiAgICAgICAgY29udGFjdEZvcm1Vcmw6IHN0cmluZyxcbiAgICAgICAgcmVmZXJlbmNlOiBzdHJpbmdcbiAgICApOiBGb290ZXJMaW5rW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5nZXRDb250YWN0TGluayhjb250YWN0Rm9ybVRpdGxlLCBjb250YWN0Rm9ybVVybCwgcmVmZXJlbmNlKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0R3VpZGVMaW5rKCksXG4gICAgICAgICAgICB0aGlzLmdldFRlcm1PZlVzZUxpbmsoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rKClcbiAgICAgICAgXS5maWx0ZXIodmFsdWUgPT4gISF2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb250YWN0TGluayhcbiAgICAgICAgY29udGFjdEZvcm1UaXRsZTogc3RyaW5nLFxuICAgICAgICBjb250YWN0Rm9ybVVybDogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2U6IHN0cmluZ1xuICAgICk6IEZvb3RlckxpbmsgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dEZWZhdWx0Q29udGFjdExpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVmZXJlbmNlUXVlcnlQYXJhbSA9ICEhcmVmZXJlbmNlXG4gICAgICAgICAgICA/IGA/Y29uY2VybmVkUmVmZXJlbmNlPSR7cmVmZXJlbmNlfWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgIGNvbnN0IGZ1bGxTdXBwb3J0QXBwVXJsID0gY29udGFjdEZvcm1VcmwgKyByZWZlcmVuY2VRdWVyeVBhcmFtO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IGNvbnRhY3RGb3JtVGl0bGUsXG4gICAgICAgICAgICB1cmw6IGZ1bGxTdXBwb3J0QXBwVXJsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHdWlkZUxpbmsoKTogRm9vdGVyTGluayB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd0RlZmF1bHRHdWlkZUxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIkd1aWRlIGQndXRpbGlzYXRpb24gZHUgcG9ydGFpbCBzw6ljdXJpc8OpXCIsXG4gICAgICAgICAgICB1cmw6IEdVSURFX1VSTFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGVybU9mVXNlTGluaygpOiBGb290ZXJMaW5rIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93RGVmYXVsdFRlcm1PZlVzZUxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIkNvbmRpdGlvbnMgZCd1dGlsaXNhdGlvblwiLFxuICAgICAgICAgICAgdXJsOiBURVJNX09GX1VTRV9VUkxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlY3VyaXR5QmVzdFByYWN0aWNlTGluaygpOiBGb290ZXJMaW5rIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93RGVmYXVsdFNlY3VyaXR5QmVzdFByYWN0aWNlTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAgICAgJ0Jvbm5lcyBwcmF0aXF1ZXMgZW4gbWF0acOocmUgZGUgc8OpY3VyaXTDqSBpbmZvcm1hdGlxdWUgZXQgZGUgcHJvdGVjdGlvbiBkZXMgZG9ubsOpZXMgcGVyc29ubmVsbGVzJyxcbiAgICAgICAgICAgIHVybDogU0VDVVJJVFlfQkVTVF9QUkFDVElDRV9VUkxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8Zm9vdGVyIGlkPVwiZm9laG5fZm9vdGVyQ29udGFpbmVyXCIgY2xhc3M9XCJtdC01XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWRhcmtcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiUmV0b3VyIHZlcnMgbGUgaGF1dCBkZSBsYSBwYWdlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ290VG9Ub3AoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSGF1dCZuYnNwO1xuICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMFwiICpuZ0lmPVwiYWxsTGlua3MgfCBhc3luYyBhcyBsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmF2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwicGllZCBkZSBwYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiISFsaW5rcyAmJiAhIWxpbmtzLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvb3Rlci1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgZmxleC1jb2x1bW4gaC0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC1hdXRvIHctMTAwIHRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cudmQuY2hcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0b3VyIMOgIGxhIHBhZ2UgZCdhY2N1ZWlsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkIGZvb3Rlci1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBS0FBQUFJS0NBTUFBQUNUQ2JTK0FBQURBRkJNVkVVQUFBRC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOEhQUXNJQUFBQS8zUlNUbE1BQVFJREJBVUdCd2dKQ2dzTURRNFBFQkVTRXhRVkZoY1lHUm9iSEIwZUh5QWhJaU1rSlNZbktDa3FLeXd0TGk4d01USXpORFUyTnpnNU9qczhQVDQvUUVGQ1EwUkZSa2RJU1VwTFRFMU9UMUJSVWxOVVZWWlhXRmxhVzF4ZFhsOWdZV0pqWkdWbVoyaHBhbXRzYlc1dmNIRnljM1IxZG5kNGVYcDdmSDErZjRDQmdvT0VoWWFIaUltS2k0eU5qbytRa1pLVGxKV1dsNWlabXB1Y25aNmZvS0dpbzZTbHBxZW9xYXFycksydXI3Q3hzck8wdGJhM3VMbTZ1N3k5dnIvQXdjTER4TVhHeDhqSnlzdk16YzdQME5IUzA5VFYxdGZZMmRyYjNOM2UzK0RoNHVQazVlYm42T25xNit6dDd1L3c4Zkx6OVBYMjkvajUrdnY4L2Y3ckNOazFBQUFxMFVsRVFWUjQydTFkWldBVVJ4dmVTMGlJa0pBZ3dkMmRRcUZRb0VoeGQ0SVVLKzRXdERoOFVLQlFuTkppaGVJVTBxTEZDeFJwY1NsZTNBSUVDU0Y2KyszTTJ1enV6TnplM2R6bGZ1VDlBWGUzZTNOUGRuWm4zdWRWamlPSzM0Q2ZqbDlNT1RtOHRJczNSNVBQNy9BcExlZUtVUEFGUCtKVFh2NmhYTU52ZUUrUTltU0EyendDNEN3eXdIODhBdUFtTXNETkhnRndCaGxnaEVjQWJFa0dHSERiQS9BZHRWRFdtVExuVXh6ZmdWelVsZG83Zk9hT1EzYkpNL0p2Zlh4ODkvcWxzeWVQSGo1eDVzTFZXL2RmVzhtbi9uMFF5dVlwalRpMjRqc3gzdkJqVDQrdEdoZGVxMnl1QVAzSlhoa0xWMnJVZS9iMnk3R0c3MXl0ekxsRUtselIvczc3blJIVmcyeC96Wkt2N2R4TDJtOG16dzl3QWI2TzJzdDN0STJQSFYvT05lMjVkcGF6TXNjM0VSMC9jWGtwdSsrUFRoZlFFZTZYWW94dkpqcjZ5VEtPRE9FOTVCMHl4dXRpVFBIMVJ1KzlQaFlIUjhrWmlRenpYeGFHK09vbEljL3RKNDZQWTVtQjNvZCt6UENsZjZJTysyOWVwNGJxbDZ3TzlUOW1BSDlRQjcyZDBjbXh1aUtQV21sRytLcXF1OElINXgrK0JTckNVMTVzQUI1Umh3eDNmalNmUDlYaG1qUEJWMDRkY0QyTDhYSi9WRmQ3SmdEWEt1UEY1Mk15NEd6MUx5N1BZTGl3QkdXNDc5bmNNcUd2bFJGWE14aE9mZXdTTWpONjZpWXBRNzVpOEpoc1VrYmJ5V3JaS3FqT3NmT2FsM2UwTWxoSFpndnIzOHFZVTUwZXE0b3lWbXc2WmdDSHFmdWQwMk1OVk1ZNnpHNXZMNjB1RE43T2pyVllHV3N1TzRBK3F2SmJ5Tm14RGlwRGRXYW9IcDFWUm0zaTdGQ1BsYUZZNnNBcmxGRWpuQndwVUYwUlFoa0NuS3lNdXR6SmtiS3JBTDBaQWxRZjQ4MU9qbFJFMWZSWlVvaXZsV0YzT3psU2VXV2tSeXdCdGxhR1BlYmtTTlZWb3NnU1lBdGwyUE5PanRSSUdla2RTNERkbFdGdk9UbFNIZlVoU2NNUTRIRFZVT1BrU0orcUFETXhCRGhOR2ZXNGt5TVZVQUdXWUFqd1IyWFUzNTNWZmxXQVhSZ0NWRzJuYTV3Y3lVdWxuRXZZNFF0SVpFY2pYaXBEbldVSHNKbzZMOTg0TzlaKzFSREFiak5HdkZ5TjJEMXZmSDltQUc4eVhCc2FJNzVKVnZqVTdjbnBkWnJqTWlFR3MzS01BUDZzRHJuTytkRVFmODkyTnZnS3h6TzliV1lobDdBZUU0QjdFSHQvVGdaL0x3THdoaThEZk0yUUFYZXgrSU1SNnhzLzIvbmhzajdrR2R2Zk9xRUcvaDdPanVaL0J2VlRNZEdRL0Y0aFF5YlVjbTR3eTFiMHo1M081cW5ycTNHQU5YYnFqMTJQanZVOGhBMUFMMDMwUVBJd3gwZktja3JqRUdObUN2aE02MXRkNCtpbVhQT0JacHhqRmxZQXVlVmFiMlZVRDBlR3pyRkJPMHBTYVdiNHVPRExPcGZ2NmFiMjB2aXNFOS9yeGhqS2tvWGxmcUwzU3Q4Zlo0K3ZyY2FtQlAwQWl6aW1VajdHNERoUE9qbXRSbG96VTl0NXpXTmpYTUJPYjdZQXVTWkp1UENEMkNOTEJ0WEpSYm9qL2N1R1Q5cDRIUnUzY0RZZHgxcnFSQk9qSk9LZlhENnliZm04R1JQSGpSazVjdlRZOGRObUwxeTM1OHlkYUhKZ3hhNWdqcjBVdnNFc0hHV09GK2NLQ2RuSEJsNThWODVGNGozMExRTjhKOHB5cnBNc3E2MU93bnY2bFlWenFWUTY0d3k4dURsQm5Ndmw4N1Z4RHNLN0haR0pjNHRrakhBZ2NpNXBSejBMNXo0cE1majNkM2FndTdHNFJRam5ia256K2RqTjE1SnNZb3MrdHFSclRpN0ZKRzNaVHROWDdqcjd5S0FMOEc5dUhOMjhjRVQ5Rk1TbTVSb1o4NWY4clBxWGRSczByRmU3WnBWUGl1Uk15NlZLcXFSS3FxUktxcVJLcXFSS3FqaGhKYWczYWMrMVYvRjhsR0tHemR1UXhCcENlbjRYdVllOXJQdW1ObEg5YmJwSENRaVBsVHdCVlFTd2VNcmY3cm5MVW9aMjU4RCtZdW5qNkVtU0hmSjc0ZVZMbkZHMlhCTHZPam1JdlNJZk5lZElxU2Nkd2VzWEdJcHp4S1ZwVjgyTVA5aEp0SzVZYjJ4WVBBc0J5RUVUOTBiajdSRGpVb0RHaElNSzBHNFJNenNiZUlNQ1RIc012S3V1UHorYm0xTW52V0RzNHg3UlJtSkJBWEpoYjNIQjY5NXhMZ1ZvOEU2R1Ezd1NhZFVDNUVZRFAxS1kvaHQvdXhTZ0lmVDVnUERoRXprVnhrc0xNT0FqenAxWng1WDRMdWpkbmFIZ0NSbkI0UUZ5dTRXM1d3MTM3VWpYVGZKbFE3aFZYWkRrcU5nUXZYVUFSd2x2enhpZis0SXpkbHk1NFlqY2ZQQXFIbWRPRW8vK3RiSzMwVjBNWWtldmNTU0FuWVczRDFrYmpTdDNYLzlTNStxamVIU25hWElHOUFBYkFvKzFDNnlNWGhVbmFQUEJGeElUd3NDR3RrSzE4T2tBZ2tmYzZob1hCbGZ2dE1iUlJNcjhtQ0ljM0VzRU9KcDFKS2hHbXFENXpOY0pkc05CbW1na0h4M0FINWpFS3BGdGlPT1FwTHA3K1BRakVEV1ZtSVVBMFBjSmc4QnJxalJHSEVHWEFuRm5CQUpUN1V3Q1FCaWFPOHlWQUxtaWlMOXZDL1lNVVA3aHJYd0pmVFVBTTl4aUZLdEVrNHgzVllURGNTZkFqZXRxRmd6QWtMTXNZbDV0U21sVmZmdUFUY0dIa1YzWEtva2FGZ0t3T3N4UFRpcmhhb0JjYXl0OWt2TkZ3V1A3NjZkREFHWnNkcGhSUktrSm1hNU9jazNjOFdvZkpOZlV0VDkzUTZpN2o5NlN2L0N6T3dobFdqVzZiQy8yaFBLUGlmcTNlNXhwYXJxM3RURDJoTkFseVRoNEY2dTVpWlA3cUUveWZNSXArV1krMElkdmJLL3Z4YmxMdXFpYUZ6aytyOGhYTTlidE8zbjIwdmt6UjdjdEhWTExqM09qK0tpTzBpcWVhWGo1bFdIcXBFdWtwd0x3akdjQ3pLVkdJL3A3SmtLMXJra1p6d1M0WFFIWXpqTUJMbE1BVHVDcVhJaExNQzF2TnFkekMwQTFkWEl0ZDkwK0xqM2FMUUQ3SVRsTmRvWmJ6WGNMd0ZaSVd2VlN1L0FsdW1kcGI0ZmtrRnNhREJtT3lpZ3BzUHpWWCtzWFRCNGJNWHI4dHovdHVpRnBEK3Y2RkhIUFE5SmZyYjZpUCtRTGk5SjluRmRVODJsd09GeVpvaXU1NlNtZW9BQzhvejgwSDFyWHN4dk5FMTJCblNjNnpEMEExWklwbDNWSFNvQ010ait3VVRjdHdLR2YzQU5RRGVrL3JUdXlFZGp5QThtTFUzSnV0d0E4UkNxT2tBYUU4azRpZkNzenNMRDJjUWMrM3hpU0ZiMnF6aHFqbFhYQ3dVaDNBRVR5MW1acWo0RGM4bWppOThZQnM1TTdBQ0xaaExvWkcwVk4yZ2JlcHBmdUFJaWtsZWdjaW5Pb2RYeWF1TkNBaVVvMjFmMW4xYmxZdjZWbTA0UENJOGx1NE1hTGVXSUdPZlRWRUpQajVvRWQwUFg0Q2lEaG1qL3FGMk5hWVV3dmtMVDZsK3NCL2tKSnJNdE9LMExUam5IUkZvSlVRSUxaM3huNCtBbndjVi9zRjdQQzRPalBYWTB2LzFPZVZzZ0xwaGxhZTJLK21PVmZhS0J4TmI2d1c2ajZhZkQrY2hib3JyRCtxZzlQQ0JqK25HeXhZeWhCWjFGOE9OcGVWRXlzc1I2SStES24rRGhiUXNwMFdQNUN5a1J4TWI3S1dvYlVHcnNQdmxGUGlIbjkvT1ZidGFRQXY5YTFxN1QvZDFxNzN3bjhtbHZzQW9HUGZIQXRvL051ZWxPWGZrREtmTEcwd0JYWmpabnRVbTI2NFA4TWhsM2EvZFI0eWJsRVRaN01qb2pNcmdNWFVuTTRKcmpsaEkxQ3JnSFZ1bzcrOXZzbEMrWk02ZDh5ajYyZkNBeXhYMEp6Rkt0VXQ4M1g0N2JnaThNL3o4SHNBclErOUpSOU5NQXJacWxYRnBjVVQ0OHV6K3o2OVhVRnZqc01xNHpkY0FHKy9Sblk0Zk5qSC96MmZqREwvU0NNT2I0ZGpLbjNTN2J3Zml2UGVwWGR3QkRkODdrbDJXOEQyYU1ab2J1OXBIRWFsMnhVeFoyUHdYeStmODVYK1YyNDBaZG9QWHE4UXpKdWVQL3U3YjRvNEtIT21sUkpsVlJ4clFHbjNZQUpzNDB5MlROYzlFV1hrVlhrZWlrUEwvMHZ0RklFQzFNY1g4bi9xTHZTNEpUR2wxMEpUSXFQZW1DUTZ3dDhVeHJnTVpGVHphK2YyVE9mM2lZUTM5SjBIcnU4d0FzNHlYT1h2MUJBZ1U1NjhQcmNna2tSYlJmS1lQRDBCbmdDa3BDV0k5cGdURUlnUFBPS0I4REwvUlB3ckNiUE5DeHEzekZyYWVHTVpQNCtqclJ2QVdmaW55a01MM2lLV3NNc1dSKzYxVTM0OEdhS3d2TWJvYkVFak5BZHJnQlFwK0FlRWpaZTF3OXR0ZDdZQjQ3M1l2aUxGcjkwcGlSOXBueVZPazQ1WVlqdVhhc2ZFR1JrM0hOZUljaFJmK1N5My81KzlEYmVXVXB2Y0N6a2lzWDRRTzJUUEQwMlI3RXkxc1FhUy9CTmhLWDFmQnhGRjlUekZFTmpVbklyNHk5NHJZRUpkODBjcXE2WGNmWUhscWE0eDNXTVB4SFFkWkxvQ251OWZmNUVvekZsT0MyazFIZkNPNWJ3a3BkaWFtbGFUdHY2VmcwaXZsSVhtRm95ejN5SzNRTnRmbThCQ1Y4M3BobVVyM3JqN2RRQk51K2hFUVI4WTFuQ3M2NGcxbGhyZGluNkRVVWVyeUxZOHFheXhKZkF2dTFrVjdhV2RPWVIvSldOaGNuNDF3ZS82OVd1WWRVeStmTkFLYXVXL2ZzMmYyNVVDbnhTcy9mQ3U5b3ZmOHRZQTlGN201SWlqZHF3ZXBOaWN3NHJMM3hPVFIxM1NtWnA0ZDBkbXgxejBramxPS0VoYkpyUjZEclFueUcrdkpvSlRwcUczeWR0QXVTNG9pZVFZZXF5QS9pajV2S1JESFFtQUhKZWs1RHFlamFhMzRYVW5iRGgwSVZydDI5Y1BobTVxR3RSU3N4Ykh2UUNIaUhXc0J4bEFxQW1xZTR3NVRlelQ3eW1NOEZGLzBvc0FEa0p2WDdrcHBNalRRRkVlenIySTUwVE9Dc0J0emlkeDBkNVc1QVY0aDBsczlMY0ZlUXNhdis3OTRTb2hTS2tDcHRXYk9Ka1ZVb3duUU5Ya011c05pVEVWM3d1SzUrUWRQUG85bzFyZjlteTkydzA3UnRJTjlXOUhBT0FTR0ppSEM1WE9PdytQUGIyMnlwSU9IcnVicEtlUE1qNEJhUXdMTFZyN0NpekFMMVVsVzh4NWpBTWY0eWZhdEFWNjBOdEw2NkE0V2xYaVJpOUlaQnBnTnpuYXJTVE1TYStJdFFtbXVMWXhsL1lsTis2NmdYc3dnZ2dkMVU1dFlQaDJFcndjVnU4U1FKVVprL1NoNm1yZmRHUzZOWHVSNW9IT0VJdGVtU2dGZThwQnN5V09Ddi9TbVV3RzNaUE93Qm1VZUxHRXZXS0syeGMxWlIwOTE3SGxERlE3MmdialJ6c21HTHVOK1hjRnJvanZjQnlSNnpoT2grVElhUFd1Mi9MN0FvaTBVemY2WTZNNTJtTjU0RDlWZGMzejB1TjZ5bktEcURhZ2V3VXhvQkpibUhYRkh4Rkc1bWh4dlZZZmRnQjlGVnNPZ24reG0zaEF2RjdJQnNpU2FzemxGSWpOemgyQURtMXVrc3A0eWprNW9jVGpla2FuNm5saVZnQ1ZKUDlkQzRIbUJGSWpKM2FiRXlDVW5ObkRuSHNubUp1aUhLeWJuT0ZtY2V6U0VhL2VLTlp1eTU1VFhYbUNxcHArUHJjQVpEZjk1NFF2UWZLK2ZBTk1jOE5sTzJtcjZDSjZMYm14SElhc0ZuaFlhd3JweDFZVVo3b3pISU5iVlJmd1YxQkUwRlExWWtxWERBMFloL0UxRUxzQkZlOEFicFBheW9qMmVyL1BGUTUwMFIrYUJubFpJTlRwTE5JUVNibzJsdDhLZFlrdktDM2ExWXkvWkNvelV4TmhPRGxRYkpqOWJKRWlvdmZOYjVOMWVJRmN1Y3JYTDUrdjJVU0M0Z3lVTUd5YXFFbkc3L1pSam5UUkFaclBtSlNrMER3VnhCdE9rK00vZDdVcnBNdmJQeG1QZVhNK3JZQmxpWm54NEl0bDFEejhBQm1mUWhRRDlzSXNxdXNuTmplTmtDVmlWM0NIYzY1SEdQSC9BZXZyVVNUTmlXOWxGQk9IR0lib0xvNEhNR2ZrTDdqb244UWN2eDRXd1FwOWxVdDJkQ1QvcHU1aUdzdmJrbFRUdjZWZkpKL2lWcXRPM2JyM0s1eGhXeVVvZFN1TGl2cHY1bGVPWEdyYllDRGxaT2RUbWllcjFaRHMrRzFpeVVsWFdORWZWQm5PUXV3aDZvUTJvaHZ2NmdRRGR1K1FMVnU1Umo5ODdIcVY3SUZPM0RSaWZFV0hFOFZ4VVlQMEMzS2lUWmp1YjFqaWNSVG9Dc3ZpRjZ3YVJqbUVaaHN3NVNpK2JiSjRsakZlT0xHL1pDbUR1M0QzUlBuMU1xTFBpWTFsTk8yQUtways1bitFQWdjekV2NjNrbGNKdFIzNmw5TGIvYUgwSmVzTmdDZUpTdHh6MmtBSDhEeUtqcEJlck51cFArc2F0YjdtbjZpMm51ZEg2ay85b0lDc0NMVytoNnNMdWl4UVNadDJUYU1FSWpieWxEcjZ5VVpZS2FqK0RwVHU0a1o4enBwWk03U3lZV3AyK2RyeVlpUW8wTXZTY0FtUEhIQWdQNzkrL2ZyMTY5djN6NTkrdlR1M2J0WHI1NjloeStEenVBM1JwVUFjWVBkb3FiUytLbEt5RldhdjF3MTk4aTdZaG56Zm5KTXRtQUlFamtSVHIyRVNNOUxTZ1BTU2xaRDdiZVpwdkZkdzBVK0lpa3Z0NmdyelJkSXRBUXgzams3WWlJL0lIMFdZUmJmWG13ZnhFcklHUU9vbHhEcC9maWFvUGlMZWRhU3lERVY2WDZ6SGQrU0VIVjhma1hDN3lKbTZvZlVTOWdOalpqQWJuaTUwZjZWOTFVN2tKZWZmMEM2b09EMElXQ2hMcFhXS0Q3bTlnaWMwUmJkWTYraFRyMzVobFhKWjZSR21jY3QvQ0NIdHFEZEtzMEozcVEyMmx3eks0OEdhWnkyR1RwZnBZZEZBWGtrSE1oak44QXE2cWdiNkdmdTBGZGRuTnFtUnZGTS9ua3FOaDE2TUZGNzZCbldyWGFBNTk4NUVIYjBnekxzWlBxSlllYWpwbHBoQnloKzRHOUhZbXlEL2lNWEh0RFJJYk9wbHNzNHBsTDJKZVcrMFVnL2svaFlGejNKczEzUVhEOU9NSEY3VERHRGI1RUxpcktFZlZIY1hHYmhvR1NiK0w0M000NFhKbERTaDhtZjB0VEdreEpuc3pOd3J0N3Jyci9DL1oxSis1bTBOc3k2aTRidnJDM3pWOGtOaWVSdmoyZHpQOVE3Uy9xQnV4MXQzWDZEcVJ2elBFWjNyS1hCRnN6dldBKzBzM2tYemFNSGxUTE1UODdZOFNkTjlFSFUxdDRtTmpGcG1VbzR1WGhNLys0R0NjL0IrTkZQVjZaMS8xRlRabjR6cEdzMWMrSGJZVEJNUFdhTW02cmsyUzl3Z20vbjkxUjRZaVI2VEFHUHhjZDlZc0l6bmFJQ2pXbUY3UHhTY1BmdkZ3OHA1aDZBSUFyeGliMGJsNWdJZW41Z0JqY0FuTXZiWFdHNW1HTExpOXRRMStXVjY2WWdaTlNrN0ViWDJ2dFQ4cm9XNEFBVExpT2R2Tkp0VnZ2YnU3SThPY2lyZTIzWFBHWEJGTE5aVXQ1bEFETWttZk9sSVZRV0cydDRZV0JHRnlFOGJvcFhFRGl4UnVuYzVKb241aXVROFdCWGhieXF4SHp1QjFQeXVXQ3ZBNkZPeit4YXFuWHQ0N1RxWFVmbWRUeEtnUURNNkxaMkVib2w3eW5sbjVaOHloaGhCVmhCKzl5d3Nobk1NNy9Bem9jb2lmc1hCek44WWpyY1E3aVMxU0R2dDVGeXQvTk92RU9HR0wrWlZXZUpkRGJUYXNhUWI5L3FxeWhUL1hBcUV5VXpsMDFLUFo4KzFZZkpVMjA5eE9LSk9XekwwR3ByQ2FKTzlSdm5ueGlmbG9OcDB0T0VjZE5TZlNWbHFpOFB5ZVFCZW05Z0Y4cFVzM3RpbkJMcVZETjZZcHpkbEdoUHRmVlFKMzlQbitvM1N5dHduajdWckorWW9GR2Jlak9lNnZpdERieFp3Zk1mRm1VdXJzbk9xWDQwM1FGRFFWQ050cjJHUjZBeTRlYzM5T1JUSjZiYWVxU3pYZFV4UWtaZEpGdVJ3MTN6VkwvOW9hTHBnWHBTOW9HRVVhNTdxcThNTldlQVcwVFppUThYWi9CVTN5WC8rZHNhMm41aStzaVAxOU1iTjZEOTg5WTFRUjZKL3FHaExsL0FIMCszc2R0bmhRVGp4WlJQb011RFYxeUxnUjBBMnVRV2JsakFqMUtmR05qZTU0aDhNNkJSei82Z1dlSDdMTzVZd044dS80ejRQUkFhZFUveGhXaml4djF2T0xISzJEdlZWNGRsSm12VTZtNEIzcW01YlNCdU01NnA4Wm8yMVFtYmNSYU8xbURaVEs4QnFOcjFMY0RuMnBINVhrMStxaU9OaVg5RHRKR1U0S3pzMmhWb3BUdlZzdWVHd0YyUTZmcUhGaUFTcWRiTlhId253Nm4rUjY5N3o5UEd3T29BMW5IQVFPemtWT3VicmYwUFZPTlYzeVpvUTgxQStrMjhlelZ3WFFjYUdJT0VKR0lCUHorU01selRtSFRGVnFvLzB3UFVwL0dCRHNDdlZadk1IVzNKUmhCKy9jRmw2RElPdm1pYzRpVzZrMkFNbzNyTmptaVRpa0JTelFQWG9QUEdlbWVOdTMvYUJJMzVCWGdsZHFoSFFaTHhIbGZBS3pEMUVZRllHYlpXRUVlck5qanJJTHo3cUFUS3c5U01jY3pSQlhRNVNseXFqU0dkQXpVWm4wRWc4bEZwWXZLYnlYUWF1NlRTaitReVArOHgrUXVad1J5ZlU5NnVCZWV0Z3NwRDJGYVk3Y1FVWGRiaC81SzE0NDlMc1FIZHM4RXhKYUVwUC9SemZkeXpaT2srNkc1SS9Jd2R1alROSWhOcFpsbUM2eTlJVUxqdXFXK0h1aVRtUTVCaXM1L1JETnNVQ3BWcjhVclV0YW9KWkpyR3lnTFE4eStlbWRtbW1STFlkcnNaRzNqVlZsR2lqaDlPczl2dzVkdGc2ZUZyMXc4dnFjOGtMaXJIMkZzMFkzdURsRFVkK3JiYVJRa2Z2RGdrWTRxaTQwclBvM1JCU0hGalhFamZ2eW5QeFdHN25vc3l2OTh5NXN5VVBINWhsTVAzaDZYMmVySkRqMzh3MlQ2blkzdndqQm11TjlndmR6b1dtNWQzMGozYWMxSFB6cjk3RUQ2UDR4UXhsSjh1ZnUwUDBOeDRnK3dPRlNrRDFiTDlCcjI1V1NMdkFLY3J2emlhdGw4NEVEcVFGcVpDN3NEY3NrMWpjYVV0YUpKcDhDWEtjM0d3bzBQQkYyMWhiaExXQ0ZZMWdTYzMyOE9veUZzcGdaTDNKenZxak44SmpNYUVad0dXaHpJWEFsVncraU5LRE8ybWVnNnZCMkhnVGh0SW1uN2c2djZmR1JyK0o4VUllbjZRTXlGVWdKb25FNU5oMTJydERuaXBURkdSK2VqRlRvYlVBTnA1ajNoMEFJL3B5S3hWa1NNb0tyTDFRQWVuZzVJbVlDcW9hRzFmTVk2cXlQY241Mld3WTg3bGFlV2VZY2w1a3BtNytPem5sT2RpWXgwMmV0UUVLalVmU0t5bEV0enpKTzI1WUJkYUNHejg5TmFzdUxJQ2xkWlFWT1RYQ3o5aHFCUlZ4TlFiVVhXU0s5aVNIbG4yVXA2TC9lRnAyYXE4TVpTYVFzMndOUWd5L1VlRWQyOWlIbzYxckFZRHQ4SGZaMkJuVFRJc2tqK1FlUGVHMnE3b0pBeXpEQk53RFQxRFR1TkxFT0RWbFhNRFFsMmttc05FemNSRitxSTFhVHJCcHByeEJ0ZHVGbHdoMzRWbE9aZEpsZ2VpbCtLWDhIektEQVZYblNBWmtJM3RVM3owT2t2eUgrM1NjcTRVcFVBaS8vSGV1YitPSGp0OVRVM3d3ZldmMFRZaC9XK2k2enZSRjc1SnVPMlRzWUZsWHlQUHhmcmFidWl3elhFQjA3RXhjS2NJaW9qY1VmcHMvMURPWFpJcDRweU82Yno4dVJyeDdEWi9Sc2VjbjFuR3pVUTdZKzJCczFaSDdqbTRmOWZteFJQQ1MxcTRWRW1WVkVtVlZFbVZWRW1WVkdFaC9tMEhlWkIwVEcvUXBpL3hIaVgzOVVGdzRieUh5WEFkd0dHZUJsQmZ2MmFVcHdIVVIxVENOaWNMT251RVRNS0ZIbjBEUG16bUdRc0tyT3Y5Zys3RGlaZ2EwQ2tsNVFDV0h6MFlZRmxja2M1Sm5nWndCZTRLTm5ZYkJzdlFNbllDbk9EZUt6aUxWa2dNTzhYamJWWUhaQ2x0cVlIajVYQUF4NEVQVzdvTFlQVnhOUGRPZVlCbHVlN0QwZUREMXA3eGtJQWVuZnhTM1ljUjFLeWIxcEdJSzc3U0h1aGtxQnk1UzVEVjMrU1Y3cEZkb213RDFzVGd0ZURsbHVsaXRiQ2h1MlFCamJheWJaRGVMQ09GN1VLRHZyN0pDNHgyNjBRQ3VKT3ZxcjZaSTVaaGxCTms0c1QrS1lydEV6UXgrbEtwQ0FlbVVpMXo5REl0eDdXWDMzd2dwYTVWeGUzRndPUEtkeU1CM0kxV1Rwc3JkaUJkekEvS2tDRmo4Vm44QnhoVW41Q1VCL1pRZzhHbnRma0R3c3ZDNFhkZ3VkSTB3dXR2K0JYQ3YyQWVPdkNieEc1cmdhUmZxNEZycjlHYldsa2FEN0NyZEhWaE5ibUVST1Q4MmxLSWJobWxNSGNmNVJmYjIyd1BXaHRnMFRlRzY0NnR0V29HNEV3eEloWUxrSXRKc09nQmRyQUpzQUV1WkxFak5YV0pBdEJ5VXJ3L3NRQ3o4MDg1K3dHMndCVTJCazUxWThOV09zQ1oxYXBWYTdPVFh3TS9UVWl1L0prZ1lwNUZIUkZnL2tQS2FvRUMvQjJjK0JtNUxqQjhqUFJOSktGVGZhSjlBRVU1THE1QWN1bVBydUlWVEhqMjdObGJucjhXaGdFb09WZUljVy9kY0dWSjYrQlNFR3dBM0RkNzl1eVY5L2lUMEJHZVlGM3hveUR6YzRtakpVWkZSU1h4QzVSeW5DakFtK0RFSDRjVHIyQS9YRjNqcXRSS0FKUjcwTytvbUF1RnVRZG5TYk52N3owSUNWeEhNMXFzcWFlNGpWaGxKZDRJTU5QN3BDS09BQnlMcTRRSmkzMnZjd1JnYTM0VkFTQTNnLytGYzJBZG5JcUxUOGhON1lWQ0FlaDdTSXdXd0MwekdkOGxGM2NBSUF5S3I2WDdNQU9NSGlRRDNMNEF5UHhhS01BOU0yYk1XSDZIdnhNa1BpU0w0Q216ODZ2TEREZU4zNFNaNG4vaGlRc2lTRzYyaFFDTHZ2Q0VMN1hnOWlwNWc5OG52QmtqQmhOSzViZXRXMFJuL0ZPMFdIaFo2U3FGdm82U1JtaXBMTEpLdHcxckZ0cXZHU2hCQWkwMXpmK0xtbEJxZ0d5RWdDK2hucFMyR3ZpZ2hKd3dtck9HS0pWaGhGSjFLYUtuaUp3Z2w2YVdmS0tsdkhRbU1SMTJHN1pmeld0cWVKbGJaVDhBYU5ERlFCUk10R2NBaEdFbWhqQW8wSGt3MlRPOHd5RFNMODd3S2N3dkNuSjgxQTZncE1BSTRaYnJBb3NMakNqaCtGQ1BzWTF0ZnRPbTdOb3Q4ZStmQ0RLTVMzdnh5Vk0rNXNrVEo3TE9RWjdpYmNPbk1EYktpYmljZUVSWGV6ZkptUm4yc21yU3ExUXFKRWh0VHdDWUh0OGlaN1J6MVI2NGhIWE5temN2d3dJZ2JDYTF3L0J4RHlvcE1RR1FWOE5nblFQNEtiNUZUbk9xU20wQzRNVEF3RUJ2RmdEcjQzWG5xcVFZTGJmZmc1MXdsRVJTQ0RjNGNRV25oZ3BpWVFCd2lFSnROSktacW0vWkZqSGNkZ1o4L2NLcDBpWFQ4WTJCdk1IcWM5N3hZY3MzRktTQlNPSStkYXE2Tm93OXhhUnFnbWpCcDU2d0ZVTnRDMVBNQjJnTFZoOFBBQWhUS3RMalRHd09kVjlnTDZBOHkwZk01N0NuWjFVYlpwMXhnb3hzcFdUVnBCMGpwdXBuSFQ1T2tpRkFsYTRQWG8xdUo3VnA0YjV1SUxJbDZaUkI2ZWsvRWt1SWV4OW5ZcTk3SzhXTUx2S1Q3Yklmc3l2N3BOb2NUb3BndHE2QjZsdGcwazJGbHRudUZDS2VkeFJ6b0F0K2ZkUkluTFY5ZVBoWDA2SmtaK2tObm8rQUdKb0xIL01mdzhQRG0vakJhOUFoUEx6RDJIdGlNbGtHL2lHOHlueFVPSlJHOUo1bXNDdmhlc3lCTDAxMEZvaExodi9sZlpjTUY1S0svRlgrb253c0RmOVduU1Q0WDZZb1Bnd0ZlTnZVTFFpdGc3TXhCNHFZNkhrbkFlUWkrUy9BZnd2NExxZVY3SHdqUUc0ejFOL3NCTmdESDdjdFRCTlB6Y3JSQVB3ZFBrMXBYc1FHRFpZMkR5ekFQMkNpbzUwQUp4SWRJdURXZm13S1lNR1lKUEFrTnVJM2N0bVM3MWxJQUJzbnZ3MUdBZDQxQlJBMjdzTDJ6b01yZFlDTmg2UmIxNjQ5NTBTTDJ0QUc0Tnc3S0tlRGFnQkdidDhlZVZGS2hGTUE4c2xBWHRuSWd6bXNMUmVFQ09oU3pOTy9MVGxERXVlQXFQMmcyRmMrSUNCOUdRYWdHRDdmanRNQVRMb0s1TGlOM01TbnhQeWtLYmFiZjhaWkk0WVBIOVJJL1B1NlFnTjBTUHdySHlQQUlvVUs5ZVV2V3JRQVRkMkRJYkJnRC9ZUU5QUlBNdldRUURuQTMvdEhrSTlTLzNmOVBlaDFWYnJWN1FOWWlXeW9MRys3Tng0S01JZFNhVzhUL2lGcHkxK0JQczFRdXdCMkpUZFhUQWRMY3BzR0dNSFB0QUR4ZnlmMjB6TUF0RndTYnhqN3J1QzNGTGNyU0d5TnRaZ0ZlRkZ1R3J1Rzc0SmZabHJ4MTcweFcxMWo2bFlYU1NuTmNwQ25OVTZFUzZYNmVPVlFySW4xUkNyakZhZW91eS9GK2tPV0M3QlBvS1FzaEpwVEZrQlNTeElodFdlZVRhOTdhMFRiR2FYazY0OFFhNkYxVkNJS1drbHJRYkh4Y0ZudExxcGI0V05GR1JSTStZVmd3RHl1RVE2Mlo5S3oxVG1CbnM1VmhJTUZTSnFZR3dXR2FQVWxIUVVWTHo1NHB5aEFTRHpLa1k3dWR0SUV4MEFBdC94SXJFRTJ5WFlQVGhkTFFZRGdCUEZ3UTlvZDZoYnBSRzhlQ00wZjF6T2xvQ3kzb2JBODhJam8wQ0prZ0tzOUFkOGp5aTNRMlJNQXJxRUF6R3IxQUlCVW5SbVcvem05VnhTZ2ZPK1hYZ09MemozcDlkNG5vS09POUJvNGdPN0xCNEFMNXFEMEdwUUlmQ0FmQUdWZUQwdXZBZWw0SkI4QWQvMFIrUTFNbWsraVpvcE9Ra2xwcFVRa3ZrWlFnMTdJYWVTZkppQ1JRVnQ1L3FYTWNjckdJWDE2Ti9COHRKelRXK29qWWhUNG1lZmZ5c1NrZUN6U0pCeWF6LyswYldIL1M5WUpSd3Avait4cXp5aGNoSVB5Z1dFQ1EvdFNlaDE2VDlqQTVYREFRUUl4bEVzL0J0L2wrZVB5eHRrUHNab0czUklJdUx4YjlFTENvMmZJL21heXdKNWhvcjBGcUhpQ2h2aEFydVZRUTFEeHg4cW43Uk1vdE93d3JacUVkTmdXOXRKblljZ01USkVQN05ETndBek1ETnpVMXBIRUN1ekNIQy92MXRtRnJmRlhaUG9UNU5weFdaN3ovTytJQnBJa2UvQXpDL2ZuSHZsQ2p4WU9mQ0hQZ0tDdjc1Y1BqQkJtUUE1S0NMMHYzSjV3QmtwQnJtcGpyMmtGSDZTYmNoR214b2gzSjgwSm5yOGpLNXYxcldycEJlK2pTS0hqTDYycWpRek13RU4wQmthVFp1QWI1UUd3NVFrSkVrT2NWc3Z2NXdvMFJiN29lYUo1TmM1a0ZzL0h5WEVGT1Y4aGRVbi9wNXVCN1FqdnhzL0FCR2tHWUF2amVyYTI2d1BpWXZTVmJFTzl3UE9YL1pITDIxMTY3ZnNQei84cnh5aUNXaGE5NUF0OVNqY0QvZVFMclo4QnVVNnA5NTl3QmdyRG5vTTJLdzMwa21wWHkwRU5SVDhnZ2Y4LzhQeDd1Uk5Sb2ZkSXRhdEZncVpiVkhxZC95M1AveXdmK0Y1UTcwcmlabUFPTWdPNVhvTVpHQU4rOXhlYkNrK29aSDg1TGE4RDNaQ2lWZ0gvOHZ4Wlg4UWtLM2NsOGhPbTU0TDh4M2RBbUJ1WWdTdnlETFJCWEVod0JtUlRGWWdZN1BFUCtObjZKdDBVcUpGVFdIQmZ5Njc0MG5GSUI4KzFQUDlHWnFrbDBBVjNGYysvUTJkQUNUa1d0S2tZZEFaK1FpejQwT0wwMUFUaGFDYkgzY2plN2ZSZ0paYS8yRjg0SVArVndYZUVSUjFkY09WUSszVENnblphZHJsOFRacUJ6c2dNK0Y4UmYvUTdFMHF0TDZCTzF1czgvMFJPelBvOEVXbncvRHZQUDVkRGhpb21JT1d1ZnVYNUtMbklkcmw0WkMvY0pNeUFYTGkwVEJ5aU1QK0N6RUJKc2NxZXFab0lNTFJ5OVZPa3VxNXcreWJKNVJZeW9RdHVoTERnMXBUZEJ3L2tCWmVEWWRucURQd25iTER5REF3Z3pRQk1KcmhraWhkQUExaFVVNnVhT3VZbEtDRDNaU1dqbHJEZ3l0NU15MzVCTVpIclExWkxVZ3Z5V3Zib1prQnhsZittbTRGcDZLMC93aHh6Z2RVME93czdkN3hzYjgzeEVuRUFUQlVXWExtclVkWVhQQitKbUw4VDVZcndZY0lNN0xLb1BxSWsyWWVWU1ZESjlza0hSZ2t6VUVOY2FaS3dWWGZ3QW5OTFR2bWNFUWhVSUxMZ3ludy96VW1ldngyRVczQ1BDVnVwN09lcVkxWERualV6VUROWjFWalVHWUJPNHIwbXVWOTJ1TjJWSy9nTzJmTG1DK3VBSEt5WTd3M1NmTzg3WVNVdUxiM08vUnF4Z0g1TG1vRnBtQmxJK3dMOFpGT3o3UFFYTVdlbkUrSzg4N3NrM01KeWdUU1FaOWxGZnVqUDhmeTFBR1F2bE1OM05UUFFGT2xMb0ptQmhsWVlrZndWTEVocnVvWVlUT2lJRFFVazd3MnEraTVGZkJudjVQQy93akhhQlRkR1pvMEYzaUZXZ0lYSURPUkZaMkFlbkFFWThEYklQTUdIRlh1SFFkWDNaQnBrd1pWVjMwQmhtZnpiQjlueVpKdXQvMVdlUDU4V01STmdaNkFkb28zQUdhZ090Mzg3UXR2YXdRWWxGcTU4QWhMQnNwbm5YeW5rSXg1WjlkZnJ5SWNTanIxR1J6NlVKSllWZ3RJaHowQVJZUWJlMHkwZVJrbnpVREsyRGtOVTM1RDd5RW84VUZodzYrTElSMThreERnZE9nTTlTVFBRVFhKQzIxVjhFbnFvTDFxMHFtOFZsSHpzMHBHUHFmYVFEMGovVUcyRUZpT05sUXl4VWpSNG1LRDY3a1RKUnhWNXdSWEl4MTUwd1pYcFh3WmhMenlBSXg5Z0JvN0lNekFZbVlGQ0VHQjErK3hnTUlMaGt2QTc5UkR5NFNXUThmc28rVkRvbjZDSFA1TEpSL1ZrdFlLK1JlRGlUOUFaa0V1RFd4RDZONWZzL1NKTHJuaTVHQnlWZkpUSGtZL0p3cFpISlI5YStwZjlvME5wbXpEcDY3SkZwL28yUjhpSHoya0MvU09URHozOUc2NW9UNmZzdG5XS2YxZGJ0dVJETXdNenhCbklBK2VxcnYzV1dPaldnZTdBTGtqbFAvUGtveHVPZklBWjZLR2xmeXQ0U3VsRG1tVDVvRFF5K1ZsWWlmUGd5TWRLSGZuNEFTRWY3N0hrWTRsdUJ0WVVnZ1ZJYXpoaTBKNEYyeEtCU3hoOEcxbHdleUZxUjdvYnlJTGJIWEdrQlZ3amtBL05EQURYMW5YSCt5WmtnaHRRTDFuMW5VNGlIN05za285MWd0S0J6c0FDaFA1QnFlS1lUd0Fxa1MvU3l3dXVQQTJoQXZrNEtDKzRROHlRanlDQmZKeVFaNkFQU3Y5dVFIeU90aFlKZ1FVSW9VSFM4b2V3NWFIa1EvYUpXM1lMWkZZbUg1VlIrZ2ZJUjFZTStkRE1BRXdwVFhiWXVkVVgydUlLR2NqSEJCTDVHSXZTUDRGOC9JR1lRalV6Y0VpY2djQUh1RnhuOCtJTlM2aEVLcXJ2UUJ6NXFHc0ZxcU5LUGg3UXlZYzBBNklwZENiVUE1M284aVhtQ2RjMWtJOWNLUG1ZaWRyYlhpSVdUMEErS3VEbzN5UnBCb29tMk1FMThiSURjZ1UvV2ZXOUtxL0VMWFhrNHdaS1B2cFF5SWN5QTNmVFM2YStXNzVPZVIvajFWUmFRRDUrSkpFUGhmNHRRQ3llZ0h5c1EweWhPdm9IOVhielZBNHZNUGNyb2JoQ1BsclpKQjhYQlIwREpSK2RFZkp4RlRXRkRvTGwwM2M2NlIvMWcyYUdZeGFzNXdOUFBqNGd0VmgrUXNnSG1JSGxpQ2tVU296VFliMjFlVFc1SEpDUFl5VHlvWGcrZWlBbEpRemtBNTBCWE9VZ0J3UTJISW9XVjlhS0tQbllMaXk0TXZrb2o1S1BMUUw5eTJuTDkvU3BXRktiUVFleXpLL0FTTHNWOHFGNFBqSThSTWpIY0JMNUlQbWU0QktZWEpGaklHTEoyaDRLK1ZBOEgxL1F5SWZHOTVRRm9YL2lYdmg1c3BQcElhanNBMk85eTJQMFBSSEp4M2lFL21WRzZkOFk0YXFCR1FpRXo5NmRRRFlBYzhMK3U0Y3NkTThIb0greW45UkxRejZTRVZPbzVIdGFBaWU0R3NkSVlBeTR2QlBQMDVFUEpVbG10a0EreWlMa1k0dU9mQ0Qwcng1dnI2M0Roc0NZT1dtRDBKQ1BWalR5UWZROWpZVkw5SFdHM2I2endEWkJFaXhBUHBhUmZFOHJFRlA4aDJJbytVQk1vVkNTR0xZZms5cVh5TEQwNU9PY3ZOMS9wU01mRjFIeTBSR2hmMENtYzB3RmtrTjVIOWlJa0kvU2V2S0IrcDRXb3I0bk9jbW1pVmpsbW5HVHlFRFlQVU1pbnhyeWdmcWVnbTRqbm8vZWlLb1NLSkNQTStLV0Z3ZzN1VGY1T01aU0Jqb1pKZW9EeU1jazVBbFN5RWNGbFA1dFEreHRxdTlwSGJaeEtBT0JUUXZsMEkyeGlPY2pvd255SWZxZTZuQnlwK21mT0JkSUpOS04zSVRuUSs5N0V1bGZlVGdSL3dhNEFtQkdTTUZpU2lya1l4dUpmUHlHK3A0cUkvUnZkeWlzOHg5Ym1uT0pWSUIvL2MzMHlyT29rSSsvRVBMUkFDVWZmK3A4VDJKdnJzNmNpMFFNRjloaFVjZ0gxdk14VjBmL05pRytKMnpiVllheUV1bndxQ0VmYlZIeWNSYnhQV25vbjlnTTRaU3Y2d0Q2d1JKYVZuRzlMbWFLZkN4VDdXMGxZWitrRnprNUYwcGVxRjUvS0tlUUQ2em5veXZxZTdvaTA3L01zT05LVWkzT3BWSUg5ajU4bEUwaEg5akFONXp2S2UwSlZpekp6SHA5eGg5TFByQytKeW53YlEzdlNGODVCd1I2VUNUTERPcjUwQVMrZllZR3ZrSDZKMlpYSHZOMVBjQTBCNUZtcU9OSnZxZlJxTzlKb0gvWFlQRHBmNWs1TjBpbzJNZWtONVo4WUFQZnFrdlpSZTlMY1c2UklqRDdOYW1KZ1h5Z3ZxZHNxTzlwdHVqUGRGdU56VnJRNXZYaE01bDg5TVNSajBZcS9jdDhpNmVXbG1NdkhlQWRGVlZJVHo3eW9lUkQ4VDJsZzJGamFzeVhPMlFrL01rN1lWVHljVjdrV1Q1L3dKTzN1TGQ5N1VMUjlwTmVUejVXSXVSRHBIK1c5ZUlDNCtkV2ZKelhyMkxwdkFDSmZEUXhrZy9ScXRNUyt2ejRmek53YmhZL2NlZmE2eXVSRDFMZ214Z3YrVFF2NTNiSmNGbTh0YndKNUVPbWY1RERwVWdlVXJiYjhNZFhXTERrUTlINXdZSlVoVXNSeWZ0SXNRRVp5SWU0NWJXQXVrOUNmUzZGcEpqWVRXd3lobnpBUmJrQlhOQ1QyM0VwSnVYRnloQWpkTDRuS2ZDdGxoajIyWXRMUWZsQ3pCYnZJNUlQT1FoYzlEMVZqWUhIUm5FcEtnMmh1ODNhQ1pJUGplOXA3enVtUGVvZGx0YndPVWhxaVpBUFRrcEhOeHQzN0dMcEFoV0grQVl3MGxqSnV0a280bHZNZVlEQXNxbDhiQzAwNjZiSVUyV045QUFSVlpzUE5RRDVFQVBmQ2o2R0g2M3o0anhESm9zSTYwRGZrd0NxaUlodnF6Zm5LVEpIck8zZHNqck11dmtFSmtieHYvdHduSWNoVEI0NlJkanlScjRYWTAzU2NwNGtrdVVxVW1rb3U5T3o4RWxSUUtwRStuS2VKZ09TRVh6THZUblBreVpLdTl1a01aeEhTazZSdnZHM0tuT2VLalUyUDNwenFBdWI1ZVgvcXc1VkV6dzRUTnNBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJDYW50b24gZGUgVmF1ZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gTnVtw6lyb3MgZGUgdmVyc2lvbiBkZSBsJ2FwcGxpIC0tPlxuICAgIDwhLS0gT24gbGVzIG1ldCBlbiBoaWRkZW4gcG91ciB0b3VzIHBvdXIgw6l2aXRlciBkZXMgcHJvYmzDqG1lcyBkJ2FjY2Vzc2liaWxpdMOpIC0tPlxuICAgIDxzcGFuXG4gICAgICAgIGlkPVwiYXBwaW5mb1wiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIGNsYXNzPVwiZC1ub25lXCJcbiAgICAgICAgKm5nSWY9XCJhcHBsaWNhdGlvbkluZm8gfCBhc3luYyBhcyBhcHBJbmZvXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGlkPVwiZW52aXJvbm1lbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImQtbm9uZVwiPlxuICAgICAgICAgICAge3sgYXBwSW5mby5lbnZpcm9ubWVudCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGlkPVwidmVyc2lvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZC1ub25lXCI+XG4gICAgICAgICAgICB7eyBhcHBJbmZvLnZlcnNpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBpZD1cImJ1aWxkdGltZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZC1ub25lXCI+XG4gICAgICAgICAgICB7eyBhcHBJbmZvLmJ1aWxkdGltZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGlkPVwiY29udGV4dFBhdGhcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImQtbm9uZVwiPlxuICAgICAgICAgICAge3sgYXBwSW5mby5jb250ZXh0UGF0aCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9mb290ZXI+XG4iXX0=
@@ -1,146 +0,0 @@
1
- import { Component, ContentChildren, Input, ViewChild } from '@angular/core';
2
- import { NgForm } from '@angular/forms';
3
- import { FoehnInputComponent } from '../foehn-input/foehn-input.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../foehn-validation-alert-summary/foehn-validation-alert-summary.component";
6
- import * as i2 from "@angular/forms";
7
- export class FoehnFormComponent {
8
- constructor() {
9
- this.shouldDisplayAlertSummary = true;
10
- this.registeredNgModels = [];
11
- }
12
- reset(resetChildrenValues = false) {
13
- if (resetChildrenValues) {
14
- for (const c of this.getAllComponents()) {
15
- c.reset();
16
- }
17
- }
18
- this.ngFormComponent.form.markAsUntouched();
19
- this.ngFormComponent.form.markAsPristine();
20
- }
21
- ngAfterViewInit() {
22
- this.updateRegisteredNgModels();
23
- this.childrenInputComponents.changes.subscribe(component => {
24
- this.updateRegisteredNgModels();
25
- if (component.inputModelList) {
26
- component.inputModelList.changes.subscribe(() => {
27
- this.updateRegisteredNgModels();
28
- });
29
- }
30
- this.registerSubcomponentsNgModel();
31
- });
32
- this.registerSubcomponentsNgModel();
33
- }
34
- updateRegisteredNgModels() {
35
- const currentNgModels = this.getAllNativeModels();
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- const toBeRegistered = [];
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
- const toBeDeleted = [];
40
- this.registeredNgModels.forEach(ng => {
41
- if (!currentNgModels.includes(ng)) {
42
- toBeDeleted.push(ng);
43
- }
44
- });
45
- currentNgModels.forEach(ng => {
46
- if (!this.registeredNgModels.includes(ng)) {
47
- toBeRegistered.push(ng);
48
- }
49
- });
50
- toBeDeleted.forEach(ng => this.deleteNgModel(ng));
51
- toBeRegistered.forEach(ng => this.registerNgModel(ng));
52
- }
53
- getAllNativeModels() {
54
- const models = [];
55
- this.childrenInputComponents.forEach(c => {
56
- c.getNativeInputList().forEach(m => {
57
- models.push(m);
58
- });
59
- });
60
- return models;
61
- }
62
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
- getAllComponents() {
64
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
- let result = [];
66
- if (this.childrenInputComponents) {
67
- this.childrenInputComponents.forEach(c => {
68
- result = result.concat(c.getMeAndSubComponents());
69
- });
70
- }
71
- return result;
72
- }
73
- isValid() {
74
- return !this.getAllComponents().some(i => i.hasErrors());
75
- }
76
- focusFirstInError() {
77
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
- const allComponents = this.getAllComponents();
79
- if (allComponents && allComponents.length > 0) {
80
- const firstComponentInError = allComponents.find(component => component.hasErrors());
81
- if (firstComponentInError) {
82
- firstComponentInError.focus();
83
- }
84
- }
85
- }
86
- focusFirst() {
87
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
- const allComponents = this.getAllComponents();
89
- if (allComponents && allComponents.length > 0) {
90
- allComponents[0].focus();
91
- }
92
- }
93
- focusErrorSummary() {
94
- // setTimeout to improve the compatibility with some screen readers.
95
- setTimeout(() => {
96
- const errorSummary = document.getElementById('error-summary');
97
- if (errorSummary) {
98
- errorSummary.scrollIntoView();
99
- errorSummary.focus();
100
- }
101
- else {
102
- // If there is no error summary, or if the error summary doesn't contain any compatible error.
103
- this.focusFirstInError();
104
- }
105
- }, 0);
106
- }
107
- registerNgModel(ng) {
108
- this.registeredNgModels.push(ng);
109
- this.ngFormComponent.addControl(ng);
110
- }
111
- deleteNgModel(ng) {
112
- const index = this.registeredNgModels.indexOf(ng);
113
- if (index > -1) {
114
- this.registeredNgModels.splice(index, 1);
115
- }
116
- this.ngFormComponent.removeControl(ng);
117
- }
118
- registerSubcomponentsNgModel() {
119
- this.childrenInputComponents.forEach(component => component.subComponents.changes.subscribe(subComponent => {
120
- this.updateRegisteredNgModels();
121
- if (subComponent.inputModelList) {
122
- subComponent.inputModelList.changes.subscribe(() => {
123
- this.updateRegisteredNgModels();
124
- });
125
- }
126
- }));
127
- }
128
- }
129
- FoehnFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
130
- FoehnFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnFormComponent, selector: "foehn-form", inputs: { shouldDisplayAlertSummary: "shouldDisplayAlertSummary" }, queries: [{ propertyName: "childrenInputComponents", predicate: FoehnInputComponent, descendants: true }], viewQueries: [{ propertyName: "ngFormComponent", first: true, predicate: NgForm, descendants: true, static: true }], ngImport: i0, template: "<form id=\"foehn_formContainer\">\n <foehn-validation-alert-summary\n [form]=\"this\"\n ></foehn-validation-alert-summary>\n\n <ng-content></ng-content>\n</form>\n", components: [{ type: i1.FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: ["form"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnFormComponent, decorators: [{
132
- type: Component,
133
- args: [{
134
- selector: 'foehn-form',
135
- templateUrl: './foehn-form.component.html'
136
- }]
137
- }], propDecorators: { shouldDisplayAlertSummary: [{
138
- type: Input
139
- }], ngFormComponent: [{
140
- type: ViewChild,
141
- args: [NgForm, { static: true }]
142
- }], childrenInputComponents: [{
143
- type: ContentChildren,
144
- args: [FoehnInputComponent, { descendants: true }]
145
- }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFNM0UsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQU1JLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQVN6Qix1QkFBa0IsR0FBYyxFQUFFLENBQUM7S0F5STlDO0lBdklHLEtBQUssQ0FBQyxzQkFBK0IsS0FBSztRQUN0QyxJQUFJLG1CQUFtQixFQUFFO1lBQ3JCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3JDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiO1NBQ0o7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFD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LENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sNEJBQTRCO1FBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDN0MsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRTtnQkFDN0IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDL0MsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7K0dBbkpRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhKQU9WLG1CQUFtQixpR0FIekIsTUFBTSw4RENuQnJCLHFMQU9BOzJGRFFhLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDN0M7OEJBR0cseUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUszQix1QkFBdUI7c0JBRjlCLGVBQWU7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvZWhuSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VobkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkgPSB0cnVlO1xuXG4gICAgQFZpZXdDaGlsZChOZ0Zvcm0sIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgbmdGb3JtQ29tcG9uZW50OiBOZ0Zvcm07XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEZvZWhuSW5wdXRDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgY2hpbGRyZW5JbnB1dENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxGb2VobklucHV0Q29tcG9uZW50PGFueT4+O1xuXG4gICAgcHJpdmF0ZSByZWdpc3RlcmVkTmdNb2RlbHM6IE5nTW9kZWxbXSA9IFtdO1xuXG4gICAgcmVzZXQocmVzZXRDaGlsZHJlblZhbHVlczogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChyZXNldENoaWxkcmVuVmFsdWVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGMgb2YgdGhpcy5nZXRBbGxDb21wb25lbnRzKCkpIHtcbiAgICAgICAgICAgICAgICBjLnJlc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uZ0Zvcm1Db21wb25lbnQuZm9ybS5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5uZ0Zvcm1Db21wb25lbnQuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHMoKTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbklucHV0Q29tcG9uZW50cy5jaGFuZ2VzLnN1YnNjcmliZShjb21wb25lbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHMoKTtcbiAgICAgICAgICAgIGlmIChjb21wb25lbnQuaW5wdXRNb2RlbExpc3QpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuaW5wdXRNb2RlbExpc3QuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlZ2lzdGVyZWROZ01vZGVscygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclN1YmNvbXBvbmVudHNOZ01vZGVsKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU3ViY29tcG9uZW50c05nTW9kZWwoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVSZWdpc3RlcmVkTmdNb2RlbHMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnROZ01vZGVscyA9IHRoaXMuZ2V0QWxsTmF0aXZlTW9kZWxzKCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGNvbnN0IHRvQmVSZWdpc3RlcmVkOiBhbnlbXSA9IFtdO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCB0b0JlRGVsZXRlZDogYW55W10gPSBbXTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5mb3JFYWNoKG5nID0+IHtcbiAgICAgICAgICAgIGlmICghY3VycmVudE5nTW9kZWxzLmluY2x1ZGVzKG5nKSkge1xuICAgICAgICAgICAgICAgIHRvQmVEZWxldGVkLnB1c2gobmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY3VycmVudE5nTW9kZWxzLmZvckVhY2gobmcgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5pbmNsdWRlcyhuZykpIHtcbiAgICAgICAgICAgICAgICB0b0JlUmVnaXN0ZXJlZC5wdXNoKG5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdG9CZURlbGV0ZWQuZm9yRWFjaChuZyA9PiB0aGlzLmRlbGV0ZU5nTW9kZWwobmcpKTtcbiAgICAgICAgdG9CZVJlZ2lzdGVyZWQuZm9yRWFjaChuZyA9PiB0aGlzLnJlZ2lzdGVyTmdNb2RlbChuZykpO1xuICAgIH1cblxuICAgIGdldEFsbE5hdGl2ZU1vZGVscygpOiBOZ01vZGVsW10ge1xuICAgICAgICBjb25zdCBtb2RlbHM6IE5nTW9kZWxbXSA9IFtdO1xuICAgICAgICB0aGlzLmNoaWxkcmVuSW5wdXRDb21wb25lbnRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICBjLmdldE5hdGl2ZUlucHV0TGlzdCgpLmZvckVhY2gobSA9PiB7XG4gICAgICAgICAgICAgICAgbW9kZWxzLnB1c2gobSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtb2RlbHM7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRBbGxDb21wb25lbnRzKCk6IEZvZWhuSW5wdXRDb21wb25lbnQ8YW55PltdIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgbGV0IHJlc3VsdDogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+W10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5JbnB1dENvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5JbnB1dENvbXBvbmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGMuZ2V0TWVBbmRTdWJDb21wb25lbnRzKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZ2V0QWxsQ29tcG9uZW50cygpLnNvbWUoaSA9PiBpLmhhc0Vycm9ycygpKTtcbiAgICB9XG5cbiAgICBmb2N1c0ZpcnN0SW5FcnJvcigpOiB2b2lkIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgYWxsQ29tcG9uZW50czogRm9laG5JbnB1dENvbXBvbmVudDxhbnk+W10gPSB0aGlzLmdldEFsbENvbXBvbmVudHMoKTtcblxuICAgICAgICBpZiAoYWxsQ29tcG9uZW50cyAmJiBhbGxDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0Q29tcG9uZW50SW5FcnJvciA9IGFsbENvbXBvbmVudHMuZmluZChjb21wb25lbnQgPT5cbiAgICAgICAgICAgICAgICBjb21wb25lbnQuaGFzRXJyb3JzKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZmlyc3RDb21wb25lbnRJbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RDb21wb25lbnRJbkVycm9yLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1c0ZpcnN0KCk6IHZvaWQge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBhbGxDb21wb25lbnRzOiBGb2VobklucHV0Q29tcG9uZW50PGFueT5bXSA9IHRoaXMuZ2V0QWxsQ29tcG9uZW50cygpO1xuXG4gICAgICAgIGlmIChhbGxDb21wb25lbnRzICYmIGFsbENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgYWxsQ29tcG9uZW50c1swXS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNFcnJvclN1bW1hcnkoKTogdm9pZCB7XG4gICAgICAgIC8vIHNldFRpbWVvdXQgdG8gaW1wcm92ZSB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgc2NyZWVuIHJlYWRlcnMuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JTdW1tYXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXN1bW1hcnknKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yU3VtbWFyeSkge1xuICAgICAgICAgICAgICAgIGVycm9yU3VtbWFyeS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIGVycm9yU3VtbWFyeS5mb2N1cygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBlcnJvciBzdW1tYXJ5LCBvciBpZiB0aGUgZXJyb3Igc3VtbWFyeSBkb2Vzbid0IGNvbnRhaW4gYW55IGNvbXBhdGlibGUgZXJyb3IuXG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SW5FcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyTmdNb2RlbChuZzogTmdNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5wdXNoKG5nKTtcbiAgICAgICAgdGhpcy5uZ0Zvcm1Db21wb25lbnQuYWRkQ29udHJvbChuZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVOZ01vZGVsKG5nOiBOZ01vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5yZWdpc3RlcmVkTmdNb2RlbHMuaW5kZXhPZihuZyk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyZWROZ01vZGVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmdGb3JtQ29tcG9uZW50LnJlbW92ZUNvbnRyb2wobmcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJTdWJjb21wb25lbnRzTmdNb2RlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbklucHV0Q29tcG9uZW50cy5mb3JFYWNoKGNvbXBvbmVudCA9PlxuICAgICAgICAgICAgY29tcG9uZW50LnN1YkNvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoc3ViQ29tcG9uZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlZ2lzdGVyZWROZ01vZGVscygpO1xuICAgICAgICAgICAgICAgIGlmIChzdWJDb21wb25lbnQuaW5wdXRNb2RlbExpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViQ29tcG9uZW50LmlucHV0TW9kZWxMaXN0LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUmVnaXN0ZXJlZE5nTW9kZWxzKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGZvcm0gaWQ9XCJmb2Vobl9mb3JtQ29udGFpbmVyXCI+XG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeVxuICAgICAgICBbZm9ybV09XCJ0aGlzXCJcbiAgICA+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnk+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Zvcm0+XG4iXX0=