@openmrs/ngx-formentry 3.2.1-pre.244 → 3.2.1-pre.268

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 (427) hide show
  1. package/.editorconfig +13 -0
  2. package/.eslintrc.json +45 -0
  3. package/.prettierignore +40 -0
  4. package/.prettierrc +6 -0
  5. package/.turbo/turbo-build:lib.log +25 -0
  6. package/.yarn/plugins/@yarnpkg/plugin-version.cjs +550 -0
  7. package/.yarn/versions/ac1219f3.yml +0 -0
  8. package/README.md +429 -0
  9. package/angular.json +164 -0
  10. package/{components → dist/ngx-formentry/components}/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -1
  11. package/{components → dist/ngx-formentry/components}/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -1
  12. package/{components → dist/ngx-formentry/components}/date-time-picker/date-time-picker.module.d.ts +2 -1
  13. package/{components → dist/ngx-formentry/components}/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +2 -1
  14. package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +7 -4
  15. package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +2 -1
  16. package/{components → dist/ngx-formentry/components}/ngx-remote-select/ngx-remote-select.module.d.ts +2 -1
  17. package/{esm2015/components/afe-ng-select.component.js → dist/ngx-formentry/esm2020/components/afe-ng-select.component.mjs} +4 -4
  18. package/dist/ngx-formentry/esm2020/components/appointments-overview/appointments-overview.component.mjs +116 -0
  19. package/{esm2015/components/check-box/checkbox.component.js → dist/ngx-formentry/esm2020/components/check-box/checkbox.component.mjs} +6 -10
  20. package/{esm2015/components/check-box/checkbox.module.js → dist/ngx-formentry/esm2020/components/check-box/checkbox.module.mjs} +5 -5
  21. package/dist/ngx-formentry/esm2020/components/custom-component-wrapper/custom-component-wrapper..module.mjs +22 -0
  22. package/dist/ngx-formentry/esm2020/components/custom-component-wrapper/custom-component-wrapper.component.mjs +21 -0
  23. package/dist/ngx-formentry/esm2020/components/custom-control-wrapper/custom-control-wrapper..module.mjs +23 -0
  24. package/{esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js → dist/ngx-formentry/esm2020/components/custom-control-wrapper/custom-control-wrapper.component.mjs} +10 -15
  25. package/dist/ngx-formentry/esm2020/components/date-time-picker/date-picker/date-picker.component.mjs +188 -0
  26. package/dist/ngx-formentry/esm2020/components/date-time-picker/date-time-picker.component.mjs +115 -0
  27. package/dist/ngx-formentry/esm2020/components/date-time-picker/date-time-picker.module.mjs +48 -0
  28. package/dist/ngx-formentry/esm2020/components/date-time-picker/picker-modal/modal.component.mjs +25 -0
  29. package/{esm2015/components/date-time-picker/pipes/moment.pipe.js → dist/ngx-formentry/esm2020/components/date-time-picker/pipes/moment.pipe.mjs} +4 -4
  30. package/dist/ngx-formentry/esm2020/components/date-time-picker/time-picker/time-picker.component.mjs +121 -0
  31. package/{esm2015/components/file-upload/file-upload.component.js → dist/ngx-formentry/esm2020/components/file-upload/file-upload.component.mjs} +8 -13
  32. package/{esm2015/components/file-upload/file-upload.module.js → dist/ngx-formentry/esm2020/components/file-upload/file-upload.module.mjs} +5 -5
  33. package/dist/ngx-formentry/esm2020/components/file-upload/secure.pipe.mjs +101 -0
  34. package/{esm2015/components/input/input.directive.js → dist/ngx-formentry/esm2020/components/input/input.directive.mjs} +4 -4
  35. package/{esm2015/components/input/input.module.js → dist/ngx-formentry/esm2020/components/input/input.module.mjs} +5 -5
  36. package/{esm2015/components/input/label.component.js → dist/ngx-formentry/esm2020/components/input/label.component.mjs} +4 -4
  37. package/{esm2015/components/input/text-area.directive.js → dist/ngx-formentry/esm2020/components/input/text-area.directive.mjs} +4 -4
  38. package/dist/ngx-formentry/esm2020/components/ngx-datetime-picker/ngx-datetime-picker.component.mjs +76 -0
  39. package/dist/ngx-formentry/esm2020/components/ngx-datetime-picker/ngx-datetime-picker.module.mjs +42 -0
  40. package/{esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.mjs} +5 -5
  41. package/{esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.mjs} +9 -9
  42. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/calendar-body.component.mjs +142 -0
  43. package/{esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.mjs} +5 -11
  44. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.mjs +373 -0
  45. package/{esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.mjs} +5 -11
  46. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/calendar.component.mjs +342 -0
  47. package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.mjs} +5 -11
  48. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.mjs +392 -0
  49. package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.mjs} +4 -4
  50. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.mjs +65 -0
  51. package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.mjs} +4 -4
  52. package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.mjs} +5 -11
  53. package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time.class.mjs} +4 -4
  54. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time.module.mjs +99 -0
  55. package/{esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.mjs} +4 -4
  56. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/timer-box.component.mjs +90 -0
  57. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/timer.component.mjs +292 -0
  58. package/{esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/dialog/dialog-container.component.mjs} +6 -10
  59. package/dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/dialog/dialog.module.mjs +26 -0
  60. package/{esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/dialog/dialog.service.mjs} +4 -4
  61. package/dist/ngx-formentry/esm2020/components/ngx-remote-select/ngx-remote-select.component.mjs +132 -0
  62. package/dist/ngx-formentry/esm2020/components/ngx-remote-select/ngx-remote-select.module.mjs +22 -0
  63. package/dist/ngx-formentry/esm2020/components/ngx-tabset/components/ngx-tab-set.component.mjs +72 -0
  64. package/dist/ngx-formentry/esm2020/components/ngx-tabset/components/tab.component.mjs +33 -0
  65. package/{esm2015/components/ngx-tabset/directives/hover-class.directive.js → dist/ngx-formentry/esm2020/components/ngx-tabset/directives/hover-class.directive.mjs} +4 -4
  66. package/{esm2015/components/ngx-tabset/modules/ngx-tabset.module.js → dist/ngx-formentry/esm2020/components/ngx-tabset/modules/ngx-tabset.module.mjs} +5 -5
  67. package/dist/ngx-formentry/esm2020/components/number-input/number-input.component.mjs +248 -0
  68. package/{esm2015/components/number-input/number-input.module.js → dist/ngx-formentry/esm2020/components/number-input/number-input.module.mjs} +5 -5
  69. package/{esm2015/components/number-input/number.directive.js → dist/ngx-formentry/esm2020/components/number-input/number.directive.mjs} +4 -4
  70. package/dist/ngx-formentry/esm2020/components/radio-button/radio.component.mjs +96 -0
  71. package/{esm2015/components/radio-button/radio.module.js → dist/ngx-formentry/esm2020/components/radio-button/radio.module.mjs} +5 -5
  72. package/{esm2015/components/select/optgroup.directive.js → dist/ngx-formentry/esm2020/components/select/optgroup.directive.mjs} +4 -4
  73. package/{esm2015/components/select/option.directive.js → dist/ngx-formentry/esm2020/components/select/option.directive.mjs} +4 -4
  74. package/dist/ngx-formentry/esm2020/components/select/select.component.mjs +182 -0
  75. package/{esm2015/components/select/select.module.js → dist/ngx-formentry/esm2020/components/select/select.module.mjs} +5 -5
  76. package/{esm2015/form-entry/data-sources/data-sources.js → dist/ngx-formentry/esm2020/form-entry/data-sources/data-sources.mjs} +4 -4
  77. package/{esm2015/form-entry/directives/collapse.directive.js → dist/ngx-formentry/esm2020/form-entry/directives/collapse.directive.mjs} +5 -5
  78. package/{esm2015/form-entry/directives/historical-value.directive.js → dist/ngx-formentry/esm2020/form-entry/directives/historical-value.directive.mjs} +4 -4
  79. package/dist/ngx-formentry/esm2020/form-entry/error-renderer/error-renderer.component.mjs +53 -0
  80. package/{esm2015/form-entry/expression-runner/expression-runner.js → dist/ngx-formentry/esm2020/form-entry/expression-runner/expression-runner.mjs} +6 -6
  81. package/{esm2015/form-entry/form-entry.module.js → dist/ngx-formentry/esm2020/form-entry/form-entry.module.mjs} +5 -5
  82. package/{esm2015/form-entry/form-factory/control-relations.factory.js → dist/ngx-formentry/esm2020/form-entry/form-factory/control-relations.factory.mjs} +4 -4
  83. package/dist/ngx-formentry/esm2020/form-entry/form-factory/form-control.service.mjs +118 -0
  84. package/dist/ngx-formentry/esm2020/form-entry/form-factory/form-node.mjs +99 -0
  85. package/dist/ngx-formentry/esm2020/form-entry/form-factory/form.factory.mjs +144 -0
  86. package/{esm2015/form-entry/form-factory/hiders-disablers.factory.js → dist/ngx-formentry/esm2020/form-entry/form-factory/hiders-disablers.factory.mjs} +4 -4
  87. package/dist/ngx-formentry/esm2020/form-entry/form-factory/question.factory.mjs +1000 -0
  88. package/{esm2015/form-entry/form-factory/show-messages.factory.js → dist/ngx-formentry/esm2020/form-entry/form-factory/show-messages.factory.mjs} +4 -4
  89. package/dist/ngx-formentry/esm2020/form-entry/form-factory/validation.factory.mjs +169 -0
  90. package/dist/ngx-formentry/esm2020/form-entry/form-renderer/form-renderer.component.mjs +264 -0
  91. package/{esm2015/form-entry/helpers/historical-expression-helper-service.js → dist/ngx-formentry/esm2020/form-entry/helpers/historical-expression-helper-service.mjs} +4 -4
  92. package/{esm2015/form-entry/helpers/historical-field-helper-service.js → dist/ngx-formentry/esm2020/form-entry/helpers/historical-field-helper-service.mjs} +4 -4
  93. package/{esm2015/form-entry/helpers/js-expression-helper.js → dist/ngx-formentry/esm2020/form-entry/helpers/js-expression-helper.mjs} +7 -11
  94. package/dist/ngx-formentry/esm2020/form-entry/pipes/time-ago.pipe.mjs +110 -0
  95. package/{esm2015/form-entry/services/debug-mode.service.js → dist/ngx-formentry/esm2020/form-entry/services/debug-mode.service.mjs} +4 -4
  96. package/{esm2015/form-entry/services/form-errors.service.js → dist/ngx-formentry/esm2020/form-entry/services/form-errors.service.mjs} +4 -4
  97. package/{esm2015/form-entry/services/form-schema-compiler.service.js → dist/ngx-formentry/esm2020/form-entry/services/form-schema-compiler.service.mjs} +4 -4
  98. package/{esm2015/form-entry/services/historical-encounter-data.service.js → dist/ngx-formentry/esm2020/form-entry/services/historical-encounter-data.service.mjs} +4 -4
  99. package/dist/ngx-formentry/esm2020/form-entry/value-adapters/diagnosis.adapter.mjs +144 -0
  100. package/dist/ngx-formentry/esm2020/form-entry/value-adapters/encounter.adapter.mjs +186 -0
  101. package/dist/ngx-formentry/esm2020/form-entry/value-adapters/obs-adapter-helper.mjs +533 -0
  102. package/{esm2015/form-entry/value-adapters/obs.adapter.js → dist/ngx-formentry/esm2020/form-entry/value-adapters/obs.adapter.mjs} +4 -4
  103. package/{esm2015/form-entry/value-adapters/order.adapter.js → dist/ngx-formentry/esm2020/form-entry/value-adapters/order.adapter.mjs} +4 -4
  104. package/{esm2015/form-entry/value-adapters/patient-identifier.adapter.js → dist/ngx-formentry/esm2020/form-entry/value-adapters/patient-identifier.adapter.mjs} +4 -4
  105. package/{esm2015/form-entry/value-adapters/person-attribute.adapter.js → dist/ngx-formentry/esm2020/form-entry/value-adapters/person-attribute.adapter.mjs} +4 -4
  106. package/{esm2015/shared.module.js → dist/ngx-formentry/esm2020/shared.module.mjs} +5 -5
  107. package/dist/ngx-formentry/fesm2015/openmrs-ngx-formentry.mjs +14714 -0
  108. package/dist/ngx-formentry/fesm2015/openmrs-ngx-formentry.mjs.map +1 -0
  109. package/{fesm2015/openmrs-ngx-formentry.js → dist/ngx-formentry/fesm2020/openmrs-ngx-formentry.mjs} +459 -589
  110. package/dist/ngx-formentry/fesm2020/openmrs-ngx-formentry.mjs.map +1 -0
  111. package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/form-node.d.ts +3 -1
  112. package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/form.factory.d.ts +3 -1
  113. package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/validation.factory.d.ts +3 -1
  114. package/{form-entry → dist/ngx-formentry/form-entry}/pipes/time-ago.pipe.d.ts +4 -2
  115. package/dist/ngx-formentry/package.json +48 -0
  116. package/package.json +92 -26
  117. package/proxy.conf.json +6 -0
  118. package/scripts/build.sh +2 -0
  119. package/tsconfig.json +29 -0
  120. package/turbo.json +18 -0
  121. package/bundles/openmrs-ngx-formentry.umd.js +0 -16613
  122. package/bundles/openmrs-ngx-formentry.umd.js.map +0 -1
  123. package/esm2015/components/appointments-overview/appointments-overview.component.js +0 -121
  124. package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +0 -21
  125. package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +0 -23
  126. package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +0 -22
  127. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +0 -192
  128. package/esm2015/components/date-time-picker/date-time-picker.component.js +0 -119
  129. package/esm2015/components/date-time-picker/date-time-picker.module.js +0 -47
  130. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +0 -31
  131. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +0 -125
  132. package/esm2015/components/file-upload/secure.pipe.js +0 -101
  133. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +0 -80
  134. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +0 -38
  135. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +0 -149
  136. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +0 -378
  137. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +0 -348
  138. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +0 -399
  139. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +0 -62
  140. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +0 -83
  141. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +0 -96
  142. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +0 -298
  143. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +0 -27
  144. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +0 -135
  145. package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +0 -21
  146. package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +0 -76
  147. package/esm2015/components/ngx-tabset/components/tab.component.js +0 -37
  148. package/esm2015/components/number-input/number-input.component.js +0 -252
  149. package/esm2015/components/radio-button/radio.component.js +0 -102
  150. package/esm2015/components/select/select.component.js +0 -187
  151. package/esm2015/form-entry/error-renderer/error-renderer.component.js +0 -56
  152. package/esm2015/form-entry/form-factory/form-control.service.js +0 -119
  153. package/esm2015/form-entry/form-factory/form-node.js +0 -96
  154. package/esm2015/form-entry/form-factory/form.factory.js +0 -141
  155. package/esm2015/form-entry/form-factory/question.factory.js +0 -1001
  156. package/esm2015/form-entry/form-factory/validation.factory.js +0 -154
  157. package/esm2015/form-entry/form-renderer/form-renderer.component.js +0 -270
  158. package/esm2015/form-entry/pipes/time-ago.pipe.js +0 -107
  159. package/esm2015/form-entry/utils/messages.js +0 -12
  160. package/esm2015/form-entry/value-adapters/diagnosis.adapter.js +0 -140
  161. package/esm2015/form-entry/value-adapters/encounter.adapter.js +0 -187
  162. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +0 -536
  163. package/fesm2015/openmrs-ngx-formentry.js.map +0 -1
  164. package/form-entry/utils/messages.d.ts +0 -11
  165. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/afe-control-type.d.ts +0 -0
  166. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/afe-form-array.d.ts +0 -0
  167. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/afe-form-control.d.ts +0 -0
  168. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/afe-form-group.d.ts +0 -0
  169. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/control-extensions.d.ts +0 -0
  170. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/index.d.ts +0 -0
  171. /package/{abstract-controls-extension → dist/ngx-formentry/abstract-controls-extension}/value-change.listener.d.ts +0 -0
  172. /package/{change-tracking → dist/ngx-formentry/change-tracking}/control-relation.d.ts +0 -0
  173. /package/{change-tracking → dist/ngx-formentry/change-tracking}/control-relations.d.ts +0 -0
  174. /package/{components → dist/ngx-formentry/components}/afe-ng-select.component.d.ts +0 -0
  175. /package/{components → dist/ngx-formentry/components}/appointments-overview/appointments-overview.component.d.ts +0 -0
  176. /package/{components → dist/ngx-formentry/components}/check-box/checkbox.component.d.ts +0 -0
  177. /package/{components → dist/ngx-formentry/components}/check-box/checkbox.module.d.ts +0 -0
  178. /package/{components → dist/ngx-formentry/components}/custom-component-wrapper/custom-component-wrapper.component.d.ts +0 -0
  179. /package/{components → dist/ngx-formentry/components}/custom-control-wrapper/custom-control-wrapper.component.d.ts +0 -0
  180. /package/{components → dist/ngx-formentry/components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
  181. /package/{components → dist/ngx-formentry/components}/date-time-picker/date-time-picker.component.d.ts +0 -0
  182. /package/{components → dist/ngx-formentry/components}/date-time-picker/index.d.ts +0 -0
  183. /package/{components → dist/ngx-formentry/components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
  184. /package/{components → dist/ngx-formentry/components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
  185. /package/{components → dist/ngx-formentry/components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
  186. /package/{components → dist/ngx-formentry/components}/file-upload/file-upload.component.d.ts +0 -0
  187. /package/{components → dist/ngx-formentry/components}/file-upload/file-upload.module.d.ts +0 -0
  188. /package/{components → dist/ngx-formentry/components}/file-upload/secure.pipe.d.ts +0 -0
  189. /package/{components → dist/ngx-formentry/components}/input/input.directive.d.ts +0 -0
  190. /package/{components → dist/ngx-formentry/components}/input/input.module.d.ts +0 -0
  191. /package/{components → dist/ngx-formentry/components}/input/label.component.d.ts +0 -0
  192. /package/{components → dist/ngx-formentry/components}/input/text-area.directive.d.ts +0 -0
  193. /package/{components → dist/ngx-formentry/components}/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +0 -0
  194. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +0 -0
  195. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +0 -0
  196. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +0 -0
  197. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +0 -0
  198. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +0 -0
  199. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +0 -0
  200. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +0 -0
  201. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +0 -0
  202. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +0 -0
  203. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +0 -0
  204. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +0 -0
  205. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +0 -0
  206. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +0 -0
  207. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +0 -0
  208. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +0 -0
  209. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +0 -0
  210. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +0 -0
  211. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +0 -0
  212. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +0 -0
  213. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/date-time/timer.component.d.ts +0 -0
  214. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +0 -0
  215. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +0 -0
  216. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +0 -0
  217. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +0 -0
  218. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +0 -0
  219. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/utils/index.d.ts +0 -0
  220. /package/{components → dist/ngx-formentry/components}/ngx-pick-datetime/lib/utils/object.utils.d.ts +0 -0
  221. /package/{components → dist/ngx-formentry/components}/ngx-remote-select/ngx-remote-select.component.d.ts +0 -0
  222. /package/{components → dist/ngx-formentry/components}/ngx-tabset/components/ngx-tab-set.component.d.ts +0 -0
  223. /package/{components → dist/ngx-formentry/components}/ngx-tabset/components/tab.component.d.ts +0 -0
  224. /package/{components → dist/ngx-formentry/components}/ngx-tabset/directives/hover-class.directive.d.ts +0 -0
  225. /package/{components → dist/ngx-formentry/components}/ngx-tabset/modules/ngx-tabset.module.d.ts +0 -0
  226. /package/{components → dist/ngx-formentry/components}/number-input/number-input.component.d.ts +0 -0
  227. /package/{components → dist/ngx-formentry/components}/number-input/number-input.module.d.ts +0 -0
  228. /package/{components → dist/ngx-formentry/components}/number-input/number.directive.d.ts +0 -0
  229. /package/{components → dist/ngx-formentry/components}/radio-button/radio.component.d.ts +0 -0
  230. /package/{components → dist/ngx-formentry/components}/radio-button/radio.module.d.ts +0 -0
  231. /package/{components → dist/ngx-formentry/components}/select/optgroup.directive.d.ts +0 -0
  232. /package/{components → dist/ngx-formentry/components}/select/option.directive.d.ts +0 -0
  233. /package/{components → dist/ngx-formentry/components}/select/select.component.d.ts +0 -0
  234. /package/{components → dist/ngx-formentry/components}/select/select.module.d.ts +0 -0
  235. /package/{esm2015/abstract-controls-extension/afe-control-type.js → dist/ngx-formentry/esm2020/abstract-controls-extension/afe-control-type.mjs} +0 -0
  236. /package/{esm2015/abstract-controls-extension/afe-form-array.js → dist/ngx-formentry/esm2020/abstract-controls-extension/afe-form-array.mjs} +0 -0
  237. /package/{esm2015/abstract-controls-extension/afe-form-control.js → dist/ngx-formentry/esm2020/abstract-controls-extension/afe-form-control.mjs} +0 -0
  238. /package/{esm2015/abstract-controls-extension/afe-form-group.js → dist/ngx-formentry/esm2020/abstract-controls-extension/afe-form-group.mjs} +0 -0
  239. /package/{esm2015/abstract-controls-extension/control-extensions.js → dist/ngx-formentry/esm2020/abstract-controls-extension/control-extensions.mjs} +0 -0
  240. /package/{esm2015/abstract-controls-extension/index.js → dist/ngx-formentry/esm2020/abstract-controls-extension/index.mjs} +0 -0
  241. /package/{esm2015/abstract-controls-extension/value-change.listener.js → dist/ngx-formentry/esm2020/abstract-controls-extension/value-change.listener.mjs} +0 -0
  242. /package/{esm2015/change-tracking/control-relation.js → dist/ngx-formentry/esm2020/change-tracking/control-relation.mjs} +0 -0
  243. /package/{esm2015/change-tracking/control-relations.js → dist/ngx-formentry/esm2020/change-tracking/control-relations.mjs} +0 -0
  244. /package/{esm2015/components/date-time-picker/index.js → dist/ngx-formentry/esm2020/components/date-time-picker/index.mjs} +0 -0
  245. /package/{esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.mjs} +0 -0
  246. /package/{esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.mjs} +0 -0
  247. /package/{esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.mjs} +0 -0
  248. /package/{esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.mjs} +0 -0
  249. /package/{esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/dialog/dialog-config.class.mjs} +0 -0
  250. /package/{esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.mjs} +0 -0
  251. /package/{esm2015/components/ngx-pick-datetime/lib/utils/index.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/utils/index.mjs} +0 -0
  252. /package/{esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js → dist/ngx-formentry/esm2020/components/ngx-pick-datetime/lib/utils/object.utils.mjs} +0 -0
  253. /package/{esm2015/form-entry/control-alerts/alert-helpers.js → dist/ngx-formentry/esm2020/form-entry/control-alerts/alert-helpers.mjs} +0 -0
  254. /package/{esm2015/form-entry/control-alerts/can-generate-alert.js → dist/ngx-formentry/esm2020/form-entry/control-alerts/can-generate-alert.mjs} +0 -0
  255. /package/{esm2015/form-entry/control-calculators/can-calculate.js → dist/ngx-formentry/esm2020/form-entry/control-calculators/can-calculate.mjs} +0 -0
  256. /package/{esm2015/form-entry/control-hiders-disablers/can-disable.js → dist/ngx-formentry/esm2020/form-entry/control-hiders-disablers/can-disable.mjs} +0 -0
  257. /package/{esm2015/form-entry/control-hiders-disablers/can-hide.js → dist/ngx-formentry/esm2020/form-entry/control-hiders-disablers/can-hide.mjs} +0 -0
  258. /package/{esm2015/form-entry/control-hiders-disablers/disabler-helper.js → dist/ngx-formentry/esm2020/form-entry/control-hiders-disablers/disabler-helper.mjs} +0 -0
  259. /package/{esm2015/form-entry/control-hiders-disablers/hider-helpers.js → dist/ngx-formentry/esm2020/form-entry/control-hiders-disablers/hider-helpers.mjs} +0 -0
  260. /package/{esm2015/form-entry/data-sources/dummy-data-source.js → dist/ngx-formentry/esm2020/form-entry/data-sources/dummy-data-source.mjs} +0 -0
  261. /package/{esm2015/form-entry/directives/collapse-animations.js → dist/ngx-formentry/esm2020/form-entry/directives/collapse-animations.mjs} +0 -0
  262. /package/{esm2015/form-entry/form-factory/form.js → dist/ngx-formentry/esm2020/form-entry/form-factory/form.mjs} +0 -0
  263. /package/{esm2015/form-entry/form-factory/index.js → dist/ngx-formentry/esm2020/form-entry/form-factory/index.mjs} +0 -0
  264. /package/{esm2015/form-entry/helpers/risk-dataset-table.js → dist/ngx-formentry/esm2020/form-entry/helpers/risk-dataset-table.mjs} +0 -0
  265. /package/{esm2015/form-entry/question-models/checkbox.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/checkbox.model.mjs} +0 -0
  266. /package/{esm2015/form-entry/question-models/conditional-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/conditional-validation.model.mjs} +0 -0
  267. /package/{esm2015/form-entry/question-models/custom-control-question.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/custom-control-question.model.mjs} +0 -0
  268. /package/{esm2015/form-entry/question-models/date-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/date-question.mjs} +0 -0
  269. /package/{esm2015/form-entry/question-models/date-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/date-validation.model.mjs} +0 -0
  270. /package/{esm2015/form-entry/question-models/diagnosis-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/diagnosis-question.mjs} +0 -0
  271. /package/{esm2015/form-entry/question-models/file-upload-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/file-upload-question.mjs} +0 -0
  272. /package/{esm2015/form-entry/question-models/group-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/group-question.mjs} +0 -0
  273. /package/{esm2015/form-entry/question-models/interfaces/base-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/base-options.mjs} +0 -0
  274. /package/{esm2015/form-entry/question-models/interfaces/checkbox-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/checkbox-options.mjs} +0 -0
  275. /package/{esm2015/form-entry/question-models/interfaces/data-source.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/data-source.mjs} +0 -0
  276. /package/{esm2015/form-entry/question-models/interfaces/date-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/date-question-options.mjs} +0 -0
  277. /package/{esm2015/form-entry/question-models/interfaces/diagnosis-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/diagnosis-question-options.mjs} +0 -0
  278. /package/{esm2015/form-entry/question-models/interfaces/file-upload-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/file-upload-question-options.mjs} +0 -0
  279. /package/{esm2015/form-entry/question-models/interfaces/group-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/group-question-options.mjs} +0 -0
  280. /package/{esm2015/form-entry/question-models/interfaces/multi-select-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/multi-select-options.mjs} +0 -0
  281. /package/{esm2015/form-entry/question-models/interfaces/nested-questions.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/nested-questions.mjs} +0 -0
  282. /package/{esm2015/form-entry/question-models/interfaces/radio-button-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/radio-button-options.mjs} +0 -0
  283. /package/{esm2015/form-entry/question-models/interfaces/repeating-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/repeating-question-options.mjs} +0 -0
  284. /package/{esm2015/form-entry/question-models/interfaces/select-option.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/select-option.mjs} +0 -0
  285. /package/{esm2015/form-entry/question-models/interfaces/select-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/select-question-options.mjs} +0 -0
  286. /package/{esm2015/form-entry/question-models/interfaces/test-order-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/test-order-question-options.mjs} +0 -0
  287. /package/{esm2015/form-entry/question-models/interfaces/text-area-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/text-area-question-options.mjs} +0 -0
  288. /package/{esm2015/form-entry/question-models/interfaces/text-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/text-question-options.mjs} +0 -0
  289. /package/{esm2015/form-entry/question-models/interfaces/ui-select-question-options.js → dist/ngx-formentry/esm2020/form-entry/question-models/interfaces/ui-select-question-options.mjs} +0 -0
  290. /package/{esm2015/form-entry/question-models/js-expression-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/js-expression-validation.model.mjs} +0 -0
  291. /package/{esm2015/form-entry/question-models/max-length-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/max-length-validation.model.mjs} +0 -0
  292. /package/{esm2015/form-entry/question-models/max-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/max-validation.model.mjs} +0 -0
  293. /package/{esm2015/form-entry/question-models/min-length-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/min-length-validation.model.mjs} +0 -0
  294. /package/{esm2015/form-entry/question-models/min-validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/min-validation.model.mjs} +0 -0
  295. /package/{esm2015/form-entry/question-models/models.js → dist/ngx-formentry/esm2020/form-entry/question-models/models.mjs} +0 -0
  296. /package/{esm2015/form-entry/question-models/multi-select-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/multi-select-question.mjs} +0 -0
  297. /package/{esm2015/form-entry/question-models/pair.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/pair.model.mjs} +0 -0
  298. /package/{esm2015/form-entry/question-models/question-base.js → dist/ngx-formentry/esm2020/form-entry/question-models/question-base.mjs} +0 -0
  299. /package/{esm2015/form-entry/question-models/radio-button.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/radio-button.model.mjs} +0 -0
  300. /package/{esm2015/form-entry/question-models/rendering-type.js → dist/ngx-formentry/esm2020/form-entry/question-models/rendering-type.mjs} +0 -0
  301. /package/{esm2015/form-entry/question-models/repeating-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/repeating-question.mjs} +0 -0
  302. /package/{esm2015/form-entry/question-models/select-option.js → dist/ngx-formentry/esm2020/form-entry/question-models/select-option.mjs} +0 -0
  303. /package/{esm2015/form-entry/question-models/select-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/select-question.mjs} +0 -0
  304. /package/{esm2015/form-entry/question-models/test-order-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/test-order-question.mjs} +0 -0
  305. /package/{esm2015/form-entry/question-models/text-area-input-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/text-area-input-question.mjs} +0 -0
  306. /package/{esm2015/form-entry/question-models/text-input-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/text-input-question.mjs} +0 -0
  307. /package/{esm2015/form-entry/question-models/ui-select-question.js → dist/ngx-formentry/esm2020/form-entry/question-models/ui-select-question.mjs} +0 -0
  308. /package/{esm2015/form-entry/question-models/validation.model.js → dist/ngx-formentry/esm2020/form-entry/question-models/validation.model.mjs} +0 -0
  309. /package/{esm2015/form-entry/validators/conditional-answered.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/conditional-answered.validator.mjs} +0 -0
  310. /package/{esm2015/form-entry/validators/conditional-required.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/conditional-required.validator.mjs} +0 -0
  311. /package/{esm2015/form-entry/validators/date.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/date.validator.mjs} +0 -0
  312. /package/{esm2015/form-entry/validators/future-date-restriction.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/future-date-restriction.validator.mjs} +0 -0
  313. /package/{esm2015/form-entry/validators/js-expression.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/js-expression.validator.mjs} +0 -0
  314. /package/{esm2015/form-entry/validators/max-date.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/max-date.validator.mjs} +0 -0
  315. /package/{esm2015/form-entry/validators/max-length.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/max-length.validator.mjs} +0 -0
  316. /package/{esm2015/form-entry/validators/max.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/max.validator.mjs} +0 -0
  317. /package/{esm2015/form-entry/validators/min-date.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/min-date.validator.mjs} +0 -0
  318. /package/{esm2015/form-entry/validators/min-length.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/min-length.validator.mjs} +0 -0
  319. /package/{esm2015/form-entry/validators/min.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/min.validator.mjs} +0 -0
  320. /package/{esm2015/form-entry/validators/required.validator.js → dist/ngx-formentry/esm2020/form-entry/validators/required.validator.mjs} +0 -0
  321. /package/{esm2015/form-entry/validators/validations.js → dist/ngx-formentry/esm2020/form-entry/validators/validations.mjs} +0 -0
  322. /package/{esm2015/form-entry/value-adapters/value.adapter.js → dist/ngx-formentry/esm2020/form-entry/value-adapters/value.adapter.mjs} +0 -0
  323. /package/{esm2015/lib/index.js → dist/ngx-formentry/esm2020/lib/index.mjs} +0 -0
  324. /package/{esm2015/openmrs-ngx-formentry.js → dist/ngx-formentry/esm2020/openmrs-ngx-formentry.mjs} +0 -0
  325. /package/{esm2015/public_api.js → dist/ngx-formentry/esm2020/public_api.mjs} +0 -0
  326. /package/{form-entry → dist/ngx-formentry/form-entry}/control-alerts/alert-helpers.d.ts +0 -0
  327. /package/{form-entry → dist/ngx-formentry/form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
  328. /package/{form-entry → dist/ngx-formentry/form-entry}/control-calculators/can-calculate.d.ts +0 -0
  329. /package/{form-entry → dist/ngx-formentry/form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
  330. /package/{form-entry → dist/ngx-formentry/form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
  331. /package/{form-entry → dist/ngx-formentry/form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
  332. /package/{form-entry → dist/ngx-formentry/form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
  333. /package/{form-entry → dist/ngx-formentry/form-entry}/data-sources/data-sources.d.ts +0 -0
  334. /package/{form-entry → dist/ngx-formentry/form-entry}/data-sources/dummy-data-source.d.ts +0 -0
  335. /package/{form-entry → dist/ngx-formentry/form-entry}/directives/collapse-animations.d.ts +0 -0
  336. /package/{form-entry → dist/ngx-formentry/form-entry}/directives/collapse.directive.d.ts +0 -0
  337. /package/{form-entry → dist/ngx-formentry/form-entry}/directives/historical-value.directive.d.ts +0 -0
  338. /package/{form-entry → dist/ngx-formentry/form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
  339. /package/{form-entry → dist/ngx-formentry/form-entry}/expression-runner/expression-runner.d.ts +0 -0
  340. /package/{form-entry → dist/ngx-formentry/form-entry}/form-entry.module.d.ts +0 -0
  341. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/control-relations.factory.d.ts +0 -0
  342. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/form-control.service.d.ts +0 -0
  343. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/form.d.ts +0 -0
  344. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
  345. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/index.d.ts +0 -0
  346. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/question.factory.d.ts +0 -0
  347. /package/{form-entry → dist/ngx-formentry/form-entry}/form-factory/show-messages.factory.d.ts +0 -0
  348. /package/{form-entry → dist/ngx-formentry/form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
  349. /package/{form-entry → dist/ngx-formentry/form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
  350. /package/{form-entry → dist/ngx-formentry/form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
  351. /package/{form-entry → dist/ngx-formentry/form-entry}/helpers/js-expression-helper.d.ts +0 -0
  352. /package/{form-entry → dist/ngx-formentry/form-entry}/helpers/risk-dataset-table.d.ts +0 -0
  353. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/checkbox.model.d.ts +0 -0
  354. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/conditional-validation.model.d.ts +0 -0
  355. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/custom-control-question.model.d.ts +0 -0
  356. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/date-question.d.ts +0 -0
  357. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/date-validation.model.d.ts +0 -0
  358. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/diagnosis-question.d.ts +0 -0
  359. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/file-upload-question.d.ts +0 -0
  360. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/group-question.d.ts +0 -0
  361. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/base-options.d.ts +0 -0
  362. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
  363. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/data-source.d.ts +0 -0
  364. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
  365. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/diagnosis-question-options.d.ts +0 -0
  366. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/file-upload-question-options.d.ts +0 -0
  367. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/group-question-options.d.ts +0 -0
  368. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/multi-select-options.d.ts +0 -0
  369. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/nested-questions.d.ts +0 -0
  370. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/radio-button-options.d.ts +0 -0
  371. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
  372. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/select-option.d.ts +0 -0
  373. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
  374. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
  375. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
  376. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
  377. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
  378. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
  379. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/max-length-validation.model.d.ts +0 -0
  380. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/max-validation.model.d.ts +0 -0
  381. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/min-length-validation.model.d.ts +0 -0
  382. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/min-validation.model.d.ts +0 -0
  383. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/models.d.ts +0 -0
  384. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/multi-select-question.d.ts +0 -0
  385. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/pair.model.d.ts +0 -0
  386. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/question-base.d.ts +0 -0
  387. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/radio-button.model.d.ts +0 -0
  388. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/rendering-type.d.ts +0 -0
  389. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/repeating-question.d.ts +0 -0
  390. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/select-option.d.ts +0 -0
  391. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/select-question.d.ts +0 -0
  392. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/test-order-question.d.ts +0 -0
  393. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/text-area-input-question.d.ts +0 -0
  394. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/text-input-question.d.ts +0 -0
  395. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/ui-select-question.d.ts +0 -0
  396. /package/{form-entry → dist/ngx-formentry/form-entry}/question-models/validation.model.d.ts +0 -0
  397. /package/{form-entry → dist/ngx-formentry/form-entry}/services/debug-mode.service.d.ts +0 -0
  398. /package/{form-entry → dist/ngx-formentry/form-entry}/services/form-errors.service.d.ts +0 -0
  399. /package/{form-entry → dist/ngx-formentry/form-entry}/services/form-schema-compiler.service.d.ts +0 -0
  400. /package/{form-entry → dist/ngx-formentry/form-entry}/services/historical-encounter-data.service.d.ts +0 -0
  401. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/conditional-answered.validator.d.ts +0 -0
  402. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/conditional-required.validator.d.ts +0 -0
  403. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/date.validator.d.ts +0 -0
  404. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
  405. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/js-expression.validator.d.ts +0 -0
  406. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/max-date.validator.d.ts +0 -0
  407. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/max-length.validator.d.ts +0 -0
  408. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/max.validator.d.ts +0 -0
  409. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/min-date.validator.d.ts +0 -0
  410. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/min-length.validator.d.ts +0 -0
  411. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/min.validator.d.ts +0 -0
  412. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/required.validator.d.ts +0 -0
  413. /package/{form-entry → dist/ngx-formentry/form-entry}/validators/validations.d.ts +0 -0
  414. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/diagnosis.adapter.d.ts +0 -0
  415. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
  416. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
  417. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/obs.adapter.d.ts +0 -0
  418. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/order.adapter.d.ts +0 -0
  419. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/patient-identifier.adapter.d.ts +0 -0
  420. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
  421. /package/{form-entry → dist/ngx-formentry/form-entry}/value-adapters/value.adapter.d.ts +0 -0
  422. /package/{lib → dist/ngx-formentry/lib}/index.d.ts +0 -0
  423. /package/{openmrs-ngx-formentry.d.ts → dist/ngx-formentry/openmrs-ngx-formentry.d.ts} +0 -0
  424. /package/{public_api.d.ts → dist/ngx-formentry/public_api.d.ts} +0 -0
  425. /package/{shared.module.d.ts → dist/ngx-formentry/shared.module.d.ts} +0 -0
  426. /package/{styles → dist/ngx-formentry/styles}/ngx-formentry.css +0 -0
  427. /package/{styles → dist/ngx-formentry/styles}/picker.min.css +0 -0
@@ -1,96 +0,0 @@
1
- export class NodeBase {
2
- constructor(question, control, form, parentPath) {
3
- this._control = control;
4
- this._questionModel = question;
5
- this._form = form;
6
- this._path = parentPath ? parentPath + '.' + question.key : question.key;
7
- }
8
- get question() {
9
- return this._questionModel;
10
- }
11
- get control() {
12
- return this._control;
13
- }
14
- get form() {
15
- return this._form;
16
- }
17
- get path() {
18
- return this._path;
19
- }
20
- removeAt(index) { }
21
- createChildNode() { }
22
- removeChildNode() { }
23
- }
24
- export class LeafNode extends NodeBase {
25
- get children() {
26
- return null;
27
- }
28
- constructor(question, control, parentControl, form, parentPath) {
29
- super(question, control, form, parentPath);
30
- }
31
- }
32
- export class GroupNode extends NodeBase {
33
- constructor(question, control, parentControl, form, parentPath) {
34
- super(question, control, form, parentPath);
35
- this._children = {};
36
- }
37
- get children() {
38
- return this._children;
39
- }
40
- setChild(key, node) {
41
- this.children[key] = node;
42
- }
43
- }
44
- export class ArrayNode extends NodeBase {
45
- constructor(question, control, parentControl, formFactory, form, parentPath) {
46
- super(question, control, form, parentPath);
47
- this.formFactory = formFactory;
48
- this.childNodeCreatedEvents = [];
49
- this._children = [];
50
- this.childNodeCreatedEvents = [];
51
- }
52
- get children() {
53
- return this._children;
54
- }
55
- createChildNode() {
56
- if (this.children.length >= this.question.extras.questionOptions.max) {
57
- confirm(`Cannot have more than ${this.question.extras.questionOptions.max} entries`);
58
- return;
59
- }
60
- if (this.createChildFunc) {
61
- const g = this.createChildFunc(this.question, this, this.formFactory);
62
- this.fireChildNodeCreatedListener(g);
63
- return g;
64
- }
65
- return null;
66
- }
67
- removeAt(index) {
68
- if (this.children.length <= this.question.extras.questionOptions.min) {
69
- const clearPrompt = confirm(`Are you sure you want to clear this entry?`);
70
- if (clearPrompt && this.removeChildFunc && this.createChildNode) {
71
- this.removeChildFunc(index, this);
72
- const g = this.createChildFunc(this.question, this, this.formFactory, index);
73
- this.fireChildNodeCreatedListener(g);
74
- return g;
75
- }
76
- }
77
- else {
78
- const removePrompt = confirm('Are you sure you want to delete this item?');
79
- if (removePrompt) {
80
- if (this.removeChildFunc) {
81
- this.removeChildFunc(index, this);
82
- }
83
- }
84
- }
85
- }
86
- addChildNodeCreatedListener(func) {
87
- this.childNodeCreatedEvents.push(func);
88
- }
89
- fireChildNodeCreatedListener(node) {
90
- for (let i = 0; i < this.childNodeCreatedEvents.length; i++) {
91
- const func = this.childNodeCreatedEvents[i];
92
- func(node);
93
- }
94
- }
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLE9BQWdCLFFBQVE7SUFVNUIsWUFDRSxRQUFzQixFQUN0QixPQUFzRCxFQUN0RCxJQUFXLEVBQ1gsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhLElBQUcsQ0FBQztJQUUxQixlQUFlLEtBQUksQ0FBQztJQUNwQixlQUFlLEtBQUksQ0FBQztDQUNyQjtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUNwQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQzVE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QUFFO29CQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQVM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBZTtRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS5mYWN0b3J5JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG4vLyBpbXBvcnQgeyBBZmVDb250cm9sVHlwZSwgQWZlRm9ybUFycmF5LCBBZmVGb3JtR3JvdXAsIEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSwgUmVwZWF0aW5nUXVlc3Rpb24gfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuZXhwb3J0IGludGVyZmFjZSBDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIge1xuICBhZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZnVuYzogYW55KTtcblxuICBmaXJlQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKG5vZGU6IEdyb3VwTm9kZSk7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb24gPSAoXG4gIHF1ZXN0aW9uOiBSZXBlYXRpbmdRdWVzdGlvbixcbiAgbm9kZTogQXJyYXlOb2RlLFxuICBmYWN0b3J5PzogRm9ybUZhY3RvcnksXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4pID0+IEdyb3VwTm9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVBcnJheUNoaWxkTm9kZUZ1bmN0aW9uIHtcbiAgKGluZGV4OiBudW1iZXIsIG5vZGU6IEFycmF5Tm9kZSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb2RlQmFzZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBjaGlsZHJlbj86IGFueTtcbiAgcHVibGljIG5vZGVJbmRleD86IE51bWJlcjtcbiAgcHJpdmF0ZSBfY29udHJvbDogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXA7XG4gIHByaXZhdGUgX3F1ZXN0aW9uTW9kZWw6IFF1ZXN0aW9uQmFzZTtcbiAgcHJpdmF0ZSBfZm9ybTogRm9ybTtcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsVmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuX2NvbnRyb2wgPSBjb250cm9sO1xuICAgIHRoaXMuX3F1ZXN0aW9uTW9kZWwgPSBxdWVzdGlvbjtcbiAgICB0aGlzLl9mb3JtID0gZm9ybTtcbiAgICB0aGlzLl9wYXRoID0gcGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLicgKyBxdWVzdGlvbi5rZXkgOiBxdWVzdGlvbi5rZXk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXN0aW9uTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRyb2woKTogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge31cblxuICBjcmVhdGVDaGlsZE5vZGUoKSB7fVxuICByZW1vdmVDaGlsZE5vZGUoKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgTGVhZk5vZGUgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gIGdldCBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm0sXG4gICAgcGFyZW50UGF0aD86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihxdWVzdGlvbiwgY29udHJvbCwgZm9ybSwgcGFyZW50UGF0aCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdyb3VwTm9kZSBleHRlbmRzIE5vZGVCYXNlIHtcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtLFxuICAgIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIocXVlc3Rpb24sIGNvbnRyb2wsIGZvcm0sIHBhcmVudFBhdGgpO1xuICAgIHRoaXMuX2NoaWxkcmVuID0ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIHNldENoaWxkKGtleTogc3RyaW5nLCBub2RlOiBOb2RlQmFzZSkge1xuICAgIHRoaXMuY2hpbGRyZW5ba2V5XSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFycmF5Tm9kZSBleHRlbmRzIE5vZGVCYXNlIGltcGxlbWVudHMgQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyIHtcbiAgcHJpdmF0ZSBjaGlsZE5vZGVDcmVhdGVkRXZlbnRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9jaGlsZHJlbjogR3JvdXBOb2RlW107XG4gIHB1YmxpYyBjcmVhdGVDaGlsZEZ1bmM6IENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG4gIHB1YmxpYyByZW1vdmVDaGlsZEZ1bmM6IFJlbW92ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIHByaXZhdGUgZm9ybUZhY3Rvcnk/OiBGb3JtRmFjdG9yeSxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKHF1ZXN0aW9uLCBjb250cm9sLCBmb3JtLCBwYXJlbnRQYXRoKTtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IFtdO1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZHJlbigpOiBHcm91cE5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoaWxkTm9kZSgpOiBHcm91cE5vZGUge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA+PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWF4KSB7XG4gICAgICBjb25maXJtKFxuICAgICAgICBgQ2Fubm90IGhhdmUgbW9yZSB0aGFuICR7dGhpcy5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLm1heH0gZW50cmllc2BcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNyZWF0ZUNoaWxkRnVuYykge1xuICAgICAgY29uc3QgZzogR3JvdXBOb2RlID0gdGhpcy5jcmVhdGVDaGlsZEZ1bmMoXG4gICAgICAgIHRoaXMucXVlc3Rpb24gYXMgUmVwZWF0aW5nUXVlc3Rpb24sXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuZm9ybUZhY3RvcnlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICByZXR1cm4gZztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA8PSB0aGlzLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMubWluKSB7XG4gICAgICBjb25zdCBjbGVhclByb21wdCA9IGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGlzIGVudHJ5P2ApO1xuICAgICAgaWYgKGNsZWFyUHJvbXB0ICYmIHRoaXMucmVtb3ZlQ2hpbGRGdW5jICYmIHRoaXMuY3JlYXRlQ2hpbGROb2RlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGRGdW5jKGluZGV4LCB0aGlzKTtcblxuICAgICAgICBjb25zdCBnOiBHcm91cE5vZGUgPSB0aGlzLmNyZWF0ZUNoaWxkRnVuYyhcbiAgICAgICAgICB0aGlzLnF1ZXN0aW9uIGFzIFJlcGVhdGluZ1F1ZXN0aW9uLFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5mb3JtRmFjdG9yeSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICAgIHJldHVybiBnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZW1vdmVQcm9tcHQgPSBjb25maXJtKFxuICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/J1xuICAgICAgKTtcbiAgICAgIGlmIChyZW1vdmVQcm9tcHQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVtb3ZlQ2hpbGRGdW5jKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZEZ1bmMoaW5kZXgsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKGZ1bmM6IGFueSkge1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5wdXNoKGZ1bmMpO1xuICB9XG5cbiAgZmlyZUNoaWxkTm9kZUNyZWF0ZWRMaXN0ZW5lcihub2RlOiBHcm91cE5vZGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZnVuYzogYW55ID0gdGhpcy5jaGlsZE5vZGVDcmVhdGVkRXZlbnRzW2ldO1xuICAgICAgZnVuYyhub2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,141 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- // import { AbstractControl } from '@angular/forms';
3
- import { LeafNode, GroupNode, ArrayNode } from './form-node';
4
- import { NestedQuestion, RepeatingQuestion, QuestionGroup } from '../question-models/models';
5
- import { FormControlService } from './form-control.service';
6
- import { QuestionFactory } from './question.factory';
7
- import { AfeControlType, AfeFormArray } from '../../abstract-controls-extension';
8
- import { ControlRelationsFactory } from './control-relations.factory';
9
- import { Validations } from '../validators/validations';
10
- import { Form } from './form';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./form-control.service";
13
- import * as i2 from "./question.factory";
14
- import * as i3 from "./control-relations.factory";
15
- export class FormFactory {
16
- constructor(controlService, questionFactroy, controlRelationsFactory) {
17
- this.controlService = controlService;
18
- this.questionFactroy = questionFactroy;
19
- this.controlRelationsFactory = controlRelationsFactory;
20
- this.nodeIndex = 0;
21
- this.hd = {
22
- getValue: () => {
23
- return 20;
24
- }
25
- };
26
- }
27
- createForm(schema, dataSource) {
28
- const form = new Form(schema, this, this.questionFactroy);
29
- if (dataSource) {
30
- for (const key in dataSource) {
31
- if (dataSource.hasOwnProperty(key)) {
32
- form.dataSourcesContainer.registerDataSource(key, dataSource[key], false);
33
- }
34
- }
35
- }
36
- const question = this.questionFactroy.createQuestionModel(schema, form);
37
- form.rootNode = this.createNode(question, null, null, form);
38
- this.buildRelations(form.rootNode);
39
- form.updateHiddenDisabledStateForAllControls();
40
- form.updateAlertsForAllControls();
41
- return form;
42
- }
43
- buildRelations(rootNode) {
44
- Validations.JSExpressionValidatorsEnabled = false;
45
- this.controlRelationsFactory.buildRelations(rootNode);
46
- // enable js expression validations
47
- Validations.JSExpressionValidatorsEnabled = true;
48
- }
49
- createNode(question, parentNode, parentControl, form) {
50
- let node = null;
51
- if (question instanceof NestedQuestion) {
52
- if (question instanceof RepeatingQuestion) {
53
- node = this.createArrayNode(question, parentNode, parentControl, form);
54
- }
55
- else {
56
- node = this.createGroupNode(question, parentNode, parentControl, form);
57
- }
58
- }
59
- else {
60
- node = this.createLeafNode(question, parentNode, parentControl, form);
61
- }
62
- node.nodeIndex = this.nodeIndex;
63
- this.nodeIndex++;
64
- return node;
65
- }
66
- createLeafNode(question, parentNode, parentControl, form) {
67
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
68
- return new LeafNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
69
- }
70
- createGroupNode(question, parentNode, parentControl, form) {
71
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
72
- const groupNode = new GroupNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
73
- this.createNodeChildren(question, groupNode, controlModel || parentControl, form);
74
- return groupNode;
75
- }
76
- createArrayNode(question, parentNode, parentControl, form) {
77
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
78
- const arrayNode = new ArrayNode(question, controlModel, parentControl, this, form, parentNode ? parentNode.path : undefined);
79
- arrayNode.createChildFunc = this.createArrayNodeChild;
80
- arrayNode.removeChildFunc = this.removeArrayNodeChild;
81
- arrayNode.addChildNodeCreatedListener((node) => {
82
- Validations.JSExpressionValidatorsEnabled = false;
83
- this.controlRelationsFactory.buildArrayNodeRelations(node);
84
- Validations.JSExpressionValidatorsEnabled = true;
85
- });
86
- return arrayNode;
87
- }
88
- createNodeChildren(question, node, parentControl, form) {
89
- question.questions.forEach((element) => {
90
- const child = this.createNode(element, node, parentControl, form);
91
- node.setChild(element.key, child);
92
- });
93
- return node.children;
94
- }
95
- createArrayNodeChild(question, node, factory, position) {
96
- if (factory === null || factory === undefined) {
97
- factory = this;
98
- }
99
- const groupQuestion = new QuestionGroup({
100
- key: node.path + '.' + node.children.length + '',
101
- type: 'group',
102
- extras: question.extras,
103
- label: '',
104
- questions: question.questions
105
- });
106
- if (question.controlType === AfeControlType.None) {
107
- groupQuestion.controlType = question.controlType;
108
- }
109
- const group = factory.createGroupNode(groupQuestion, null, null, node.form);
110
- if (position >= 0) {
111
- node.children.splice(position, 0, group);
112
- }
113
- else {
114
- node.children.push(group);
115
- }
116
- if (node.control instanceof AfeFormArray) {
117
- const nodeControl = node.control;
118
- nodeControl.setControl(nodeControl.controls.length, group.control);
119
- }
120
- return group;
121
- }
122
- removeArrayNodeChild(index, node) {
123
- const nodeToRemove = node.children[index];
124
- node.children.splice(index, 1);
125
- if (node.control !== null || node.control !== undefined) {
126
- if (node.control instanceof AfeFormArray) {
127
- const control = node.control;
128
- const controlIndexToRemove = control.controls.indexOf(nodeToRemove.control);
129
- if (controlIndexToRemove >= 0) {
130
- control.removeAt(controlIndexToRemove);
131
- }
132
- }
133
- }
134
- }
135
- }
136
- FormFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory, deps: [{ token: i1.FormControlService }, { token: i2.QuestionFactory }, { token: i3.ControlRelationsFactory }], target: i0.ɵɵFactoryTarget.Injectable });
137
- FormFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory, decorators: [{
139
- type: Injectable
140
- }], ctorParameters: function () { return [{ type: i1.FormControlService }, { type: i2.QuestionFactory }, { type: i3.ControlRelationsFactory }]; } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0Msb0RBQW9EO0FBRXBELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBRUwsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixhQUFhLEVBQ2QsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUVMLGNBQWMsRUFDZCxZQUFZLEVBQ2IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFHOUIsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDUyxjQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyx1QkFBZ0Q7UUFGaEQsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBVmpELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZixPQUFFLEdBQVE7WUFDZixRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztTQUNGLENBQUM7SUFNQyxDQUFDO0lBRUosVUFBVSxDQUFDLE1BQVcsRUFBRSxVQUFnQjtRQUN0QyxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxJQUFJLFVBQVUsRUFBRTtZQUNkLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO2dCQUM1QixJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FDMUMsR0FBRyxFQUNILFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFDZixLQUFLLENBQ04sQ0FBQztpQkFDSDthQUNGO1NBQ0Y7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFjLENBQUM7UUFFekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQW1CO1FBQ2hDLFdBQVcsQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0RCxtQ0FBbUM7UUFDbkMsV0FBVyxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUNSLFFBQXVDLEVBQ3ZDLFVBQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLElBQVc7UUFFWCxJQUFJLElBQUksR0FBYSxJQUFJLENBQUM7UUFDMUIsSUFBSSxRQUFRLFlBQVksY0FBYyxFQUFFO1lBQ3RDLElBQUksUUFBUSxZQUFZLGlCQUFpQixFQUFFO2dCQUN6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN4RTtpQkFBTTtnQkFDTCxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN4RTtTQUNGO2FBQU07WUFDTCxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUNaLFFBQXNCLEVBQ3RCLFVBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLElBQVc7UUFFWCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxRQUFRLEVBQ1IsYUFBYSxFQUNiLEtBQUssRUFDTCxJQUFJLENBQ0wsQ0FBQztRQUNGLE9BQU8sSUFBSSxRQUFRLENBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osSUFBSSxFQUNKLElBQUksRUFDSixVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQ2IsUUFBd0IsRUFDeEIsVUFBc0IsRUFDdEIsYUFBNEIsRUFDNUIsSUFBVztRQUVYLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQzNELFFBQVEsRUFDUixhQUFhLEVBQ2IsS0FBSyxFQUNMLElBQUksQ0FDVyxDQUFDO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUM3QixRQUFRLEVBQ1IsWUFBWSxFQUNaLElBQUksRUFDSixJQUFJLEVBQ0osVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ3pDLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQ3JCLFFBQVEsRUFDUixTQUFTLEVBQ1QsWUFBWSxJQUFJLGFBQWEsRUFDN0IsSUFBSSxDQUNMLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsZUFBZSxDQUNiLFFBQXdCLEVBQ3hCLFVBQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLElBQVc7UUFFWCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUMzRCxRQUFRLEVBQ1IsYUFBYSxFQUNiLEtBQUssRUFDTCxJQUFJLENBQ1csQ0FBQztRQUNsQixNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FDN0IsUUFBUSxFQUNSLFlBQVksRUFDWixhQUFhLEVBQ2IsSUFBSSxFQUNKLElBQUksRUFDSixVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQztRQUNGLFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3RELFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRXRELFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFO1lBQ3hELFdBQVcsQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7WUFDbEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFdBQVcsQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLFFBQXdCLEVBQ3hCLElBQWUsRUFDZixhQUE0QixFQUM1QixJQUFXO1FBRVgsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFFBQTJCLEVBQzNCLElBQWUsRUFDZixPQUFxQixFQUNyQixRQUFpQjtRQUVqQixJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUM3QyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxhQUFhLEdBQWtCLElBQUksYUFBYSxDQUFDO1lBQ3JELEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFO1lBQ2hELElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3ZCLEtBQUssRUFBRSxFQUFFO1lBQ1QsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFO1lBQ2hELGFBQWEsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUNsRDtRQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVFLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxZQUFZLEVBQUU7WUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQXVCLENBQUM7WUFDakQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsSUFBZTtRQUNqRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxZQUFZLEVBQUU7Z0JBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUF1QixDQUFDO2dCQUM3QyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuRCxZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO2dCQUNGLElBQUksb0JBQW9CLElBQUksQ0FBQyxFQUFFO29CQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRjtJQUNILENBQUM7O3lHQWxOVSxXQUFXOzZHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIGltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTGVhZk5vZGUsIEdyb3VwTm9kZSwgQXJyYXlOb2RlLCBOb2RlQmFzZSB9IGZyb20gJy4vZm9ybS1ub2RlJztcbmltcG9ydCB7XG4gIFF1ZXN0aW9uQmFzZSxcbiAgTmVzdGVkUXVlc3Rpb24sXG4gIFJlcGVhdGluZ1F1ZXN0aW9uLFxuICBRdWVzdGlvbkdyb3VwXG59IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbkZhY3RvcnkgfSBmcm9tICcuL3F1ZXN0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHtcbiAgQWZlRm9ybUdyb3VwLFxuICBBZmVDb250cm9sVHlwZSxcbiAgQWZlRm9ybUFycmF5XG59IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbic7XG5pbXBvcnQgeyBDb250cm9sUmVsYXRpb25zRmFjdG9yeSB9IGZyb20gJy4vY29udHJvbC1yZWxhdGlvbnMuZmFjdG9yeSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9ucyB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbnMnO1xuXG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi9mb3JtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1GYWN0b3J5IHtcbiAgcHJpdmF0ZSBub2RlSW5kZXggPSAwO1xuICBwdWJsaWMgaGQ6IGFueSA9IHtcbiAgICBnZXRWYWx1ZTogKCkgPT4ge1xuICAgICAgcmV0dXJuIDIwO1xuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbFNlcnZpY2U6IEZvcm1Db250cm9sU2VydmljZSxcbiAgICBwdWJsaWMgcXVlc3Rpb25GYWN0cm95OiBRdWVzdGlvbkZhY3RvcnksXG4gICAgcHVibGljIGNvbnRyb2xSZWxhdGlvbnNGYWN0b3J5OiBDb250cm9sUmVsYXRpb25zRmFjdG9yeVxuICApIHt9XG5cbiAgY3JlYXRlRm9ybShzY2hlbWE6IGFueSwgZGF0YVNvdXJjZT86IGFueSk6IEZvcm0ge1xuICAgIGNvbnN0IGZvcm06IEZvcm0gPSBuZXcgRm9ybShzY2hlbWEsIHRoaXMsIHRoaXMucXVlc3Rpb25GYWN0cm95KTtcbiAgICBpZiAoZGF0YVNvdXJjZSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YVNvdXJjZSkge1xuICAgICAgICBpZiAoZGF0YVNvdXJjZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgZm9ybS5kYXRhU291cmNlc0NvbnRhaW5lci5yZWdpc3RlckRhdGFTb3VyY2UoXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBkYXRhU291cmNlW2tleV0sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uRmFjdHJveS5jcmVhdGVRdWVzdGlvbk1vZGVsKHNjaGVtYSwgZm9ybSk7XG4gICAgZm9ybS5yb290Tm9kZSA9IHRoaXMuY3JlYXRlTm9kZShxdWVzdGlvbiwgbnVsbCwgbnVsbCwgZm9ybSkgYXMgR3JvdXBOb2RlO1xuXG4gICAgdGhpcy5idWlsZFJlbGF0aW9ucyhmb3JtLnJvb3ROb2RlKTtcbiAgICBmb3JtLnVwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scygpO1xuICAgIGZvcm0udXBkYXRlQWxlcnRzRm9yQWxsQ29udHJvbHMoKTtcbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIGJ1aWxkUmVsYXRpb25zKHJvb3ROb2RlOiBHcm91cE5vZGUpIHtcbiAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuY29udHJvbFJlbGF0aW9uc0ZhY3RvcnkuYnVpbGRSZWxhdGlvbnMocm9vdE5vZGUpO1xuXG4gICAgLy8gZW5hYmxlIGpzIGV4cHJlc3Npb24gdmFsaWRhdGlvbnNcbiAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBjcmVhdGVOb2RlKFxuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbkJhc2UgfCBOZXN0ZWRRdWVzdGlvbixcbiAgICBwYXJlbnROb2RlPzogR3JvdXBOb2RlLFxuICAgIHBhcmVudENvbnRyb2w/OiBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm1cbiAgKTogTm9kZUJhc2Uge1xuICAgIGxldCBub2RlOiBOb2RlQmFzZSA9IG51bGw7XG4gICAgaWYgKHF1ZXN0aW9uIGluc3RhbmNlb2YgTmVzdGVkUXVlc3Rpb24pIHtcbiAgICAgIGlmIChxdWVzdGlvbiBpbnN0YW5jZW9mIFJlcGVhdGluZ1F1ZXN0aW9uKSB7XG4gICAgICAgIG5vZGUgPSB0aGlzLmNyZWF0ZUFycmF5Tm9kZShxdWVzdGlvbiwgcGFyZW50Tm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlID0gdGhpcy5jcmVhdGVHcm91cE5vZGUocXVlc3Rpb24sIHBhcmVudE5vZGUsIHBhcmVudENvbnRyb2wsIGZvcm0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlID0gdGhpcy5jcmVhdGVMZWFmTm9kZShxdWVzdGlvbiwgcGFyZW50Tm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgfVxuICAgIG5vZGUubm9kZUluZGV4ID0gdGhpcy5ub2RlSW5kZXg7XG4gICAgdGhpcy5ub2RlSW5kZXgrKztcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNyZWF0ZUxlYWZOb2RlKFxuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbkJhc2UsXG4gICAgcGFyZW50Tm9kZTogR3JvdXBOb2RlLFxuICAgIHBhcmVudENvbnRyb2w/OiBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm1cbiAgKTogTGVhZk5vZGUge1xuICAgIGNvbnN0IGNvbnRyb2xNb2RlbCA9IHRoaXMuY29udHJvbFNlcnZpY2UuZ2VuZXJhdGVDb250cm9sTW9kZWwoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIHBhcmVudENvbnRyb2wsXG4gICAgICBmYWxzZSxcbiAgICAgIGZvcm1cbiAgICApO1xuICAgIHJldHVybiBuZXcgTGVhZk5vZGUoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGNvbnRyb2xNb2RlbCxcbiAgICAgIG51bGwsXG4gICAgICBmb3JtLFxuICAgICAgcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUucGF0aCA6IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVHcm91cE5vZGUoXG4gICAgcXVlc3Rpb246IE5lc3RlZFF1ZXN0aW9uLFxuICAgIHBhcmVudE5vZGU/OiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBHcm91cE5vZGUge1xuICAgIGNvbnN0IGNvbnRyb2xNb2RlbCA9IHRoaXMuY29udHJvbFNlcnZpY2UuZ2VuZXJhdGVDb250cm9sTW9kZWwoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIHBhcmVudENvbnRyb2wsXG4gICAgICBmYWxzZSxcbiAgICAgIGZvcm1cbiAgICApIGFzIEFmZUZvcm1Hcm91cDtcbiAgICBjb25zdCBncm91cE5vZGUgPSBuZXcgR3JvdXBOb2RlKFxuICAgICAgcXVlc3Rpb24sXG4gICAgICBjb250cm9sTW9kZWwsXG4gICAgICBudWxsLFxuICAgICAgZm9ybSxcbiAgICAgIHBhcmVudE5vZGUgPyBwYXJlbnROb2RlLnBhdGggOiB1bmRlZmluZWRcbiAgICApO1xuICAgIHRoaXMuY3JlYXRlTm9kZUNoaWxkcmVuKFxuICAgICAgcXVlc3Rpb24sXG4gICAgICBncm91cE5vZGUsXG4gICAgICBjb250cm9sTW9kZWwgfHwgcGFyZW50Q29udHJvbCxcbiAgICAgIGZvcm1cbiAgICApO1xuICAgIHJldHVybiBncm91cE5vZGU7XG4gIH1cblxuICBjcmVhdGVBcnJheU5vZGUoXG4gICAgcXVlc3Rpb246IE5lc3RlZFF1ZXN0aW9uLFxuICAgIHBhcmVudE5vZGU/OiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBBcnJheU5vZGUge1xuICAgIGNvbnN0IGNvbnRyb2xNb2RlbCA9IHRoaXMuY29udHJvbFNlcnZpY2UuZ2VuZXJhdGVDb250cm9sTW9kZWwoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIHBhcmVudENvbnRyb2wsXG4gICAgICBmYWxzZSxcbiAgICAgIGZvcm1cbiAgICApIGFzIEFmZUZvcm1Hcm91cDtcbiAgICBjb25zdCBhcnJheU5vZGUgPSBuZXcgQXJyYXlOb2RlKFxuICAgICAgcXVlc3Rpb24sXG4gICAgICBjb250cm9sTW9kZWwsXG4gICAgICBwYXJlbnRDb250cm9sLFxuICAgICAgdGhpcyxcbiAgICAgIGZvcm0sXG4gICAgICBwYXJlbnROb2RlID8gcGFyZW50Tm9kZS5wYXRoIDogdW5kZWZpbmVkXG4gICAgKTtcbiAgICBhcnJheU5vZGUuY3JlYXRlQ2hpbGRGdW5jID0gdGhpcy5jcmVhdGVBcnJheU5vZGVDaGlsZDtcbiAgICBhcnJheU5vZGUucmVtb3ZlQ2hpbGRGdW5jID0gdGhpcy5yZW1vdmVBcnJheU5vZGVDaGlsZDtcblxuICAgIGFycmF5Tm9kZS5hZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoKG5vZGU6IEdyb3VwTm9kZSkgPT4ge1xuICAgICAgVmFsaWRhdGlvbnMuSlNFeHByZXNzaW9uVmFsaWRhdG9yc0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29udHJvbFJlbGF0aW9uc0ZhY3RvcnkuYnVpbGRBcnJheU5vZGVSZWxhdGlvbnMobm9kZSk7XG4gICAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IHRydWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFycmF5Tm9kZTtcbiAgfVxuXG4gIGNyZWF0ZU5vZGVDaGlsZHJlbihcbiAgICBxdWVzdGlvbjogTmVzdGVkUXVlc3Rpb24sXG4gICAgbm9kZTogR3JvdXBOb2RlLFxuICAgIHBhcmVudENvbnRyb2w/OiBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm1cbiAgKTogYW55IHtcbiAgICBxdWVzdGlvbi5xdWVzdGlvbnMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLmNyZWF0ZU5vZGUoZWxlbWVudCwgbm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgICBub2RlLnNldENoaWxkKGVsZW1lbnQua2V5LCBjaGlsZCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGUuY2hpbGRyZW47XG4gIH1cblxuICBjcmVhdGVBcnJheU5vZGVDaGlsZChcbiAgICBxdWVzdGlvbjogUmVwZWF0aW5nUXVlc3Rpb24sXG4gICAgbm9kZTogQXJyYXlOb2RlLFxuICAgIGZhY3Rvcnk/OiBGb3JtRmFjdG9yeSxcbiAgICBwb3NpdGlvbj86IG51bWJlclxuICApOiBHcm91cE5vZGUge1xuICAgIGlmIChmYWN0b3J5ID09PSBudWxsIHx8IGZhY3RvcnkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZmFjdG9yeSA9IHRoaXM7XG4gICAgfVxuICAgIGNvbnN0IGdyb3VwUXVlc3Rpb246IFF1ZXN0aW9uR3JvdXAgPSBuZXcgUXVlc3Rpb25Hcm91cCh7XG4gICAgICBrZXk6IG5vZGUucGF0aCArICcuJyArIG5vZGUuY2hpbGRyZW4ubGVuZ3RoICsgJycsXG4gICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgZXh0cmFzOiBxdWVzdGlvbi5leHRyYXMsXG4gICAgICBsYWJlbDogJycsXG4gICAgICBxdWVzdGlvbnM6IHF1ZXN0aW9uLnF1ZXN0aW9uc1xuICAgIH0pO1xuXG4gICAgaWYgKHF1ZXN0aW9uLmNvbnRyb2xUeXBlID09PSBBZmVDb250cm9sVHlwZS5Ob25lKSB7XG4gICAgICBncm91cFF1ZXN0aW9uLmNvbnRyb2xUeXBlID0gcXVlc3Rpb24uY29udHJvbFR5cGU7XG4gICAgfVxuXG4gICAgY29uc3QgZ3JvdXAgPSBmYWN0b3J5LmNyZWF0ZUdyb3VwTm9kZShncm91cFF1ZXN0aW9uLCBudWxsLCBudWxsLCBub2RlLmZvcm0pO1xuXG4gICAgaWYgKHBvc2l0aW9uID49IDApIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4uc3BsaWNlKHBvc2l0aW9uLCAwLCBncm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4ucHVzaChncm91cCk7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuY29udHJvbCBpbnN0YW5jZW9mIEFmZUZvcm1BcnJheSkge1xuICAgICAgY29uc3Qgbm9kZUNvbnRyb2wgPSBub2RlLmNvbnRyb2wgYXMgQWZlRm9ybUFycmF5O1xuICAgICAgbm9kZUNvbnRyb2wuc2V0Q29udHJvbChub2RlQ29udHJvbC5jb250cm9scy5sZW5ndGgsIGdyb3VwLmNvbnRyb2wpO1xuICAgIH1cblxuICAgIHJldHVybiBncm91cDtcbiAgfVxuXG4gIHJlbW92ZUFycmF5Tm9kZUNoaWxkKGluZGV4OiBudW1iZXIsIG5vZGU6IEFycmF5Tm9kZSkge1xuICAgIGNvbnN0IG5vZGVUb1JlbW92ZSA9IG5vZGUuY2hpbGRyZW5baW5kZXhdO1xuXG4gICAgbm9kZS5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGlmIChub2RlLmNvbnRyb2wgIT09IG51bGwgfHwgbm9kZS5jb250cm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChub2RlLmNvbnRyb2wgaW5zdGFuY2VvZiBBZmVGb3JtQXJyYXkpIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IG5vZGUuY29udHJvbCBhcyBBZmVGb3JtQXJyYXk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xJbmRleFRvUmVtb3ZlID0gY29udHJvbC5jb250cm9scy5pbmRleE9mKFxuICAgICAgICAgIG5vZGVUb1JlbW92ZS5jb250cm9sXG4gICAgICAgICk7XG4gICAgICAgIGlmIChjb250cm9sSW5kZXhUb1JlbW92ZSA+PSAwKSB7XG4gICAgICAgICAgY29udHJvbC5yZW1vdmVBdChjb250cm9sSW5kZXhUb1JlbW92ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==