@keycloakify/angular 0.0.1-rc.17 → 0.0.1-rc.18

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 (247) hide show
  1. package/esm2022/account/containers/template/template.component.mjs +6 -6
  2. package/esm2022/account/directives/kc-class/kc-class.directive.mjs +3 -3
  3. package/esm2022/account/pages/account/account.component.mjs +6 -6
  4. package/esm2022/account/pages/applications/applications.component.mjs +6 -6
  5. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +6 -6
  6. package/esm2022/account/pages/log/log.component.mjs +3 -3
  7. package/esm2022/account/pages/password/password.component.mjs +7 -6
  8. package/esm2022/account/pages/sessions/sessions.component.mjs +6 -6
  9. package/esm2022/account/pages/totp/totp.component.mjs +6 -6
  10. package/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -1
  11. package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +3 -3
  12. package/esm2022/account/services/i18n/i18n.service.mjs +3 -3
  13. package/esm2022/lib/directives/attributes/attributes.directive.mjs +3 -3
  14. package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +3 -3
  15. package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +3 -3
  16. package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +3 -3
  17. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  18. package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +3 -3
  19. package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +3 -3
  20. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +5 -5
  21. package/esm2022/login/components/field-errors/field-errors.component.mjs +6 -6
  22. package/esm2022/login/components/group-label/group-label.component.mjs +3 -3
  23. package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +6 -6
  24. package/esm2022/login/components/input-tag/input-tag.component.mjs +6 -6
  25. package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +3 -3
  26. package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +3 -3
  27. package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +6 -6
  28. package/esm2022/login/components/select-tag/select-tag.component.mjs +3 -3
  29. package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +3 -3
  30. package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +6 -6
  31. package/esm2022/login/containers/template/template.component.mjs +6 -6
  32. package/esm2022/login/directives/kc-class/kc-class.directive.mjs +5 -5
  33. package/esm2022/login/pages/code/code.component.mjs +3 -3
  34. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +6 -6
  35. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +6 -6
  36. package/esm2022/login/pages/error/error.component.mjs +3 -3
  37. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +6 -6
  38. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +6 -6
  39. package/esm2022/login/pages/info/info.component.mjs +3 -3
  40. package/esm2022/login/pages/login/login.component.mjs +6 -6
  41. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +6 -6
  42. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +6 -6
  43. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +6 -6
  44. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
  45. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +6 -6
  46. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +6 -6
  47. package/esm2022/login/pages/login-otp/login-otp.component.mjs +6 -6
  48. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
  49. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +6 -6
  50. package/esm2022/login/pages/login-password/login-password.component.mjs +6 -6
  51. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +6 -6
  52. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +6 -6
  53. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +6 -6
  54. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +6 -6
  55. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +6 -6
  56. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +6 -6
  57. package/esm2022/login/pages/login-username/login-username.component.mjs +6 -6
  58. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
  59. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +6 -6
  60. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +6 -6
  61. package/esm2022/login/pages/register/register.component.mjs +6 -6
  62. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +6 -6
  63. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +6 -6
  64. package/esm2022/login/pages/terms/terms.component.mjs +6 -6
  65. package/esm2022/login/pages/update-email/update-email.component.mjs +6 -6
  66. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +6 -6
  67. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +6 -6
  68. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +6 -6
  69. package/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -1
  70. package/esm2022/login/services/i18n/i18n.service.mjs +3 -3
  71. package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +3 -3
  72. package/esm2022/login/services/submit/submit.service.mjs +4 -4
  73. package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +3 -3
  74. package/fesm2022/keycloakify-angular-account-containers-template.mjs +5 -5
  75. package/fesm2022/keycloakify-angular-account-containers-template.mjs.map +1 -1
  76. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  77. package/fesm2022/keycloakify-angular-account-pages-account.mjs +5 -5
  78. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  79. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +5 -5
  80. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +5 -5
  82. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  83. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  84. package/fesm2022/keycloakify-angular-account-pages-password.mjs +6 -5
  85. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +5 -5
  87. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +5 -5
  89. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +1 -0
  91. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  93. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  94. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
  95. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  96. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  97. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  98. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  99. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  100. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  101. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +4 -4
  102. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  103. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +5 -5
  104. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
  106. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +5 -5
  107. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
  109. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +5 -5
  110. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  111. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  112. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  113. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
  115. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
  116. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +5 -5
  117. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
  118. package/fesm2022/keycloakify-angular-login-containers-template.mjs +5 -5
  119. package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -1
  120. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +4 -4
  121. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -1
  122. package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
  123. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +5 -5
  124. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  125. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +5 -5
  126. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  127. package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
  128. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +5 -5
  129. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  130. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +5 -5
  131. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
  133. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +5 -5
  134. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  135. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +5 -5
  136. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  137. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +5 -5
  138. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  139. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
  140. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +5 -5
  141. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  142. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +5 -5
  143. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  144. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +5 -5
  145. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  146. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
  147. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +5 -5
  148. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  149. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +5 -5
  150. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  151. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +5 -5
  152. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  153. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +5 -5
  154. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  155. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +5 -5
  156. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  157. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +5 -5
  158. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  159. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +5 -5
  160. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  161. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +5 -5
  162. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  163. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +5 -5
  164. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  165. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
  166. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +5 -5
  167. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  168. package/fesm2022/keycloakify-angular-login-pages-login.mjs +5 -5
  169. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  170. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +5 -5
  171. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  172. package/fesm2022/keycloakify-angular-login-pages-register.mjs +5 -5
  173. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  174. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +5 -5
  175. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  176. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +5 -5
  177. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  178. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +5 -5
  179. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  180. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +5 -5
  181. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  182. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +5 -5
  183. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  184. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +5 -5
  185. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  186. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +5 -5
  187. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  188. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +1 -0
  189. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  190. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  191. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  192. package/fesm2022/keycloakify-angular-login-services-submit.mjs +3 -3
  193. package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +1 -1
  194. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  195. package/login/directives/kc-class/kc-class.directive.d.ts +1 -1
  196. package/package.json +1 -1
  197. package/src/account/containers/template/template.component.html +2 -2
  198. package/src/account/pages/account/account.component.html +3 -3
  199. package/src/account/pages/applications/applications.component.html +2 -2
  200. package/src/account/pages/federatedIdentity/federatedIdentity.component.html +5 -5
  201. package/src/account/pages/password/password.component.html +4 -4
  202. package/src/account/pages/password/password.component.ts +1 -0
  203. package/src/account/pages/sessions/sessions.component.html +1 -1
  204. package/src/account/pages/totp/totp.component.html +11 -11
  205. package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +1 -0
  206. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +2 -2
  207. package/src/login/components/field-errors/field-errors.component.html +1 -1
  208. package/src/login/components/input-field-by-type/input-field-by-type.component.html +6 -6
  209. package/src/login/components/input-tag/input-tag.component.html +2 -2
  210. package/src/login/components/password-wrapper/password-wrapper.component.html +2 -2
  211. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +7 -11
  212. package/src/login/containers/template/template.component.html +11 -11
  213. package/src/login/directives/kc-class/kc-class.directive.ts +1 -2
  214. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +3 -3
  215. package/src/login/pages/delete-credential/delete-credential.component.html +4 -4
  216. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +1 -1
  217. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +3 -3
  218. package/src/login/pages/login/login.component.html +9 -9
  219. package/src/login/pages/login-config-totp/login-config-totp.component.html +10 -10
  220. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +3 -3
  221. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +2 -2
  222. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +5 -5
  223. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +3 -3
  224. package/src/login/pages/login-otp/login-otp.component.html +7 -7
  225. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +9 -9
  226. package/src/login/pages/login-password/login-password.component.html +5 -5
  227. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +9 -9
  228. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +5 -5
  229. package/src/login/pages/login-reset-otp/login-reset-otp.component.html +5 -5
  230. package/src/login/pages/login-reset-password/login-reset-password.component.html +4 -4
  231. package/src/login/pages/login-update-password/login-update-password.component.html +8 -8
  232. package/src/login/pages/login-update-profile/login-update-profile.component.html +4 -4
  233. package/src/login/pages/login-username/login-username.component.html +7 -7
  234. package/src/login/pages/login-x509-info/login-x509-info.component.html +3 -3
  235. package/src/login/pages/logout-confirm/logout-confirm.component.html +2 -2
  236. package/src/login/pages/register/register.component.html +7 -7
  237. package/src/login/pages/saml-post-form/saml-post-form.component.html +1 -1
  238. package/src/login/pages/select-authenticator/select-authenticator.component.html +2 -2
  239. package/src/login/pages/terms/terms.component.html +3 -3
  240. package/src/login/pages/update-email/update-email.component.html +5 -5
  241. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +4 -5
  242. package/src/login/pages/webauthn-error/webauthn-error.component.html +6 -6
  243. package/src/login/pages/webauthn-register/webauthn-register.component.html +4 -4
  244. package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +1 -0
  245. package/src/login/services/submit/submit.service.ts +1 -1
  246. package/src/tsconfig.lib.json +0 -12
  247. package/src/tsconfig.lib.prod.json +0 -10
@@ -23,15 +23,15 @@ export class GroupLabelComponent extends ComponentReference {
23
23
  return '';
24
24
  });
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
28
28
  {
29
29
  provide: ComponentReference,
30
30
  useExisting: forwardRef(() => GroupLabelComponent)
31
31
  }
32
32
  ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GroupLabelComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: GroupLabelComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ standalone: true, imports: [KcClassDirective, AttributesDirective], selector: 'kc-group-label', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
37
37
  {
@@ -26,21 +26,21 @@ export class InputFieldByTypeComponent extends ComponentReference {
26
26
  };
27
27
  });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
31
31
  {
32
32
  provide: ComponentReference,
33
33
  useExisting: forwardRef(() => InputFieldByTypeComponent)
34
34
  }
35
- ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-textarea-tag>\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-select-tag>\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag-selects>\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: TextareaTagComponent, selector: "kc-textarea-tag", inputs: ["attribute", "value", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: SelectTagComponent, selector: "kc-select-tag", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagSelectsComponent, selector: "kc-input-tag-selects", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagComponent, selector: "kc-input-tag", inputs: ["attribute", "valueOrValues", "fieldIndex", "values", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: TextareaTagComponent, selector: "kc-textarea-tag", inputs: ["attribute", "value", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: SelectTagComponent, selector: "kc-select-tag", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagSelectsComponent, selector: "kc-input-tag-selects", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagComponent, selector: "kc-input-tag", inputs: ["attribute", "valueOrValues", "fieldIndex", "values", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ standalone: true, imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent], selector: 'kc-input-field-by-type', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
40
40
  {
41
41
  provide: ComponentReference,
42
42
  useExisting: forwardRef(() => InputFieldByTypeComponent)
43
43
  }
44
- ], template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-textarea-tag>\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-select-tag>\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag-selects>\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-input-tag>\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"] }]
44
+ ], template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"] }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vY29tcG9uZW50cy9pbnB1dC1maWVsZC1ieS10eXBlL2lucHV0LWZpZWxkLWJ5LXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtZmllbGQtYnktdHlwZS9pbnB1dC1maWVsZC1ieS10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUF3QjFFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxrQkFBa0I7SUFwQmpFOztRQXFCSSxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0Msc0JBQWlCLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQzlDLHVCQUFrQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBRTVFLHNCQUFpQixHQUFHLFFBQVEsQ0FBWSxHQUFHLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFLLEVBQWdCLENBQUM7WUFDbkUsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osV0FBVyxFQUFFLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRTthQUMzRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FDTjs4R0FmWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix3akJBUHZCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUMzRDtTQUNKLGlEQ2hDTCw2MUZBK0RBLDhFRHhDYyxXQUFXLGdEQUFFLG9CQUFvQixrSkFBRSxrQkFBa0Isd0pBQUUsd0JBQXdCLCtKQUFFLGlCQUFpQiwrS0FBRSx3QkFBd0I7OzJGQVc3SCx5QkFBeUI7a0JBcEJyQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxZQUM3SCx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQzNEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9BcnJheVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvdG8tYXJyYXknO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IElucHV0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWcnO1xuaW1wb3J0IHsgSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cyc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXInO1xuaW1wb3J0IHsgU2VsZWN0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9zZWxlY3QtdGFnJztcbmltcG9ydCB7IFRleHRhcmVhVGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy90ZXh0YXJlYS10YWcnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgdHlwZSBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtUb0FycmF5UGlwZSwgVGV4dGFyZWFUYWdDb21wb25lbnQsIFNlbGVjdFRhZ0NvbXBvbmVudCwgSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50LCBJbnB1dFRhZ0NvbXBvbmVudCwgUGFzc3dvcmRXcmFwcGVyQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2tjLWlucHV0LWZpZWxkLWJ5LXR5cGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGF0dHJpYnV0ZSA9IGlucHV0PEF0dHJpYnV0ZT4oKTtcbiAgICB2YWx1ZU9yVmFsdWVzID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIGRpc3BhdGNoRm9ybUFjdGlvbiA9IG91dHB1dDxGb3JtQWN0aW9uPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGF0dHJpYnV0ZVBhc3N3b3JkID0gY29tcHV0ZWQ8QXR0cmlidXRlPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZTogQXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKSA/PyAoe30gYXMgQXR0cmlidXRlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZSxcbiAgICAgICAgICAgIGFubm90YXRpb25zOiB7IC4uLihhdHRyaWJ1dGUuYW5ub3RhdGlvbnMgPz8ge30pLCBpbnB1dFR5cGU6ICdwYXNzd29yZCcgfVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIiwiQGxldCBhdHRyID0gYXR0cmlidXRlKCk7XG5AaWYgKGF0dHIpIHtcbiAgICBAbGV0IHR5cGUgPSBhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZTtcbiAgICBAc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIEBjYXNlICgndGV4dGFyZWEnKSB7XG4gICAgICAgICAgICA8a2MtdGV4dGFyZWEtdGFnXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIiRhbnkodmFsdWVPclZhbHVlcygpKVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9rYy10ZXh0YXJlYS10YWc+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHR5cGUgPT09ICdzZWxlY3QnIHx8IHR5cGUgPT09ICdtdWx0aXNlbGVjdCcgPyB0eXBlIDogJycpIHtcbiAgICAgICAgICAgIDxrYy1zZWxlY3QtdGFnXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2tjLXNlbGVjdC10YWc+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHR5cGUgPT09ICdzZWxlY3QtcmFkaW9idXR0b25zJyB8fCB0eXBlID09PSAnbXVsdGlzZWxlY3QtY2hlY2tib3hlcycgPyB0eXBlIDogJycpIHtcbiAgICAgICAgICAgIDxrYy1pbnB1dC10YWctc2VsZWN0c1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9rYy1pbnB1dC10YWctc2VsZWN0cz5cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICBAbGV0IHZhbHVlcyA9IHZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgICAgIDwhLS0gaWYgdmFsdWVPclZhbHVlcyBpcyBzdHJpbmcgc2tpcCAtLT5cbiAgICAgICAgICAgIEBpZiAodmFsdWVzICYmICh2YWx1ZXMgfCB0b0FycmF5OiB0cnVlKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBAZm9yICh2YWx1ZSBvZiB2YWx1ZXM7IHRyYWNrIHZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8a2MtaW5wdXQtdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2tjLWlucHV0LXRhZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKGF0dHIubmFtZSA9PT0gJ3Bhc3N3b3JkJyB8fCBhdHRyLm5hbWUgPT09ICdwYXNzd29yZC1jb25maXJtJykge1xuICAgICAgICAgICAgICAgICAgICA8a2MtcGFzc3dvcmQtd3JhcHBlciBbcGFzc3dvcmRJbnB1dElkXT1cImF0dHIubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGtjLWlucHV0LXRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlUGFzc3dvcmQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2tjLWlucHV0LXRhZz5cbiAgICAgICAgICAgICAgICAgICAgPC9rYy1wYXNzd29yZC13cmFwcGVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8a2MtaW5wdXQtdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9rYy1pbnB1dC10YWc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vY29tcG9uZW50cy9pbnB1dC1maWVsZC1ieS10eXBlL2lucHV0LWZpZWxkLWJ5LXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtZmllbGQtYnktdHlwZS9pbnB1dC1maWVsZC1ieS10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUF3QjFFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxrQkFBa0I7SUFwQmpFOztRQXFCSSxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0Msc0JBQWlCLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQzlDLHVCQUFrQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBRTVFLHNCQUFpQixHQUFHLFFBQVEsQ0FBWSxHQUFHLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFLLEVBQWdCLENBQUM7WUFDbkUsT0FBTztnQkFDSCxHQUFHLFNBQVM7Z0JBQ1osV0FBVyxFQUFFLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRTthQUMzRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FDTjs4R0FmWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix3akJBUHZCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUMzRDtTQUNKLGlEQ2hDTCw2dkZBK0RBLDhFRHhDYyxXQUFXLGdEQUFFLG9CQUFvQixrSkFBRSxrQkFBa0Isd0pBQUUsd0JBQXdCLCtKQUFFLGlCQUFpQiwrS0FBRSx3QkFBd0I7OzJGQVc3SCx5QkFBeUI7a0JBcEJyQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxZQUM3SCx3QkFBd0IsbUJBRWpCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQzNEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9BcnJheVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvdG8tYXJyYXknO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IElucHV0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWcnO1xuaW1wb3J0IHsgSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cyc7XG5pbXBvcnQgeyBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXInO1xuaW1wb3J0IHsgU2VsZWN0VGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9zZWxlY3QtdGFnJztcbmltcG9ydCB7IFRleHRhcmVhVGFnQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy90ZXh0YXJlYS10YWcnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgdHlwZSBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtUb0FycmF5UGlwZSwgVGV4dGFyZWFUYWdDb21wb25lbnQsIFNlbGVjdFRhZ0NvbXBvbmVudCwgSW5wdXRUYWdTZWxlY3RzQ29tcG9uZW50LCBJbnB1dFRhZ0NvbXBvbmVudCwgUGFzc3dvcmRXcmFwcGVyQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2tjLWlucHV0LWZpZWxkLWJ5LXR5cGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtZmllbGQtYnktdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGF0dHJpYnV0ZSA9IGlucHV0PEF0dHJpYnV0ZT4oKTtcbiAgICB2YWx1ZU9yVmFsdWVzID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gICAgZGlzcGxheWFibGVFcnJvcnMgPSBpbnB1dDxGb3JtRmllbGRFcnJvcltdPigpO1xuICAgIGRpc3BhdGNoRm9ybUFjdGlvbiA9IG91dHB1dDxGb3JtQWN0aW9uPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGF0dHJpYnV0ZVBhc3N3b3JkID0gY29tcHV0ZWQ8QXR0cmlidXRlPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZTogQXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKSA/PyAoe30gYXMgQXR0cmlidXRlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZSxcbiAgICAgICAgICAgIGFubm90YXRpb25zOiB7IC4uLihhdHRyaWJ1dGUuYW5ub3RhdGlvbnMgPz8ge30pLCBpbnB1dFR5cGU6ICdwYXNzd29yZCcgfVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIiwiQGxldCBhdHRyID0gYXR0cmlidXRlKCk7XG5AaWYgKGF0dHIpIHtcbiAgICBAbGV0IHR5cGUgPSBhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZTtcbiAgICBAc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIEBjYXNlICgndGV4dGFyZWEnKSB7XG4gICAgICAgICAgICA8a2MtdGV4dGFyZWEtdGFnXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGUoKVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIiRhbnkodmFsdWVPclZhbHVlcygpKVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICh0eXBlID09PSAnc2VsZWN0JyB8fCB0eXBlID09PSAnbXVsdGlzZWxlY3QnID8gdHlwZSA6ICcnKSB7XG4gICAgICAgICAgICA8a2Mtc2VsZWN0LXRhZ1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICh0eXBlID09PSAnc2VsZWN0LXJhZGlvYnV0dG9ucycgfHwgdHlwZSA9PT0gJ211bHRpc2VsZWN0LWNoZWNrYm94ZXMnID8gdHlwZSA6ICcnKSB7XG4gICAgICAgICAgICA8a2MtaW5wdXQtdGFnLXNlbGVjdHNcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cImRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICBAbGV0IHZhbHVlcyA9IHZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgICAgIDwhLS0gaWYgdmFsdWVPclZhbHVlcyBpcyBzdHJpbmcgc2tpcCAtLT5cbiAgICAgICAgICAgIEBpZiAodmFsdWVzICYmICh2YWx1ZXMgfCB0b0FycmF5OiB0cnVlKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBAZm9yICh2YWx1ZSBvZiB2YWx1ZXM7IHRyYWNrIHZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8a2MtaW5wdXQtdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmIChhdHRyLm5hbWUgPT09ICdwYXNzd29yZCcgfHwgYXR0ci5uYW1lID09PSAncGFzc3dvcmQtY29uZmlybScpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtjLXBhc3N3b3JkLXdyYXBwZXIgW3Bhc3N3b3JkSW5wdXRJZF09XCJhdHRyLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVBhc3N3b3JkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cInZhbHVlT3JWYWx1ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImRpc3BsYXlhYmxlRXJyb3JzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2tjLXBhc3N3b3JkLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxrYy1pbnB1dC10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwidmFsdWVPclZhbHVlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJkaXNwbGF5YWJsZUVycm9ycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -62,15 +62,15 @@ export class InputTagComponent extends ComponentReference {
62
62
  fieldIndex: this.fieldIndex()
63
63
  });
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagComponent, isStandalone: true, selector: "kc-input-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: InputTagComponent, isStandalone: true, selector: "kc-input-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
67
67
  {
68
68
  provide: ComponentReference,
69
69
  useExisting: forwardRef(() => InputTagComponent)
70
70
  }
71
- ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: AddRemoveButtonsMultiValuedAttributeComponent, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: ["attribute", "values", "fieldIndex"], outputs: ["dispatchFormAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n />\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: AddRemoveButtonsMultiValuedAttributeComponent, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: ["attribute", "values", "fieldIndex"], outputs: ["dispatchFormAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputTagComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ standalone: true, imports: [
76
76
  InputTypePipe,
@@ -85,6 +85,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
85
85
  provide: ComponentReference,
86
86
  useExisting: forwardRef(() => InputTagComponent)
87
87
  }
88
- ], template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n ></kc-field-errors>\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n ></kc-add-remove-buttons-multi-valued-attribute>\n }\n}\n", styles: [":host{display:contents}\n"] }]
88
+ ], template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n />\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n}\n", styles: [":host{display:contents}\n"] }]
89
89
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBZ0NwRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBNUJ6RDs7UUE2QkksU0FBSSxHQUFHLE1BQU0sQ0FBTyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0MsZUFBVSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsV0FBTSxHQUFHLEtBQUssRUFBWSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksYUFBYSxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNSLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0tBZ0NOO0lBOUJHLFFBQVEsQ0FBQyxLQUFZO1FBQ2pCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ2hDLElBQUksYUFBYSxZQUFZLEtBQUssRUFBRSxDQUFDO3dCQUNqQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7NEJBQ2xDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dDQUMxQixPQUFRLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssQ0FBQzs0QkFDckQsQ0FBQzs0QkFFRCxPQUFPLEtBQUssQ0FBQzt3QkFDakIsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsQ0FBQztnQkFDTCxDQUFDO2dCQUVELE9BQVEsS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FwRFEsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ3pCQVBmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNuRDtTQUNKLGlEQzNDTCxpOERBNkNBLDhFRGxCUSxhQUFhLGtEQUNiLGdCQUFnQiwwRkFDaEIsWUFBWSxpREFDWixtQkFBbUIsZ0ZBQ25CLFdBQVcsZ0RBQ1gsb0JBQW9CLHNIQUNwQiw2Q0FBNkM7OzJGQVl4QyxpQkFBaUI7a0JBNUI3QixTQUFTO2lDQUNNLElBQUksV0FRUDt3QkFDTCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQiw2Q0FBNkM7cUJBQ2hELFlBQ1MsY0FBYyxtQkFFUCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3lCQUNuRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGVzJztcbmltcG9ydCB7IElucHV0VHlwZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvaW5wdXQtdHlwZSc7XG5pbXBvcnQgeyBUb0FycmF5UGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvdG8tbnVtYmVyJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJztcbmltcG9ydCB7IEZpZWxkRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9maWVsZC1lcnJvcnMnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgdHlwZSBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSW5wdXRUeXBlUGlwZSxcbiAgICAgICAgS2NDbGFzc0RpcmVjdGl2ZSxcbiAgICAgICAgVG9OdW1iZXJQaXBlLFxuICAgICAgICBBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgICAgICBUb0FycmF5UGlwZSxcbiAgICAgICAgRmllbGRFcnJvcnNDb21wb25lbnQsXG4gICAgICAgIEFkZFJlbW92ZUJ1dHRvbnNNdWx0aVZhbHVlZEF0dHJpYnV0ZUNvbXBvbmVudFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdrYy1pbnB1dC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUYWdDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGFnQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGF0dHJpYnV0ZSA9IGlucHV0PEF0dHJpYnV0ZT4oKTtcbiAgICB2YWx1ZU9yVmFsdWVzID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gICAgZmllbGRJbmRleCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICB2YWx1ZXMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKHZhbHVlT3JWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgaWYgKGluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXNbaW5kZXhdID8/IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlcyA/PyBudWxsO1xuICAgIH0pO1xuXG4gICAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzLm1hcCgodmFsdWUsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5maWVsZEluZGV4KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlO1xuICAgICAgICAgICAgfSkoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAnZm9jdXMgbG9zdCcsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgZmllbGRJbmRleDogdGhpcy5maWVsZEluZGV4KClcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBhdHRyID0gYXR0cmlidXRlKCk7XG5AbGV0IGluZGV4ID0gZmllbGRJbmRleCgpO1xuQGlmIChhdHRyKSB7XG4gICAgPGlucHV0XG4gICAgICAgIFt0eXBlXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlIHwgaW5wdXRUeXBlXCJcbiAgICAgICAgW2lkXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW5kZXggJiYgZGlzcGxheWFibGVFcnJvcnMoKT8uW2luZGV4XSAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImF0dHIucmVhZE9ubHlcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF0dHIuYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uYWR2YW5jZWRNc2dTdHIoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVQbGFjZWhvbGRlciA/PyAnJylcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUGF0dGVyblwiXG4gICAgICAgIFthdHRyLnNpemVdPVwiXG4gICAgICAgICAgICAhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplXG4gICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcikgPT09IDBcbiAgICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcilcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIiFhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCIhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5sZW5ndGggPyB1bmRlZmluZWQgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5sZW5ndGggfCB0b051bWJlcilcIlxuICAgICAgICBbYXR0ci5tYXhdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhcIlxuICAgICAgICBbYXR0ci5taW5dPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5cIlxuICAgICAgICBbYXR0ci5zdGVwXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU3RlcFwiXG4gICAgICAgIFtrY0F0dHJpYnV0ZXNdPVwiYXR0ci5odG1sNURhdGFBbm5vdGF0aW9uc1wiXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAvPlxuICAgIEBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBAbGV0IHZhbHVlcyA9IHZhbHVlT3JWYWx1ZXMoKSA/PyBbXSB8IHRvQXJyYXk7XG4gICAgICAgIDxrYy1maWVsZC1lcnJvcnNcbiAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0clwiXG4gICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICBbZmllbGRJbmRleF09XCJpbmRleFwiXG4gICAgICAgID48L2tjLWZpZWxkLWVycm9ycz5cbiAgICAgICAgPGtjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlXG4gICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJcIlxuICAgICAgICAgICAgW3ZhbHVlc109XCJ2YWx1ZXNcIlxuICAgICAgICAgICAgW2ZpZWxkSW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJkaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgPjwva2MtYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGU+XG4gICAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBZ0NwRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBNUJ6RDs7UUE2QkksU0FBSSxHQUFHLE1BQU0sQ0FBTyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0MsZUFBVSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsV0FBTSxHQUFHLEtBQUssRUFBWSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksYUFBYSxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNSLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0tBZ0NOO0lBOUJHLFFBQVEsQ0FBQyxLQUFZO1FBQ2pCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ2hDLElBQUksYUFBYSxZQUFZLEtBQUssRUFBRSxDQUFDO3dCQUNqQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7NEJBQ2xDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dDQUMxQixPQUFRLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssQ0FBQzs0QkFDckQsQ0FBQzs0QkFFRCxPQUFPLEtBQUssQ0FBQzt3QkFDakIsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsQ0FBQztnQkFDTCxDQUFDO2dCQUVELE9BQVEsS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FwRFEsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ3pCQVBmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNuRDtTQUNKLGlEQzNDTCxrNERBNkNBLDhFRGxCUSxhQUFhLGtEQUNiLGdCQUFnQiwwRkFDaEIsWUFBWSxpREFDWixtQkFBbUIsZ0ZBQ25CLFdBQVcsZ0RBQ1gsb0JBQW9CLHNIQUNwQiw2Q0FBNkM7OzJGQVl4QyxpQkFBaUI7a0JBNUI3QixTQUFTO2lDQUNNLElBQUksV0FRUDt3QkFDTCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQiw2Q0FBNkM7cUJBQ2hELFlBQ1MsY0FBYyxtQkFFUCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3lCQUNuRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvZGlyZWN0aXZlcy9hdHRyaWJ1dGVzJztcbmltcG9ydCB7IElucHV0VHlwZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvaW5wdXQtdHlwZSc7XG5pbXBvcnQgeyBUb0FycmF5UGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMvdG8tbnVtYmVyJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJztcbmltcG9ydCB7IEZpZWxkRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9maWVsZC1lcnJvcnMnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgdHlwZSBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSW5wdXRUeXBlUGlwZSxcbiAgICAgICAgS2NDbGFzc0RpcmVjdGl2ZSxcbiAgICAgICAgVG9OdW1iZXJQaXBlLFxuICAgICAgICBBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgICAgICBUb0FycmF5UGlwZSxcbiAgICAgICAgRmllbGRFcnJvcnNDb21wb25lbnQsXG4gICAgICAgIEFkZFJlbW92ZUJ1dHRvbnNNdWx0aVZhbHVlZEF0dHJpYnV0ZUNvbXBvbmVudFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdrYy1pbnB1dC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUYWdDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGFnQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGF0dHJpYnV0ZSA9IGlucHV0PEF0dHJpYnV0ZT4oKTtcbiAgICB2YWx1ZU9yVmFsdWVzID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gICAgZmllbGRJbmRleCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICB2YWx1ZXMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKHZhbHVlT3JWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgaWYgKGluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXNbaW5kZXhdID8/IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWVPclZhbHVlcyA/PyBudWxsO1xuICAgIH0pO1xuXG4gICAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzLm1hcCgodmFsdWUsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5maWVsZEluZGV4KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlO1xuICAgICAgICAgICAgfSkoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAnZm9jdXMgbG9zdCcsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgZmllbGRJbmRleDogdGhpcy5maWVsZEluZGV4KClcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBhdHRyID0gYXR0cmlidXRlKCk7XG5AbGV0IGluZGV4ID0gZmllbGRJbmRleCgpO1xuQGlmIChhdHRyKSB7XG4gICAgPGlucHV0XG4gICAgICAgIFt0eXBlXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlIHwgaW5wdXRUeXBlXCJcbiAgICAgICAgW2lkXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW5kZXggJiYgZGlzcGxheWFibGVFcnJvcnMoKT8uW2luZGV4XSAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImF0dHIucmVhZE9ubHlcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF0dHIuYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uYWR2YW5jZWRNc2dTdHIoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVQbGFjZWhvbGRlciA/PyAnJylcIlxuICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUGF0dGVyblwiXG4gICAgICAgIFthdHRyLnNpemVdPVwiXG4gICAgICAgICAgICAhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVTaXplXG4gICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcikgPT09IDBcbiAgICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcilcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIiFhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCIhYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5sZW5ndGggPyB1bmRlZmluZWQgOiAoYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5sZW5ndGggfCB0b051bWJlcilcIlxuICAgICAgICBbYXR0ci5tYXhdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhcIlxuICAgICAgICBbYXR0ci5taW5dPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNaW5cIlxuICAgICAgICBbYXR0ci5zdGVwXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU3RlcFwiXG4gICAgICAgIFtrY0F0dHJpYnV0ZXNdPVwiYXR0ci5odG1sNURhdGFBbm5vdGF0aW9uc1wiXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAvPlxuICAgIEBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBAbGV0IHZhbHVlcyA9IHZhbHVlT3JWYWx1ZXMoKSA/PyBbXSB8IHRvQXJyYXk7XG4gICAgICAgIDxrYy1maWVsZC1lcnJvcnNcbiAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0clwiXG4gICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZGlzcGxheWFibGVFcnJvcnMoKVwiXG4gICAgICAgICAgICBbZmllbGRJbmRleF09XCJpbmRleFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxrYy1hZGQtcmVtb3ZlLWJ1dHRvbnMtbXVsdGktdmFsdWVkLWF0dHJpYnV0ZVxuICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyXCJcbiAgICAgICAgICAgIFt2YWx1ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgICAgIFtmaWVsZEluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwiZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgfVxufVxuIl19
@@ -97,15 +97,15 @@ export class InputTagSelectsComponent extends ComponentReference {
97
97
  fieldIndex: undefined
98
98
  });
99
99
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
102
102
  {
103
103
  provide: ComponentReference,
104
104
  useExisting: forwardRef(() => InputTagSelectsComponent)
105
105
  }
106
106
  ], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ i18n.advancedMsgStr(option) }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
109
109
  type: Component,
110
110
  args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
111
111
  {
@@ -12,15 +12,15 @@ export class LogoutOtherSessionsComponent extends ComponentReference {
12
12
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
13
13
  this.classes = inject(LOGIN_CLASSES);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
17
17
  {
18
18
  provide: ComponentReference,
19
19
  useExisting: forwardRef(() => LogoutOtherSessionsComponent)
20
20
  }
21
21
  ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ i18n.msgStr('logoutOtherSessions') }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'kc-logout-other-sessions', standalone: true, imports: [KcClassDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
26
26
  {
@@ -26,21 +26,21 @@ export class PasswordWrapperComponent extends ComponentReference {
26
26
  this.renderer.setProperty(input, 'type', this.isPasswordRevealed() ? 'text' : 'password');
27
27
  }
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.7", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
31
31
  {
32
32
  provide: ComponentReference,
33
33
  useExisting: forwardRef(() => PasswordWrapperComponent)
34
34
  }
35
- ], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"i18n.msgStr(isPasswordRevealed() ? 'hidePassword' : 'showPassword')\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ ], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content />\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"i18n.msgStr(isPasswordRevealed() ? 'hidePassword' : 'showPassword')\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n aria-hidden=\"true\"\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'kc-password-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KcClassDirective, AsyncPipe], providers: [
40
40
  {
41
41
  provide: ComponentReference,
42
42
  useExisting: forwardRef(() => PasswordWrapperComponent)
43
43
  }
44
- ], template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"i18n.msgStr(isPasswordRevealed() ? 'hidePassword' : 'showPassword')\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"] }]
44
+ ], template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content />\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"i18n.msgStr(isPasswordRevealed() ? 'hidePassword' : 'showPassword')\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n aria-hidden=\"true\"\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"] }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vY29tcG9uZW50cy9wYXNzd29yZC13cmFwcGVyL3Bhc3N3b3JkLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvcGFzc3dvcmQtd3JhcHBlci9wYXNzd29yZC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQXdCcEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXBCaEU7O1FBcUJJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSx1QkFBa0IsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBYS9EO0lBWEcsd0JBQXdCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0wsQ0FBQzs4R0FuQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbU9BUHRCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRDtTQUNKLGlEQzVCTCxva0JBZUEsbUZETWMsZ0JBQWdCOzsyRkFTakIsd0JBQXdCO2tCQXBCcEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FRbkIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGFBRTNCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDO3lCQUMxRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tjLXBhc3N3b3JkLXdyYXBwZXInLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIEFzeW5jUGlwZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcGFzc3dvcmRJbnB1dElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGlzUGFzc3dvcmRSZXZlYWxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZC51cGRhdGUocmV2ZWFsZWQgPT4gIXJldmVhbGVkKTtcbiAgICAgICAgdGhpcy5zZXRQYXNzd29yZElucHV0VHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFzc3dvcmRJbnB1dFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wYXNzd29yZElucHV0SWQoKSk7XG4gICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShpbnB1dCwgJ3R5cGUnLCB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0R3JvdXAnXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlCdXR0b25DbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4ubXNnU3RyKGlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ2hpZGVQYXNzd29yZCcgOiAnc2hvd1Bhc3N3b3JkJylcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInBhc3N3b3JkSW5wdXRJZCgpXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpXCJcbiAgICA+XG4gICAgICAgIDxpXG4gICAgICAgICAgICBba2NDbGFzc109XCJpc1Bhc3N3b3JkUmV2ZWFsZWQoKSA/ICdrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlJY29uSGlkZScgOiAna2NGb3JtUGFzc3dvcmRWaXNpYmlsaXR5SWNvblNob3cnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L2k+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vY29tcG9uZW50cy9wYXNzd29yZC13cmFwcGVyL3Bhc3N3b3JkLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvcGFzc3dvcmQtd3JhcHBlci9wYXNzd29yZC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQXdCcEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXBCaEU7O1FBcUJJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxhQUFhLENBQUMsQ0FBQztRQUU1RSx1QkFBa0IsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBYS9EO0lBWEcsd0JBQXdCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0wsQ0FBQzs4R0FuQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbU9BUHRCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRDtTQUNKLGlEQzVCTCx5akJBZUEsbUZETWMsZ0JBQWdCOzsyRkFTakIsd0JBQXdCO2tCQXBCcEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FRbkIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGFBRTNCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDO3lCQUMxRDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tjLXBhc3N3b3JkLXdyYXBwZXInLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIEFzeW5jUGlwZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZFdyYXBwZXJDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcGFzc3dvcmRJbnB1dElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGlzUGFzc3dvcmRSZXZlYWxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZC51cGRhdGUocmV2ZWFsZWQgPT4gIXJldmVhbGVkKTtcbiAgICAgICAgdGhpcy5zZXRQYXNzd29yZElucHV0VHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFzc3dvcmRJbnB1dFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wYXNzd29yZElucHV0SWQoKSk7XG4gICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShpbnB1dCwgJ3R5cGUnLCB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0R3JvdXAnXCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtUGFzc3dvcmRWaXNpYmlsaXR5QnV0dG9uQ2xhc3MnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLm1zZ1N0cihpc1Bhc3N3b3JkUmV2ZWFsZWQoKSA/ICdoaWRlUGFzc3dvcmQnIDogJ3Nob3dQYXNzd29yZCcpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYXNzd29yZElucHV0SWQoKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKVwiXG4gICAgPlxuICAgICAgICA8aVxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIFtrY0NsYXNzXT1cImlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ2tjRm9ybVBhc3N3b3JkVmlzaWJpbGl0eUljb25IaWRlJyA6ICdrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlJY29uU2hvdydcIlxuICAgICAgICA+PC9pPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -62,15 +62,15 @@ export class SelectTagComponent extends ComponentReference {
62
62
  fieldIndex: undefined
63
63
  });
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
67
67
  {
68
68
  provide: ComponentReference,
69
69
  useExisting: forwardRef(() => SelectTagComponent)
70
70
  }
71
71
  ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ i18n.advancedMsgStr(attr.annotations.inputOptionLabels[option] ?? option) }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ i18n.advancedMsgStr(attr.annotations.inputOptionLabelsI18nPrefix + '.' + option) }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectTagComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-select-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
76
76
  {
@@ -29,15 +29,15 @@ export class TextareaTagComponent extends ComponentReference {
29
29
  fieldIndex: undefined
30
30
  });
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: TextareaTagComponent, isStandalone: true, selector: "kc-textarea-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TextareaTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: TextareaTagComponent, isStandalone: true, selector: "kc-textarea-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
34
34
  {
35
35
  provide: ComponentReference,
36
36
  useExisting: forwardRef(() => TextareaTagComponent)
37
37
  }
38
38
  ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TextareaTagComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-textarea-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
43
43
  {
@@ -34,16 +34,16 @@ export class UserProfileFormFieldsComponent extends ComponentReference {
34
34
  onDispatch(formAction) {
35
35
  this.userProfileFormService.dispatchFormAction(formAction);
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: UserProfileFormFieldsComponent, isStandalone: true, selector: "kc-user-profile-form-fields", outputs: { onIsFormSubmittable: "onIsFormSubmittable" }, providers: [
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UserProfileFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: UserProfileFormFieldsComponent, isStandalone: true, selector: "kc-user-profile-form-fields", outputs: { onIsFormSubmittable: "onIsFormSubmittable" }, providers: [
39
39
  UserProfileFormService,
40
40
  {
41
41
  provide: ComponentReference,
42
42
  useExisting: forwardRef(() => UserProfileFormFieldsComponent)
43
43
  }
44
- ], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: InputFieldByTypeComponent, selector: "kc-input-field-by-type", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: GroupLabelComponent, selector: "kc-group-label", inputs: ["attribute", "groupName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ ], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\" />\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n />\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n />\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: InputFieldByTypeComponent, selector: "kc-input-field-by-type", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: GroupLabelComponent, selector: "kc-group-label", inputs: ["attribute", "groupName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UserProfileFormFieldsComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ standalone: true, imports: [KcClassDirective, FieldErrorsComponent, InputFieldByTypeComponent, GroupLabelComponent, NgTemplateOutlet], selector: 'kc-user-profile-form-fields', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
49
49
  UserProfileFormService,
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
51
51
  provide: ComponentReference,
52
52
  useExisting: forwardRef(() => UserProfileFormFieldsComponent)
53
53
  }
54
- ], template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
54
+ ], template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\" />\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n />\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n />\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
55
55
  }], ctorParameters: () => [], propDecorators: { beforeField: [{
56
56
  type: ContentChild,
57
57
  args: ['beforField']
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
59
59
  type: ContentChild,
60
60
  args: ['afterField']
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUF3QjdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFJbEUsY0FBYyxDQUF5QjtJQVl2QztRQUNJLEtBQUssRUFBRSxDQUFDO1FBaEJaLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBWSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3pELG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBRTVFLHdCQUFtQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1FBTzlDLE1BQU0sQ0FDRixHQUFHLEVBQUU7WUFDRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUQsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQTdCUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixtSUFSNUI7WUFDUCxzQkFBc0I7WUFDdEI7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUNoRTtTQUNKLG1QQ3JDTCw2ckdBa0ZBLG1GRHZEYyxnQkFBZ0IsK0ZBQUUsb0JBQW9CLHNIQUFFLHlCQUF5QixpS0FBRSxtQkFBbUIsK0ZBQUUsZ0JBQWdCOzsyRkFZekcsOEJBQThCO2tCQXJCMUMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxZQUN6Ryw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asc0JBQXNCO3dCQUN0Qjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzt5QkFDaEU7cUJBQ0o7d0RBZTJCLFdBQVc7c0JBQXRDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgZWZmZWN0LCBmb3J3YXJkUmVmLCBpbmplY3QsIG91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yc0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzJztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsJztcbmltcG9ydCB7IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvc3VibWl0JztcbmltcG9ydCB7IHR5cGUgRm9ybUFjdGlvbiwgVXNlclByb2ZpbGVGb3JtU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB7IERPX01BS0VfVVNFUl9DT05GSVJNX1BBU1NXT1JEIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL21ha2UtdXNlci1jb25maXJtLXBhc3N3b3JkJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgRmllbGRFcnJvcnNDb21wb25lbnQsIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQsIEdyb3VwTGFiZWxDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHNlbGVjdG9yOiAna2MtdXNlci1wcm9maWxlLWZvcm0tZmllbGRzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVzZXJQcm9maWxlRm9ybVNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVzZXJQcm9maWxlRm9ybUZpZWxkc0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIHVzZXJQcm9maWxlRm9ybVNlcnZpY2UgPSBpbmplY3QoVXNlclByb2ZpbGVGb3JtU2VydmljZSk7XG4gICAgI3N1Ym1pdFNlcnZpY2UgPSBpbmplY3QoU3VibWl0U2VydmljZSk7XG4gICAgZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA9IGluamVjdChET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgb25Jc0Zvcm1TdWJtaXR0YWJsZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgZm9ybVN0YXRlID0gdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2JlZm9yRmllbGQnKSBiZWZvcmVGaWVsZDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgQENvbnRlbnRDaGlsZCgnYWZ0ZXJGaWVsZCcpIGFmdGVyRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Zvcm1TdWJtaXR0YWJsZSA9IHRoaXMuZm9ybVN0YXRlKCkuaXNGb3JtU3VibWl0dGFibGU7XG4gICAgICAgICAgICAgICAgdGhpcy4jc3VibWl0U2VydmljZS5zZXRJc1N1Ym1pdHRhYmxlKGlzRm9ybVN1Ym1pdHRhYmxlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRpc3BhdGNoKGZvcm1BY3Rpb246IEZvcm1BY3Rpb24pIHtcbiAgICAgICAgdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmRpc3BhdGNoRm9ybUFjdGlvbihmb3JtQWN0aW9uKTtcbiAgICB9XG59XG4iLCJAbGV0IGZvcm1GaWVsZFN0YXRlcyA9IGZvcm1TdGF0ZSgpLmZvcm1GaWVsZFN0YXRlcztcblxuQGZvciAoZmllbGRTdGF0ZSBvZiBmb3JtRmllbGRTdGF0ZXM7IHRyYWNrIGZpZWxkU3RhdGUuYXR0cmlidXRlKSB7XG4gICAgPGtjLWdyb3VwLWxhYmVsIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIj4gPC9rYy1ncm91cC1sYWJlbD5cblxuICAgIEBpZiAoYmVmb3JlRmllbGQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmVmb3JlRmllbGRcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6IGZpZWxkU3RhdGUuYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgfVxuXG4gICAgPGRpdlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lID09PSAncGFzc3dvcmQtY29uZmlybScgJiYgIWRvTWFrZVVzZXJDb25maXJtUGFzc3dvcmQgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICA+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbZm9yXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGZpZWxkU3RhdGUuYXR0cmlidXRlLmRpc3BsYXlOYW1lID8/ICcnKSB9fVxuICAgICAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUucmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICBAaWYgKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEJlZm9yZSkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRIZWxwZXJUZXh0QmVmb3JlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidmb3JtLWhlbHAtdGV4dC1iZWZvcmUtJyArIGZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRCZWZvcmUpIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxrYy1pbnB1dC1maWVsZC1ieS10eXBlXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlT3JWYWx1ZXNdPVwiZmllbGRTdGF0ZS52YWx1ZU9yVmFsdWVzXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1wiXG4gICAgICAgICAgICAgICAgKGRpc3BhdGNoRm9ybUFjdGlvbik9XCJvbkRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9rYy1pbnB1dC1maWVsZC1ieS10eXBlPlxuXG4gICAgICAgICAgICA8a2MtZmllbGQtZXJyb3JzXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9rYy1maWVsZC1lcnJvcnM+XG4gICAgICAgICAgICBAaWYgKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEhlbHBlclRleHRBZnRlckNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInZm9ybS1oZWxwLXRleHQtYWZ0ZXItJyArIGZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRBZnRlcikgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChhZnRlckZpZWxkKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZnRlckZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiBmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUF3QjdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFJbEUsY0FBYyxDQUF5QjtJQVl2QztRQUNJLEtBQUssRUFBRSxDQUFDO1FBaEJaLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBWSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3pELG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBRTVFLHdCQUFtQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1FBTzlDLE1BQU0sQ0FDRixHQUFHLEVBQUU7WUFDRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUQsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQTdCUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixtSUFSNUI7WUFDUCxzQkFBc0I7WUFDdEI7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUNoRTtTQUNKLG1QQ3JDTCxnakdBOEVBLG1GRG5EYyxnQkFBZ0IsK0ZBQUUsb0JBQW9CLHNIQUFFLHlCQUF5QixpS0FBRSxtQkFBbUIsK0ZBQUUsZ0JBQWdCOzsyRkFZekcsOEJBQThCO2tCQXJCMUMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxZQUN6Ryw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asc0JBQXNCO3dCQUN0Qjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzt5QkFDaEU7cUJBQ0o7d0RBZTJCLFdBQVc7c0JBQXRDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgZWZmZWN0LCBmb3J3YXJkUmVmLCBpbmplY3QsIG91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yc0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzJztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsJztcbmltcG9ydCB7IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvc3VibWl0JztcbmltcG9ydCB7IHR5cGUgRm9ybUFjdGlvbiwgVXNlclByb2ZpbGVGb3JtU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB7IERPX01BS0VfVVNFUl9DT05GSVJNX1BBU1NXT1JEIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL21ha2UtdXNlci1jb25maXJtLXBhc3N3b3JkJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgRmllbGRFcnJvcnNDb21wb25lbnQsIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQsIEdyb3VwTGFiZWxDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHNlbGVjdG9yOiAna2MtdXNlci1wcm9maWxlLWZvcm0tZmllbGRzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVzZXJQcm9maWxlRm9ybVNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVzZXJQcm9maWxlRm9ybUZpZWxkc0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIHVzZXJQcm9maWxlRm9ybVNlcnZpY2UgPSBpbmplY3QoVXNlclByb2ZpbGVGb3JtU2VydmljZSk7XG4gICAgI3N1Ym1pdFNlcnZpY2UgPSBpbmplY3QoU3VibWl0U2VydmljZSk7XG4gICAgZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA9IGluamVjdChET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgb25Jc0Zvcm1TdWJtaXR0YWJsZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgZm9ybVN0YXRlID0gdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2JlZm9yRmllbGQnKSBiZWZvcmVGaWVsZDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgQENvbnRlbnRDaGlsZCgnYWZ0ZXJGaWVsZCcpIGFmdGVyRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Zvcm1TdWJtaXR0YWJsZSA9IHRoaXMuZm9ybVN0YXRlKCkuaXNGb3JtU3VibWl0dGFibGU7XG4gICAgICAgICAgICAgICAgdGhpcy4jc3VibWl0U2VydmljZS5zZXRJc1N1Ym1pdHRhYmxlKGlzRm9ybVN1Ym1pdHRhYmxlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRpc3BhdGNoKGZvcm1BY3Rpb246IEZvcm1BY3Rpb24pIHtcbiAgICAgICAgdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmRpc3BhdGNoRm9ybUFjdGlvbihmb3JtQWN0aW9uKTtcbiAgICB9XG59XG4iLCJAbGV0IGZvcm1GaWVsZFN0YXRlcyA9IGZvcm1TdGF0ZSgpLmZvcm1GaWVsZFN0YXRlcztcblxuQGZvciAoZmllbGRTdGF0ZSBvZiBmb3JtRmllbGRTdGF0ZXM7IHRyYWNrIGZpZWxkU3RhdGUuYXR0cmlidXRlKSB7XG4gICAgPGtjLWdyb3VwLWxhYmVsIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIiAvPlxuXG4gICAgQGlmIChiZWZvcmVGaWVsZCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJiZWZvcmVGaWVsZFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgdmFsdWVPclZhbHVlczogZmllbGRTdGF0ZS52YWx1ZU9yVmFsdWVzLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlhYmxlRXJyb3JzOiBmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICB9XG5cbiAgICA8ZGl2XG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWUgPT09ICdwYXNzd29yZC1jb25maXJtJyAmJiAhZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA/ICdub25lJyA6ICdibG9jaydcIlxuICAgID5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFtmb3JdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuZGlzcGxheU5hbWUgPz8gJycpIH19XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEhlbHBlclRleHRCZWZvcmVDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWJlZm9yZS0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEJlZm9yZSkgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGtjLWlucHV0LWZpZWxkLWJ5LXR5cGVcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cIm9uRGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8a2MtZmllbGQtZXJyb3JzXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0SGVscGVyVGV4dEFmdGVyQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidmb3JtLWhlbHAtdGV4dC1hZnRlci0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEFmdGVyKSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGFmdGVyRmllbGQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFmdGVyRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiBmaWVsZFN0YXRlLmF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlhYmxlRXJyb3JzOiBmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuIl19