@softpak/components 18.6.13 → 18.6.15

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 (191) hide show
  1. package/fesm2022/softpak-components-spx-alert.mjs +3 -3
  2. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  3. package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
  4. package/fesm2022/softpak-components-spx-app-expiry.mjs +3 -3
  5. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  6. package/fesm2022/softpak-components-spx-app-update.mjs +4 -4
  7. package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
  8. package/fesm2022/softpak-components-spx-button.mjs +3 -3
  9. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  10. package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
  11. package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
  12. package/fesm2022/softpak-components-spx-card.mjs +12 -12
  13. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  14. package/fesm2022/softpak-components-spx-change-details.mjs +3 -3
  15. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-channel-selection.mjs +6 -6
  17. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
  19. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-form-section.mjs +3 -3
  21. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-form-view.mjs +7 -7
  23. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
  25. package/fesm2022/softpak-components-spx-inputs.mjs +53 -49
  26. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  27. package/fesm2022/softpak-components-spx-navigation.mjs +9 -9
  28. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  29. package/fesm2022/softpak-components-spx-number-check.mjs +3 -3
  30. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  31. package/fesm2022/softpak-components-spx-pagination.mjs +3 -3
  32. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  33. package/fesm2022/softpak-components-spx-patch.mjs +3 -3
  34. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  35. package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
  36. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  37. package/fesm2022/softpak-components-spx-spinner.mjs +3 -3
  38. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  39. package/fesm2022/softpak-components-spx-stock-info.mjs +3 -3
  40. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  41. package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-suggestion.mjs +3 -3
  43. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  44. package/fesm2022/softpak-components-spx-toaster.mjs +4 -4
  45. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  46. package/fesm2022/softpak-components-spx-update.mjs +7 -7
  47. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  48. package/fesm2022/softpak-components-spx-validation.mjs +3 -3
  49. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  50. package/package.json +32 -86
  51. package/spx-alert/spx-alert.component.d.ts +4 -4
  52. package/spx-helpers/input-alert.interface.d.ts +5 -0
  53. package/spx-helpers/public-api.d.ts +1 -0
  54. package/spx-inputs/spx-input-box.component.d.ts +7 -6
  55. package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
  56. package/spx-inputs/spx-input.component.d.ts +3 -3
  57. package/tailwind.css +1 -1
  58. package/esm2022/placeholder.mjs +0 -2
  59. package/esm2022/public_api.mjs +0 -2
  60. package/esm2022/softpak-components.mjs +0 -5
  61. package/esm2022/spx-alert/public-api.mjs +0 -3
  62. package/esm2022/spx-alert/softpak-components-spx-alert.mjs +0 -5
  63. package/esm2022/spx-alert/spx-alert.component.mjs +0 -203
  64. package/esm2022/spx-alert/spx-alert.interface.mjs +0 -3
  65. package/esm2022/spx-app-configuration/public-api.mjs +0 -8
  66. package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +0 -5
  67. package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +0 -2
  68. package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +0 -2
  69. package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +0 -8
  70. package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +0 -2
  71. package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +0 -2
  72. package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +0 -8
  73. package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +0 -6
  74. package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +0 -2
  75. package/esm2022/spx-app-expiry/public-api.mjs +0 -6
  76. package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +0 -5
  77. package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +0 -107
  78. package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +0 -2
  79. package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +0 -5
  80. package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +0 -5
  81. package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +0 -5
  82. package/esm2022/spx-app-update/public-api.mjs +0 -2
  83. package/esm2022/spx-app-update/softpak-components-spx-app-update.mjs +0 -5
  84. package/esm2022/spx-app-update/spx-app-update.component.mjs +0 -320
  85. package/esm2022/spx-button/public-api.mjs +0 -2
  86. package/esm2022/spx-button/softpak-components-spx-button.mjs +0 -5
  87. package/esm2022/spx-button/spx-button.component.mjs +0 -142
  88. package/esm2022/spx-capitalize/public-api.mjs +0 -2
  89. package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +0 -5
  90. package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +0 -20
  91. package/esm2022/spx-card/public-api.mjs +0 -5
  92. package/esm2022/spx-card/softpak-components-spx-card.mjs +0 -5
  93. package/esm2022/spx-card/spx-card-grid.component.mjs +0 -46
  94. package/esm2022/spx-card/spx-card-item.component.mjs +0 -117
  95. package/esm2022/spx-card/spx-card-line.component.mjs +0 -124
  96. package/esm2022/spx-card/spx-card.component.mjs +0 -96
  97. package/esm2022/spx-change-details/public-api.mjs +0 -2
  98. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +0 -5
  99. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +0 -2
  100. package/esm2022/spx-change-details/spx-change-details.component.mjs +0 -197
  101. package/esm2022/spx-channel-selection/public-api.mjs +0 -3
  102. package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +0 -5
  103. package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +0 -45
  104. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +0 -132
  105. package/esm2022/spx-check-digit/public-api.mjs +0 -2
  106. package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +0 -5
  107. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +0 -91
  108. package/esm2022/spx-form-section/public-api.mjs +0 -2
  109. package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +0 -5
  110. package/esm2022/spx-form-section/spx-form-section.component.mjs +0 -42
  111. package/esm2022/spx-form-view/public-api.mjs +0 -7
  112. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +0 -5
  113. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +0 -117
  114. package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +0 -6
  115. package/esm2022/spx-form-view/spx-form-button.interface.mjs +0 -2
  116. package/esm2022/spx-form-view/spx-form-field.interface.mjs +0 -2
  117. package/esm2022/spx-form-view/spx-form-section.interface.mjs +0 -2
  118. package/esm2022/spx-form-view/spx-form-view.component.mjs +0 -297
  119. package/esm2022/spx-form-view/spx-form.interface.mjs +0 -2
  120. package/esm2022/spx-helpers/calc-check-digit.function.mjs +0 -21
  121. package/esm2022/spx-helpers/public-api.mjs +0 -4
  122. package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +0 -5
  123. package/esm2022/spx-helpers/spx-severity.enum.mjs +0 -10
  124. package/esm2022/spx-helpers/value-pair-to-value.function.mjs +0 -7
  125. package/esm2022/spx-inputs/public-api.mjs +0 -6
  126. package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +0 -5
  127. package/esm2022/spx-inputs/spx-dropdown.component.mjs +0 -93
  128. package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -299
  129. package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +0 -194
  130. package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -157
  131. package/esm2022/spx-inputs/spx-input-number.component.mjs +0 -87
  132. package/esm2022/spx-inputs/spx-input-radio.component.mjs +0 -129
  133. package/esm2022/spx-inputs/spx-input-text.component.mjs +0 -160
  134. package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -129
  135. package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -163
  136. package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
  137. package/esm2022/spx-inputs/spx-input.component.mjs +0 -465
  138. package/esm2022/spx-inputs/spx-value-interface.mjs +0 -2
  139. package/esm2022/spx-navigation/public-api.mjs +0 -5
  140. package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +0 -5
  141. package/esm2022/spx-navigation/spx-home-tile.component.mjs +0 -71
  142. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +0 -24
  143. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +0 -2
  144. package/esm2022/spx-navigation/spx-navigation.component.mjs +0 -47
  145. package/esm2022/spx-number-check/public-api.mjs +0 -2
  146. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +0 -5
  147. package/esm2022/spx-number-check/spx-number-check.component.mjs +0 -265
  148. package/esm2022/spx-pagination/public-api.mjs +0 -2
  149. package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +0 -5
  150. package/esm2022/spx-pagination/spx-pagination.component.mjs +0 -44
  151. package/esm2022/spx-patch/patch-check.function.mjs +0 -9
  152. package/esm2022/spx-patch/public-api.mjs +0 -4
  153. package/esm2022/spx-patch/release-check.function.mjs +0 -14
  154. package/esm2022/spx-patch/softpak-components-spx-patch.mjs +0 -5
  155. package/esm2022/spx-patch/spx-patch.component.mjs +0 -54
  156. package/esm2022/spx-progress-bar/public-api.mjs +0 -2
  157. package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +0 -5
  158. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +0 -29
  159. package/esm2022/spx-spinner/public-api.mjs +0 -2
  160. package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +0 -5
  161. package/esm2022/spx-spinner/spx-spinner.component.mjs +0 -160
  162. package/esm2022/spx-stock-info/public-api.mjs +0 -3
  163. package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +0 -5
  164. package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +0 -2
  165. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +0 -324
  166. package/esm2022/spx-storage/public-api.mjs +0 -3
  167. package/esm2022/spx-storage/softpak-components-spx-storage.mjs +0 -5
  168. package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +0 -13
  169. package/esm2022/spx-storage/src/spx-storage.class.mjs +0 -45
  170. package/esm2022/spx-suggestion/public-api.mjs +0 -2
  171. package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +0 -5
  172. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +0 -61
  173. package/esm2022/spx-toaster/public-api.mjs +0 -4
  174. package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +0 -5
  175. package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +0 -23
  176. package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +0 -3
  177. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +0 -168
  178. package/esm2022/spx-update/public-api.mjs +0 -3
  179. package/esm2022/spx-update/softpak-components-spx-update.mjs +0 -5
  180. package/esm2022/spx-update/src/spx-update-info.component.mjs +0 -86
  181. package/esm2022/spx-update/src/spx-update-progress.component.mjs +0 -46
  182. package/esm2022/spx-validation/max.validator.mjs +0 -17
  183. package/esm2022/spx-validation/maxlength.validator.mjs +0 -20
  184. package/esm2022/spx-validation/min.validator.mjs +0 -17
  185. package/esm2022/spx-validation/minlength.validator.mjs +0 -20
  186. package/esm2022/spx-validation/pattern.validator.mjs +0 -12
  187. package/esm2022/spx-validation/public-api.mjs +0 -9
  188. package/esm2022/spx-validation/required.validator.mjs +0 -12
  189. package/esm2022/spx-validation/softpak-components-spx-validation.mjs +0 -5
  190. package/esm2022/spx-validation/spx-validate-control.component.mjs +0 -65
  191. package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
@@ -1,42 +0,0 @@
1
- import { DateTime } from 'luxon';
2
- import { valuePairToValue } from '@softpak/components/spx-helpers';
3
- import { spxValidatorRequired } from './required.validator';
4
- export const spxValidatorYearAndMonth = (future) => (control) => {
5
- if (!spxValidatorRequired()(control)) {
6
- const val = valuePairToValue(control.value);
7
- if (val.toUpperCase() !== 'ACEP') {
8
- const date = DateTime.fromISO(val);
9
- const year = date.year;
10
- const month = date.month;
11
- if (val.length < 6) {
12
- return {
13
- minlength: {
14
- requiredLength: 6,
15
- actualLength: val.length
16
- }
17
- };
18
- }
19
- if (month < 1 || month > 12) {
20
- return { month: true };
21
- }
22
- if (future) {
23
- if (year > 2050 || year < DateTime.now().year) {
24
- return { yearFuture: true };
25
- }
26
- if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') < DateTime.now()) {
27
- return { past: true };
28
- }
29
- }
30
- else {
31
- if (year < 1971 || year > DateTime.now().year) {
32
- return { year: true };
33
- }
34
- if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') > DateTime.now()) {
35
- return { future: true };
36
- }
37
- }
38
- }
39
- }
40
- return null;
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1hbmQtbW9udGgudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3llYXItYW5kLW1vbnRoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUEyQixFQUFFO0lBQ2hILElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3pCLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsT0FBTztvQkFDSCxTQUFTLEVBQUU7d0JBQ1AsY0FBYyxFQUFFLENBQUM7d0JBQ2pCLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTTtxQkFDM0I7aUJBQ0osQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7Z0JBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDeEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XHJcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNweFZhbGlkYXRvclllYXJBbmRNb250aCA9IChmdXR1cmU/OiBib29sZWFuKSA9PiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgaWYgKCFzcHhWYWxpZGF0b3JSZXF1aXJlZCgpKGNvbnRyb2wpKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gdmFsdWVQYWlyVG9WYWx1ZShjb250cm9sLnZhbHVlKTtcclxuICAgICAgICBpZiAodmFsLnRvVXBwZXJDYXNlKCkgIT09ICdBQ0VQJykge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlID0gRGF0ZVRpbWUuZnJvbUlTTyh2YWwpO1xyXG4gICAgICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS55ZWFyO1xyXG4gICAgICAgICAgICBjb25zdCBtb250aCA9IGRhdGUubW9udGg7XHJcbiAgICAgICAgICAgIGlmICh2YWwubGVuZ3RoIDwgNikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW5sZW5ndGg6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRMZW5ndGg6IDYsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbExlbmd0aDogdmFsLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG1vbnRoIDwgMSB8fCBtb250aCA+IDEyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBtb250aDogdHJ1ZSB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChmdXR1cmUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh5ZWFyID4gMjA1MCB8fCB5ZWFyIDwgRGF0ZVRpbWUubm93KCkueWVhcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHllYXJGdXR1cmU6IHRydWUgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChEYXRlVGltZS5ub3coKS5zZXQoeyB5ZWFyOiB5ZWFyLCBtb250aDogRGF0ZVRpbWUubm93KCkubW9udGggLSAxIH0pLnN0YXJ0T2YoJ21vbnRoJykgPCBEYXRlVGltZS5ub3coKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHBhc3Q6IHRydWUgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh5ZWFyIDwgMTk3MSB8fCB5ZWFyID4gRGF0ZVRpbWUubm93KCkueWVhcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHllYXI6IHRydWUgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChEYXRlVGltZS5ub3coKS5zZXQoeyB5ZWFyOiB5ZWFyLCBtb250aDogRGF0ZVRpbWUubm93KCkubW9udGggLSAxIH0pLnN0YXJ0T2YoJ21vbnRoJykgPiBEYXRlVGltZS5ub3coKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGZ1dHVyZTogdHJ1ZSB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn07XHJcbiJdfQ==