ecabs-components 1.1.56 → 1.1.62

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 (81) hide show
  1. package/README.md +8 -0
  2. package/esm2022/lib/base/consts/error-messages.consts.mjs +13 -1
  3. package/esm2022/lib/base/directives/date-mask.directive.mjs +56 -80
  4. package/esm2022/lib/base/directives/time-mask.directive.mjs +12 -35
  5. package/esm2022/lib/base/directives/time-range.directive.mjs +6 -32
  6. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +3 -3
  7. package/esm2022/lib/base/models/phone.models.mjs +1 -1
  8. package/esm2022/lib/base/models/select.models.mjs +1 -1
  9. package/esm2022/lib/base/models/sidebar.models.mjs +1 -1
  10. package/esm2022/lib/base/pipes/phone-number-country-code.pipe.mjs +31 -0
  11. package/esm2022/lib/base/pipes/truncate.pipe.mjs +14 -4
  12. package/esm2022/lib/base/utils/object-utils.mjs +9 -1
  13. package/esm2022/lib/base/utils/time-mask.util.mjs +87 -0
  14. package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +4 -4
  15. package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +5 -5
  16. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
  17. package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +105 -0
  18. package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.mjs +22 -0
  19. package/esm2022/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.mjs +197 -0
  20. package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.component.mjs +61 -0
  21. package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.module.mjs +20 -0
  22. package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +2 -2
  23. package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +9 -8
  24. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +31 -11
  25. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +3 -3
  26. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +2 -2
  27. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
  28. package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +188 -0
  29. package/esm2022/lib/ecabs-input-range/ecabs-input-range.module.mjs +40 -0
  30. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +2 -2
  31. package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.component.mjs +3 -3
  32. package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +2 -2
  33. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +2 -2
  34. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
  35. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +2 -2
  36. package/esm2022/lib/ecabs-time-range-input-v2/config.model.mjs +2 -0
  37. package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +167 -0
  38. package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.mjs +32 -0
  39. package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.mjs +29 -0
  40. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +3 -55
  41. package/esm2022/public-api.mjs +12 -1
  42. package/fesm2022/ecabs-components.mjs +1064 -329
  43. package/fesm2022/ecabs-components.mjs.map +1 -1
  44. package/lib/base/directives/date-mask.directive.d.ts +6 -7
  45. package/lib/base/directives/time-mask.directive.d.ts +2 -3
  46. package/lib/base/directives/time-range.directive.d.ts +1 -2
  47. package/lib/base/models/phone.models.d.ts +1 -0
  48. package/lib/base/models/select.models.d.ts +2 -2
  49. package/lib/base/models/sidebar.models.d.ts +1 -1
  50. package/lib/base/pipes/phone-number-country-code.pipe.d.ts +8 -0
  51. package/lib/base/utils/object-utils.d.ts +1 -0
  52. package/lib/base/utils/time-mask.util.d.ts +3 -0
  53. package/lib/ecabs-button-toggle/ecabs-button-toggle.component.d.ts +9 -10
  54. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.d.ts +29 -0
  55. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.d.ts +12 -0
  56. package/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.d.ts +50 -0
  57. package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +21 -0
  58. package/lib/ecabs-chip-group/ecabs-chip-group.module.d.ts +10 -0
  59. package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +1 -0
  60. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +4 -2
  61. package/lib/ecabs-input-range/ecabs-input-range.component.d.ts +44 -0
  62. package/lib/ecabs-input-range/ecabs-input-range.module.d.ts +13 -0
  63. package/lib/ecabs-time-range-input-v2/config.model.d.ts +5 -0
  64. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +51 -0
  65. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.d.ts +11 -0
  66. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.d.ts +12 -0
  67. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +0 -5
  68. package/package.json +4 -2
  69. package/public-api.d.ts +11 -0
  70. package/src/assets/styles/material/overrides/_autocomplete.scss +19 -0
  71. package/src/assets/styles/material/overrides/_chip.scss +80 -0
  72. package/src/assets/styles/material/overrides/_datepicker.scss +22 -0
  73. package/src/assets/styles/scss/modules/_autocomplete.scss +1 -1
  74. package/src/assets/styles/scss/modules/_chip.scss +7 -1
  75. package/src/assets/styles/scss/modules/_form.scss +6 -6
  76. package/src/assets/styles/scss/utilities/_colors.scss +3 -5
  77. package/src/assets/styles/scss/utilities/_fonts.scss +4 -0
  78. package/src/assets/styles/scss/utilities/_variables.scss +2 -0
  79. package/src/assets/styles/tailwind/index.scss +1 -1
  80. package/esm2022/lib/base/consts/date-mask.consts.mjs +0 -76
  81. package/lib/base/consts/date-mask.consts.d.ts +0 -7
package/README.md CHANGED
@@ -116,3 +116,11 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
116
116
  - **v1.1.54** — Implement `EcabsButtonToggleComponent` with support for small, medium, and large sizes.
117
117
  - **v1.1.55** — `EcabsButtonsV2Component`: Added version 2 of `EcabsButtonsComponent` with support for small, medium, and large sizes.
118
118
  - **v1.1.56** — Implement `EcabsDateRangePickerComponentV2`.
119
+ - **v1.1.57** — Implement `EcabsChipGroup`and `EcabsAutocompleteChipGroup` components with demo.
120
+ - **v1.1.58** — Add `EcabsInputRangeComponent` with support for minimum and maximum values.
121
+ - **v1.1.59** — `EcabsCheckboxV2Component`: Implement version 2 of `EcabsCheckboxComponent`.
122
+ - **v1.1.60** — Migrate input mask library from `vanilla-text-mask` to `maskito`.
123
+ - **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
124
+ - **v1.1.61** — Added support for 12-hour time input for `maskito` library.
125
+ - **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
126
+ - **v1.1.62** — Add `EcabsTimeRangeInputV2Component`.
@@ -103,5 +103,17 @@ export const errorMessages = [
103
103
  type: 'dateFromMoreThanDateTo',
104
104
  message: 'FORMS.VALIDATION.DATE_FROM_MORE_THAN_DATE_TO',
105
105
  },
106
+ {
107
+ type: 'timeFromRangeRequired',
108
+ message: 'FORMS.VALIDATION.TIME_FROM_RANGE_REQUIRED',
109
+ },
110
+ {
111
+ type: 'timeToRangeRequired',
112
+ message: 'FORMS.VALIDATION.TIME_TO_RANGE_REQUIRED',
113
+ },
114
+ {
115
+ type: 'timeFromMoreThanDateTo',
116
+ message: 'FORMS.VALIDATION.TIME_FROM_MORE_THAN_TIME_TO',
117
+ },
106
118
  ];
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvY29uc3RzL2Vycm9yLW1lc3NhZ2VzLmNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQzNDO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLGlDQUFpQztLQUMzQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxPQUFPLEVBQUUsc0JBQXNCO0tBQ2hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLE9BQU8sRUFBRSxzQkFBc0I7S0FDaEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLHdDQUF3QztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLGdDQUFnQztLQUMxQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsd0JBQXdCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsOEJBQThCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxvQ0FBb0M7S0FDOUM7SUFDRDtRQUNFLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLDRDQUE0QztLQUN0RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lY2Ficy1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW1xyXG4gIHtcclxuICAgIHR5cGU6ICdyZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5MQUJFTF9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbWlubGVuZ3RoJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1JTl9MRU5HVEgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heGxlbmd0aCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NQVhfTEVOR1RIJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUlOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtYXgnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUFYJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW5WYWx1ZScsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NSU5fVkFMVUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heFZhbHVlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1BWF9WQUxVRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndmFsaWRhdGVQaG9uZU51bWJlcicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxJREFURV9QSE9ORV9OVU1CRVInLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3Bhc3REYXRlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlBBU1RfREFURScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnYWZmZWN0c0Vycm9yJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkFGRkVDVFNfRVJST1InLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21vcmVUaGFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1PUkVfVEhBTicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbGVzc1RoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTEVTU19USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5FTUFJTCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbnVtYmVyTW9yZVRoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uVkFMVUVfTU9SRV9USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdudW1iZXJMZXNzVGhhbicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxVRV9MRVNTX1RIQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ291dE9mUmFuZ2UnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uT1VUX09GX1JBTkdFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdpYmFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLklCQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3RpbWVJc0FmdGVyJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkxFU1NfVEhBTl9USU1FJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdibGFja2xpc3RlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5CTEFDS0xJU1RFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZnJvbVRvTm90Rm91bmQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uRlJPTV9UT19OT1RfRk9VTkQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2Zyb21Ub05vdENvcnJlY3RDb3VudCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5GUk9NX1RPX05PVF9DT1JSRUNUX0NPVU5UJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd3aGl0ZXNwYWNlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLldISVRFU1BBQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2FscGhhbnVtZXJpYycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5BTFBIQU5VTUVSSUMnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVGcm9tUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fUkFOR0VfUkVRVUlSRUQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVUb1JhbmdlUmVxdWlyZWQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uREFURV9UT19SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZGF0ZUZyb21Nb3JlVGhhbkRhdGVUbycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fTU9SRV9USEFOX0RBVEVfVE8nLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvY29uc3RzL2Vycm9yLW1lc3NhZ2VzLmNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQzNDO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLGlDQUFpQztLQUMzQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxPQUFPLEVBQUUsc0JBQXNCO0tBQ2hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLE9BQU8sRUFBRSxzQkFBc0I7S0FDaEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLHdDQUF3QztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLGdDQUFnQztLQUMxQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsd0JBQXdCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsOEJBQThCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxvQ0FBb0M7S0FDOUM7SUFDRDtRQUNFLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLDRDQUE0QztLQUN0RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtJQUNDO1FBQ0EsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lY2Ficy1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW1xyXG4gIHtcclxuICAgIHR5cGU6ICdyZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5MQUJFTF9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbWlubGVuZ3RoJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1JTl9MRU5HVEgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heGxlbmd0aCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NQVhfTEVOR1RIJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUlOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtYXgnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUFYJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW5WYWx1ZScsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NSU5fVkFMVUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heFZhbHVlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1BWF9WQUxVRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndmFsaWRhdGVQaG9uZU51bWJlcicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxJREFURV9QSE9ORV9OVU1CRVInLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3Bhc3REYXRlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlBBU1RfREFURScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnYWZmZWN0c0Vycm9yJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkFGRkVDVFNfRVJST1InLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21vcmVUaGFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1PUkVfVEhBTicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbGVzc1RoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTEVTU19USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5FTUFJTCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbnVtYmVyTW9yZVRoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uVkFMVUVfTU9SRV9USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdudW1iZXJMZXNzVGhhbicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxVRV9MRVNTX1RIQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ291dE9mUmFuZ2UnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uT1VUX09GX1JBTkdFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdpYmFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLklCQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3RpbWVJc0FmdGVyJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkxFU1NfVEhBTl9USU1FJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdibGFja2xpc3RlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5CTEFDS0xJU1RFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZnJvbVRvTm90Rm91bmQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uRlJPTV9UT19OT1RfRk9VTkQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2Zyb21Ub05vdENvcnJlY3RDb3VudCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5GUk9NX1RPX05PVF9DT1JSRUNUX0NPVU5UJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd3aGl0ZXNwYWNlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLldISVRFU1BBQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2FscGhhbnVtZXJpYycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5BTFBIQU5VTUVSSUMnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVGcm9tUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fUkFOR0VfUkVRVUlSRUQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVUb1JhbmdlUmVxdWlyZWQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uREFURV9UT19SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZGF0ZUZyb21Nb3JlVGhhbkRhdGVUbycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fTU9SRV9USEFOX0RBVEVfVE8nLFxyXG4gIH0sXHJcbiAgICB7XHJcbiAgICB0eXBlOiAndGltZUZyb21SYW5nZVJlcXVpcmVkJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlRJTUVfRlJPTV9SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndGltZVRvUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5USU1FX1RPX1JBTkdFX1JFUVVJUkVEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd0aW1lRnJvbU1vcmVUaGFuRGF0ZVRvJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlRJTUVfRlJPTV9NT1JFX1RIQU5fVElNRV9UTycsXHJcbiAgfSxcclxuXTtcclxuIl19
@@ -1,93 +1,72 @@
1
- import { Directive, HostListener, Input, } from '@angular/core';
2
- import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
3
- import { createAutoCorrectedDatePipe } from '../consts/date-mask.consts';
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Maskito } from '@maskito/core';
3
+ import { createTimeMaskOptions } from '../utils/time-mask.util';
4
4
  import * as i0 from "@angular/core";
5
5
  export class EcabsMaskDateDirective {
6
6
  element;
7
7
  isDateTimeMask = false;
8
8
  considerSeconds = false;
9
- maskedInputController;
10
- mask = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/]; // dd/mm/yyyy
11
- maskDateTime = [
12
- /\d/,
13
- /\d/,
14
- '/',
15
- /\d/,
16
- /\d/,
17
- '/',
18
- /\d/,
19
- /\d/,
20
- /\d/,
21
- /\d/,
22
- ',',
23
- ' ',
24
- /\d/,
25
- /\d/,
26
- ':',
27
- /\d/,
28
- /\d/,
29
- ]; // dd/mm/yyyy, hh:mm
30
- maskDateTimeWithSeconds = [
31
- /\d/,
32
- /\d/,
33
- '/',
34
- /\d/,
35
- /\d/,
36
- '/',
37
- /\d/,
38
- /\d/,
39
- /\d/,
40
- /\d/,
41
- ',',
42
- ' ',
43
- /\d/,
44
- /\d/,
45
- ':',
46
- /\d/,
47
- /\d/,
48
- ':',
49
- /\d/,
50
- /\d/,
51
- ]; // dd/mm/yyyy, hh:mm:ss
52
- config;
9
+ maskedInput = null;
10
+ timeMaskOptions = createTimeMaskOptions();
53
11
  constructor(element) {
54
12
  this.element = element;
55
13
  }
56
- onNgModelChange(value) {
57
- this.config.showMask = true;
58
- if (!this.containsNumber(value.toString())) {
59
- this.config.showMask = false;
60
- this.maskedInputController.textMaskInputElement.update('');
61
- }
62
- }
63
14
  ngOnInit() {
64
- this.config = {
65
- inputElement: this.element.nativeElement,
66
- guide: true,
67
- showMask: true,
68
- pipe: this.isDateTimeMask
69
- ? this.considerSeconds
70
- ? createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM:SS')
71
- : createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM')
72
- : createAutoCorrectedDatePipe('dd/mm/yyyy'),
73
- keepCharPositions: true,
74
- mask: this.isDateTimeMask
75
- ? this.considerSeconds
76
- ? this.maskDateTimeWithSeconds
77
- : this.maskDateTime
78
- : this.mask,
79
- };
80
- this.maskedInputController = textMask.maskInput(this.config);
15
+ this.maskedInput = new Maskito(this.element.nativeElement, {
16
+ mask: ({ value }) => this.buildDynamicMask(value),
17
+ });
81
18
  }
82
19
  ngOnDestroy() {
83
- this.maskedInputController?.destroy();
20
+ this.maskedInput?.destroy();
21
+ }
22
+ buildDynamicMask(value) {
23
+ const digits = value.replace(/\D/g, '');
24
+ const result = [];
25
+ result.push(...this.getDaySegment(digits));
26
+ result.push('/');
27
+ result.push(...this.getMonthSegment(digits));
28
+ result.push('/');
29
+ result.push(/\d/, /\d/, /\d/, /\d/);
30
+ if (!this.isDateTimeMask) {
31
+ return result;
32
+ }
33
+ const timeValue = this.extractTimeValue(value);
34
+ const timeMaskOption = this.timeMaskOptions.mask;
35
+ const timeMaskRaw = typeof timeMaskOption === 'function'
36
+ ? timeMaskOption({
37
+ value: timeValue,
38
+ selection: [timeValue.length, timeValue.length],
39
+ })
40
+ : timeMaskOption;
41
+ const timeMask = Array.isArray(timeMaskRaw) ? timeMaskRaw : [timeMaskRaw];
42
+ result.push(',', ' ');
43
+ result.push(...timeMask);
44
+ if (this.considerSeconds) {
45
+ result.push(':');
46
+ result.push(/[0-5]/, /\d/);
47
+ }
48
+ return result;
49
+ }
50
+ getDaySegment(digits) {
51
+ const d1 = digits[0];
52
+ if (d1 === '3') {
53
+ return [/[0-3]/, /[0-1]/];
54
+ }
55
+ return [/[0-3]/, /\d/];
56
+ }
57
+ getMonthSegment(digits) {
58
+ const m1 = digits[2];
59
+ if (m1 === '1') {
60
+ return [/[0-1]/, /[0-2]/];
61
+ }
62
+ return [/[0-1]/, /\d/];
84
63
  }
85
- containsNumber(value) {
86
- // Check if the string contains any digit between 0 and 9
87
- return /\d/.test(value);
64
+ extractTimeValue(value) {
65
+ const [, timePart = ''] = value.split(',');
66
+ return timePart.trimStart();
88
67
  }
89
68
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
90
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds" }, host: { listeners: { "ngModelChange": "onNgModelChange($event)" } }, ngImport: i0 });
69
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds" }, ngImport: i0 });
91
70
  }
92
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskDateDirective, decorators: [{
93
72
  type: Directive,
@@ -98,8 +77,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
98
77
  type: Input
99
78
  }], considerSeconds: [{
100
79
  type: Input
101
- }], onNgModelChange: [{
102
- type: HostListener,
103
- args: ['ngModelChange', ['$event']]
104
80
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLFFBQVEsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLekUsTUFBTSxPQUFPLHNCQUFzQjtJQWlESjtJQWhEcEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWpDLHFCQUFxQixDQUFDO0lBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYTtJQUNoRixZQUFZLEdBQUc7UUFDYixJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osR0FBRztRQUNILEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtLQUNMLENBQUMsQ0FBQyxvQkFBb0I7SUFDdkIsdUJBQXVCLEdBQUc7UUFDeEIsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDLENBQUMsdUJBQXVCO0lBQzFCLE1BQU0sQ0FBTTtJQUVaLFlBQTZCLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBRyxDQUFDO0lBRVQsZUFBZSxDQUFDLEtBQUs7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUN4QyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWU7b0JBQ3BCLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDckQsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDO2dCQUNwRCxDQUFDLENBQUMsMkJBQTJCLENBQUMsWUFBWSxDQUFDO1lBQzdDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWU7b0JBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO29CQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7Z0JBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtTQUNkLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFhO1FBQ2xDLHlEQUF5RDtRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt3R0F4RlUsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7aUdBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQWlEcUMsZUFBZTtzQkFBekQsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyB0ZXh0TWFzayBmcm9tICd2YW5pbGxhLXRleHQtbWFzay9kaXN0L3ZhbmlsbGFUZXh0TWFzayc7XHJcbmltcG9ydCB7IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSB9IGZyb20gJy4uL2NvbnN0cy9kYXRlLW1hc2suY29uc3RzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2VjYWJzTWFza0RhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzTWFza0RhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaXNEYXRlVGltZU1hc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb25zaWRlclNlY29uZHMgPSBmYWxzZTtcclxuXHJcbiAgbWFza2VkSW5wdXRDb250cm9sbGVyO1xyXG4gIG1hc2sgPSBbL1xcZC8sIC9cXGQvLCAnLycsIC9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL107IC8vIGRkL21tL3l5eXlcclxuICBtYXNrRGF0ZVRpbWUgPSBbXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJy8nLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICcvJyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJywnLFxyXG4gICAgJyAnLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICc6JyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgXTsgLy8gZGQvbW0veXl5eSwgaGg6bW1cclxuICBtYXNrRGF0ZVRpbWVXaXRoU2Vjb25kcyA9IFtcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnLycsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJy8nLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnLCcsXHJcbiAgICAnICcsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJzonLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICc6JyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgXTsgLy8gZGQvbW0veXl5eSwgaGg6bW06c3NcclxuICBjb25maWc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCduZ01vZGVsQ2hhbmdlJywgWyckZXZlbnQnXSkgb25OZ01vZGVsQ2hhbmdlKHZhbHVlKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZy5zaG93TWFzayA9IHRydWU7XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5zTnVtYmVyKHZhbHVlLnRvU3RyaW5nKCkpKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNob3dNYXNrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyLnRleHRNYXNrSW5wdXRFbGVtZW50LnVwZGF0ZSgnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICBpbnB1dEVsZW1lbnQ6IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBndWlkZTogdHJ1ZSxcclxuICAgICAgc2hvd01hc2s6IHRydWUsXHJcbiAgICAgIHBpcGU6IHRoaXMuaXNEYXRlVGltZU1hc2tcclxuICAgICAgICA/IHRoaXMuY29uc2lkZXJTZWNvbmRzXHJcbiAgICAgICAgICA/IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSgnZGQvbW0veXl5eSwgSEg6TU06U1MnKVxyXG4gICAgICAgICAgOiBjcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUoJ2RkL21tL3l5eXksIEhIOk1NJylcclxuICAgICAgICA6IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSgnZGQvbW0veXl5eScpLFxyXG4gICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZSxcclxuICAgICAgbWFzazogdGhpcy5pc0RhdGVUaW1lTWFza1xyXG4gICAgICAgID8gdGhpcy5jb25zaWRlclNlY29uZHNcclxuICAgICAgICAgID8gdGhpcy5tYXNrRGF0ZVRpbWVXaXRoU2Vjb25kc1xyXG4gICAgICAgICAgOiB0aGlzLm1hc2tEYXRlVGltZVxyXG4gICAgICAgIDogdGhpcy5tYXNrLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLm1hc2tlZElucHV0Q29udHJvbGxlciA9IHRleHRNYXNrLm1hc2tJbnB1dCh0aGlzLmNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyPy5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnRhaW5zTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIC8vIENoZWNrIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgYW55IGRpZ2l0IGJldHdlZW4gMCBhbmQgOVxyXG4gICAgcmV0dXJuIC9cXGQvLnRlc3QodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLaEUsTUFBTSxPQUFPLHNCQUFzQjtJQU9KO0lBTnBCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUV6QixXQUFXLEdBQW1CLElBQUksQ0FBQztJQUMxQixlQUFlLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztJQUUzRCxZQUE2QixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6RCxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUNmLE9BQU8sY0FBYyxLQUFLLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ2hELENBQUM7WUFDSixDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYztRQUNwQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsT0FBTyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0EvRVUsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7aUdBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFza2l0byB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVUaW1lTWFza09wdGlvbnMgfSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic01hc2tEYXRlXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic01hc2tEYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGlzRGF0ZVRpbWVNYXNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29uc2lkZXJTZWNvbmRzID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgbWFza2VkSW5wdXQ6IE1hc2tpdG8gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVNYXNrT3B0aW9ucyA9IGNyZWF0ZVRpbWVNYXNrT3B0aW9ucygpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgIG1hc2s6ICh7IHZhbHVlIH0pID0+IHRoaXMuYnVpbGREeW5hbWljTWFzayh2YWx1ZSksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dD8uZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZER5bmFtaWNNYXNrKHZhbHVlOiBzdHJpbmcpOiAoc3RyaW5nIHwgUmVnRXhwKVtdIHtcclxuICAgIGNvbnN0IGRpZ2l0cyA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICBjb25zdCByZXN1bHQ6IChzdHJpbmcgfCBSZWdFeHApW10gPSBbXTtcclxuXHJcbiAgICByZXN1bHQucHVzaCguLi50aGlzLmdldERheVNlZ21lbnQoZGlnaXRzKSk7XHJcbiAgICByZXN1bHQucHVzaCgnLycpO1xyXG5cclxuICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0TW9udGhTZWdtZW50KGRpZ2l0cykpO1xyXG4gICAgcmVzdWx0LnB1c2goJy8nKTtcclxuXHJcbiAgICByZXN1bHQucHVzaCgvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzRGF0ZVRpbWVNYXNrKSB7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGltZVZhbHVlID0gdGhpcy5leHRyYWN0VGltZVZhbHVlKHZhbHVlKTtcclxuICAgIGNvbnN0IHRpbWVNYXNrT3B0aW9uID0gdGhpcy50aW1lTWFza09wdGlvbnMubWFzaztcclxuICAgIGNvbnN0IHRpbWVNYXNrUmF3ID1cclxuICAgICAgdHlwZW9mIHRpbWVNYXNrT3B0aW9uID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyB0aW1lTWFza09wdGlvbih7XHJcbiAgICAgICAgICAgIHZhbHVlOiB0aW1lVmFsdWUsXHJcbiAgICAgICAgICAgIHNlbGVjdGlvbjogW3RpbWVWYWx1ZS5sZW5ndGgsIHRpbWVWYWx1ZS5sZW5ndGhdLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICA6IHRpbWVNYXNrT3B0aW9uO1xyXG4gICAgY29uc3QgdGltZU1hc2sgPSBBcnJheS5pc0FycmF5KHRpbWVNYXNrUmF3KSA/IHRpbWVNYXNrUmF3IDogW3RpbWVNYXNrUmF3XTtcclxuXHJcbiAgICByZXN1bHQucHVzaCgnLCcsICcgJyk7XHJcbiAgICByZXN1bHQucHVzaCguLi50aW1lTWFzayk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uc2lkZXJTZWNvbmRzKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKCc6Jyk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC9bMC01XS8sIC9cXGQvKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXlTZWdtZW50KGRpZ2l0czogc3RyaW5nKTogKHN0cmluZyB8IFJlZ0V4cClbXSB7XHJcbiAgICBjb25zdCBkMSA9IGRpZ2l0c1swXTtcclxuICAgIGlmIChkMSA9PT0gJzMnKSB7XHJcbiAgICAgIHJldHVybiBbL1swLTNdLywgL1swLTFdL107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFsvWzAtM10vLCAvXFxkL107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1vbnRoU2VnbWVudChkaWdpdHM6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gICAgY29uc3QgbTEgPSBkaWdpdHNbMl07XHJcbiAgICBpZiAobTEgPT09ICcxJykge1xyXG4gICAgICByZXR1cm4gWy9bMC0xXS8sIC9bMC0yXS9dO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbL1swLTFdLywgL1xcZC9dO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0VGltZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgWywgdGltZVBhcnQgPSAnJ10gPSB2YWx1ZS5zcGxpdCgnLCcpO1xyXG5cclxuICAgIHJldHVybiB0aW1lUGFydC50cmltU3RhcnQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,49 +1,26 @@
1
1
  import { Directive, Input } from '@angular/core';
2
- import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
2
+ import { Maskito } from '@maskito/core';
3
+ import { createTimeMaskOptions, createTimeRangeMaskOptions, } from '../utils/time-mask.util';
3
4
  import * as i0 from "@angular/core";
4
5
  export class EcabsMaskTimeDirective {
5
6
  element;
6
7
  timeRange = false;
7
8
  all;
8
- maskedInputController;
9
- maskTimeRange = [
10
- /\d/,
11
- /\d/,
12
- ':',
13
- /\d/,
14
- /\d/,
15
- ' ',
16
- '-',
17
- ' ',
18
- /\d/,
19
- /\d/,
20
- ':',
21
- /\d/,
22
- /\d/,
23
- ];
24
- maskTime = [/\d/, /\d/, ':', /\d/, /\d/];
9
+ maskedInput = null;
25
10
  constructor(element) {
26
11
  this.element = element;
27
12
  }
28
13
  ngOnInit() {
29
- const all = this.all;
30
- const timeRange = this.timeRange;
31
- this.maskedInputController = textMask.maskInput({
32
- inputElement: this.element.nativeElement,
33
- guide: true,
34
- showMask: false,
35
- keepCharPositions: true,
36
- mask: timeRange ? this.maskTimeRange : this.maskTime,
37
- pipe: function (conformedValue) {
38
- if (conformedValue === (timeRange ? '__:__ - __:__' : '__:__')) {
39
- return all;
40
- }
41
- return conformedValue;
42
- },
43
- });
14
+ const options = this.getMaskOptions();
15
+ this.maskedInput = new Maskito(this.element.nativeElement, options);
44
16
  }
45
17
  ngOnDestroy() {
46
- this.maskedInputController.destroy();
18
+ this.maskedInput?.destroy();
19
+ }
20
+ getMaskOptions() {
21
+ return this.timeRange
22
+ ? createTimeRangeMaskOptions()
23
+ : createTimeMaskOptions();
47
24
  }
48
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskTimeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
49
26
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskTimeDirective, selector: "[ecabsTime]", inputs: { timeRange: "timeRange", all: "all" }, ngImport: i0 });
@@ -58,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
35
  }], all: [{
59
36
  type: Input
60
37
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvdGltZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxLQUFLLFFBQVEsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFLbkUsTUFBTSxPQUFPLHNCQUFzQjtJQXNCSjtJQXJCcEIsU0FBUyxHQUFhLEtBQUssQ0FBQztJQUM1QixHQUFHLENBQVM7SUFFckIscUJBQXFCLENBQUM7SUFDdEIsYUFBYSxHQUFHO1FBQ2QsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsSUFBSTtRQUNKLElBQUk7UUFDSixHQUFHO1FBQ0gsR0FBRztRQUNILEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtLQUNMLENBQUM7SUFDRixRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFekMsWUFBNkIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFFcEQsUUFBUTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEtBQUs7WUFDZixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ3BELElBQUksRUFBRSxVQUFVLGNBQWM7Z0JBQzVCLElBQUksY0FBYyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUM5RCxPQUFPLEdBQUcsQ0FBQztpQkFDWjtnQkFFRCxPQUFPLGNBQWMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQzt3R0E3Q1Usc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO2lHQUVVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgdGV4dE1hc2sgZnJvbSAndmFuaWxsYS10ZXh0LW1hc2svZGlzdC92YW5pbGxhVGV4dE1hc2snO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZWNhYnNUaW1lXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic01hc2tUaW1lRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHRpbWVSYW5nZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGw6IHN0cmluZztcclxuXHJcbiAgbWFza2VkSW5wdXRDb250cm9sbGVyO1xyXG4gIG1hc2tUaW1lUmFuZ2UgPSBbXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJzonLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICcgJyxcclxuICAgICctJyxcclxuICAgICcgJyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnOicsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gIF07XHJcbiAgbWFza1RpbWUgPSBbL1xcZC8sIC9cXGQvLCAnOicsIC9cXGQvLCAvXFxkL107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhbGwgPSB0aGlzLmFsbDtcclxuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHRoaXMudGltZVJhbmdlO1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dENvbnRyb2xsZXIgPSB0ZXh0TWFzay5tYXNrSW5wdXQoe1xyXG4gICAgICBpbnB1dEVsZW1lbnQ6IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBndWlkZTogdHJ1ZSxcclxuICAgICAgc2hvd01hc2s6IGZhbHNlLFxyXG4gICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZSxcclxuICAgICAgbWFzazogdGltZVJhbmdlID8gdGhpcy5tYXNrVGltZVJhbmdlIDogdGhpcy5tYXNrVGltZSxcclxuICAgICAgcGlwZTogZnVuY3Rpb24gKGNvbmZvcm1lZFZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGNvbmZvcm1lZFZhbHVlID09PSAodGltZVJhbmdlID8gJ19fOl9fIC0gX186X18nIDogJ19fOl9fJykpIHtcclxuICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY29uZm9ybWVkVmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dENvbnRyb2xsZXIuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvdGltZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQiwwQkFBMEIsR0FDM0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLakMsTUFBTSxPQUFPLHNCQUFzQjtJQU1KO0lBTHBCLFNBQVMsR0FBYSxLQUFLLENBQUM7SUFDNUIsR0FBRyxDQUFTO0lBRWIsV0FBVyxHQUFtQixJQUFJLENBQUM7SUFFM0MsWUFBNkIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFFcEQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQywwQkFBMEIsRUFBRTtZQUM5QixDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dHQXJCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7aUdBRVUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXNraXRvLCBNYXNraXRvT3B0aW9ucyB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZVRpbWVNYXNrT3B0aW9ucyxcclxuICBjcmVhdGVUaW1lUmFuZ2VNYXNrT3B0aW9ucyxcclxufSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic1RpbWVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzTWFza1RpbWVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgdGltZVJhbmdlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFsbDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIG1hc2tlZElucHV0OiBNYXNraXRvIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRNYXNrT3B0aW9ucygpO1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dD8uZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXNrT3B0aW9ucygpOiBNYXNraXRvT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy50aW1lUmFuZ2VcclxuICAgICAgPyBjcmVhdGVUaW1lUmFuZ2VNYXNrT3B0aW9ucygpXHJcbiAgICAgIDogY3JlYXRlVGltZU1hc2tPcHRpb25zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,47 +1,21 @@
1
1
  import { Directive, Input } from '@angular/core';
2
- import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
2
+ import { Maskito } from '@maskito/core';
3
+ import { createTimeRangeMaskOptions } from '../utils/time-mask.util';
3
4
  import * as i0 from "@angular/core";
4
5
  export class EcabsTimeRangeDirective {
5
6
  element;
6
7
  isDateTimeMask = false;
7
8
  considerSeconds = false;
8
9
  all = 'All';
9
- maskedInputController;
10
- maskDateTime = [
11
- /\d/,
12
- /\d/,
13
- ':',
14
- /\d/,
15
- /\d/,
16
- ' ',
17
- '-',
18
- ' ',
19
- /\d/,
20
- /\d/,
21
- ':',
22
- /\d/,
23
- /\d/,
24
- ];
10
+ maskedInput = null;
25
11
  constructor(element) {
26
12
  this.element = element;
27
13
  }
28
14
  ngOnInit() {
29
- this.maskedInputController = textMask.maskInput({
30
- inputElement: this.element.nativeElement,
31
- guide: true,
32
- showMask: false,
33
- keepCharPositions: true,
34
- mask: this.maskDateTime,
35
- pipe: function (conformedValue) {
36
- if (conformedValue === '__:__ - __:__') {
37
- return this.all;
38
- }
39
- return conformedValue;
40
- },
41
- });
15
+ this.maskedInput = new Maskito(this.element.nativeElement, createTimeRangeMaskOptions());
42
16
  }
43
17
  ngOnDestroy() {
44
- this.maskedInputController.destroy();
18
+ this.maskedInput?.destroy();
45
19
  }
46
20
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeRangeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
47
21
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeDirective, selector: "[ecabsTimeRange]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds", all: "all" }, ngImport: i0 });
@@ -58,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
32
  }], all: [{
59
33
  type: Input
60
34
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL3RpbWUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEtBQUssUUFBUSxNQUFNLHdDQUF3QyxDQUFDOztBQUtuRSxNQUFNLE9BQU8sdUJBQXVCO0lBc0JMO0lBckJwQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUVyQixxQkFBcUIsQ0FBQztJQUN0QixZQUFZLEdBQUc7UUFDYixJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxJQUFJO1FBQ0osSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRztRQUNILElBQUk7UUFDSixJQUFJO1FBQ0osR0FBRztRQUNILElBQUk7UUFDSixJQUFJO0tBQ0wsQ0FBQztJQUVGLFlBQTZCLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBRyxDQUFDO0lBRXBELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ3hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEtBQUs7WUFDZixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN2QixJQUFJLEVBQUUsVUFBVSxjQUFjO2dCQUM1QixJQUFJLGNBQWMsS0FBSyxlQUFlLEVBQUU7b0JBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDakI7Z0JBRUQsT0FBTyxjQUFjLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7d0dBM0NVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO2lHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyB0ZXh0TWFzayBmcm9tICd2YW5pbGxhLXRleHQtbWFzay9kaXN0L3ZhbmlsbGFUZXh0TWFzayc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic1RpbWVSYW5nZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lUmFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaXNEYXRlVGltZU1hc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb25zaWRlclNlY29uZHMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGwgPSAnQWxsJztcclxuXHJcbiAgbWFza2VkSW5wdXRDb250cm9sbGVyO1xyXG4gIG1hc2tEYXRlVGltZSA9IFtcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgICAnOicsXHJcbiAgICAvXFxkLyxcclxuICAgIC9cXGQvLFxyXG4gICAgJyAnLFxyXG4gICAgJy0nLFxyXG4gICAgJyAnLFxyXG4gICAgL1xcZC8sXHJcbiAgICAvXFxkLyxcclxuICAgICc6JyxcclxuICAgIC9cXGQvLFxyXG4gICAgL1xcZC8sXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyID0gdGV4dE1hc2subWFza0lucHV0KHtcclxuICAgICAgaW5wdXRFbGVtZW50OiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgIHNob3dNYXNrOiBmYWxzZSxcclxuICAgICAga2VlcENoYXJQb3NpdGlvbnM6IHRydWUsXHJcbiAgICAgIG1hc2s6IHRoaXMubWFza0RhdGVUaW1lLFxyXG4gICAgICBwaXBlOiBmdW5jdGlvbiAoY29uZm9ybWVkVmFsdWUpIHtcclxuICAgICAgICBpZiAoY29uZm9ybWVkVmFsdWUgPT09ICdfXzpfXyAtIF9fOl9fJykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbmZvcm1lZFZhbHVlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyLmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL3RpbWUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sdUJBQXVCO0lBT0w7SUFOcEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFFYixXQUFXLEdBQW1CLElBQUksQ0FBQztJQUUzQyxZQUE2QixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQzFCLDBCQUEwQixFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0FsQlUsdUJBQXVCOzRGQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7aUdBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hc2tpdG8gfSBmcm9tICdAbWFza2l0by9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlVGltZVJhbmdlTWFza09wdGlvbnMgfSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic1RpbWVSYW5nZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lUmFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaXNEYXRlVGltZU1hc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb25zaWRlclNlY29uZHMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGwgPSAnQWxsJztcclxuXHJcbiAgcHJpdmF0ZSBtYXNrZWRJbnB1dDogTWFza2l0byB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKFxyXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgY3JlYXRlVGltZVJhbmdlTWFza09wdGlvbnMoKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXQ/LmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
@@ -29,11 +29,11 @@ export class EcabsElementWrapperComponent {
29
29
  this.decrease.emit();
30
30
  }
31
31
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: { data: "data", showCloseIcon: "showCloseIcon", focusedFlag: "focusedFlag", showPassword: "showPassword", control: "control" }, outputs: { showHidePassword: "showHidePassword", clear: "clear", increase: "increase", decrease: "decrease" }, ngImport: i0, template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div class=\"flex\">\r\n <label\r\n class=\"form-field__label\"\r\n [attr.for]=\"data?.name\" *ngIf=\"data?.label && data?.showLabel\"\r\n >\r\n <span [innerHTML]=\"data?.label\"></span>\r\n </label>\r\n <mat-icon class=\"icon ml-4 mat-icon-input-tooltip\" matTooltipClass=\"break-line-tooltip\" *ngIf=\"data?.tooltip\"\r\n [matTooltip]=\"data?.tooltip\">error_outline\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"form-field__label-note\" *ngIf=\"data?.labelNote\" [innerHTML]=\"data?.labelNote\"></div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner *ngIf=\"data?.showLocalLoading && data?.loading\"\r\n class=\"spinner\" size=\"tiny\"></ecabs-loading-spinner>\r\n\r\n <ecabs-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></ecabs-hint>\r\n\r\n <ecabs-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </ecabs-validations-messages>\r\n</div>\r\n", styles: [":host ::ng-deep .break-line-tooltip{white-space:pre-line}:host ::ng-deep .mat-icon-input-tooltip{font-size:18px;height:18px;width:18px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i3.ValidationComponent, selector: "ecabs-validations-messages", inputs: ["element", "label", "showValidationOnNotTouched", "updatedErrors"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.EcabsHintComponent, selector: "ecabs-hint", inputs: ["element", "maxValue", "showHint"] }] });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: { data: "data", showCloseIcon: "showCloseIcon", focusedFlag: "focusedFlag", showPassword: "showPassword", control: "control" }, outputs: { showHidePassword: "showHidePassword", clear: "clear", increase: "increase", decrease: "decrease" }, ngImport: i0, template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div class=\"flex\">\r\n <label *ngIf=\"data?.label && data?.showLabel\"\r\n class=\"form-field__label\"\r\n [attr.for]=\"data?.name || data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n </label>\r\n <mat-icon class=\"icon ml-4 mat-icon-input-tooltip\" matTooltipClass=\"break-line-tooltip\" *ngIf=\"data?.tooltip\"\r\n [matTooltip]=\"data?.tooltip\">error_outline\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"form-field__label-note\" *ngIf=\"data?.labelNote\" [innerHTML]=\"data?.labelNote\"></div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner *ngIf=\"data?.showLocalLoading && data?.loading\"\r\n class=\"spinner\" size=\"tiny\"></ecabs-loading-spinner>\r\n\r\n <ecabs-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></ecabs-hint>\r\n\r\n <ecabs-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </ecabs-validations-messages>\r\n</div>\r\n", styles: [":host ::ng-deep .break-line-tooltip{white-space:pre-line}:host ::ng-deep .mat-icon-input-tooltip{font-size:18px;height:18px;width:18px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i3.ValidationComponent, selector: "ecabs-validations-messages", inputs: ["element", "label", "showValidationOnNotTouched", "updatedErrors"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.EcabsHintComponent, selector: "ecabs-hint", inputs: ["element", "maxValue", "showHint"] }] });
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsElementWrapperComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'ecabs-element-wrapper', template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div class=\"flex\">\r\n <label\r\n class=\"form-field__label\"\r\n [attr.for]=\"data?.name\" *ngIf=\"data?.label && data?.showLabel\"\r\n >\r\n <span [innerHTML]=\"data?.label\"></span>\r\n </label>\r\n <mat-icon class=\"icon ml-4 mat-icon-input-tooltip\" matTooltipClass=\"break-line-tooltip\" *ngIf=\"data?.tooltip\"\r\n [matTooltip]=\"data?.tooltip\">error_outline\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"form-field__label-note\" *ngIf=\"data?.labelNote\" [innerHTML]=\"data?.labelNote\"></div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner *ngIf=\"data?.showLocalLoading && data?.loading\"\r\n class=\"spinner\" size=\"tiny\"></ecabs-loading-spinner>\r\n\r\n <ecabs-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></ecabs-hint>\r\n\r\n <ecabs-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </ecabs-validations-messages>\r\n</div>\r\n", styles: [":host ::ng-deep .break-line-tooltip{white-space:pre-line}:host ::ng-deep .mat-icon-input-tooltip{font-size:18px;height:18px;width:18px}\n"] }]
36
+ args: [{ selector: 'ecabs-element-wrapper', template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div class=\"flex\">\r\n <label *ngIf=\"data?.label && data?.showLabel\"\r\n class=\"form-field__label\"\r\n [attr.for]=\"data?.name || data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n </label>\r\n <mat-icon class=\"icon ml-4 mat-icon-input-tooltip\" matTooltipClass=\"break-line-tooltip\" *ngIf=\"data?.tooltip\"\r\n [matTooltip]=\"data?.tooltip\">error_outline\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"form-field__label-note\" *ngIf=\"data?.labelNote\" [innerHTML]=\"data?.labelNote\"></div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner *ngIf=\"data?.showLocalLoading && data?.loading\"\r\n class=\"spinner\" size=\"tiny\"></ecabs-loading-spinner>\r\n\r\n <ecabs-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></ecabs-hint>\r\n\r\n <ecabs-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </ecabs-validations-messages>\r\n</div>\r\n", styles: [":host ::ng-deep .break-line-tooltip{white-space:pre-line}:host ::ng-deep .mat-icon-input-tooltip{font-size:18px;height:18px;width:18px}\n"] }]
37
37
  }], propDecorators: { data: [{
38
38
  type: Input
39
39
  }], showCloseIcon: [{
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
53
  }], decrease: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU92RSxNQUFNLE9BQU8sNEJBQTRCO0lBQzlCLElBQUksQ0FBTztJQUNYLGFBQWEsQ0FBVztJQUN4QixXQUFXLENBQU87SUFDbEIsWUFBWSxDQUFXO0lBQ3ZCLE9BQU8sQ0FBTztJQUNiLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDaEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0Msa0JBQWtCLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBekJVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLG9UQ1B6QywyaURBc0NBOzs0RkQvQmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWVsZW1lbnQtd3JhcHBlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0VsZW1lbnRXcmFwcGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkYXRhITogYW55O1xyXG4gIEBJbnB1dCgpIHNob3dDbG9zZUljb24hOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvY3VzZWRGbGFnITogYW55O1xyXG4gIEBJbnB1dCgpIHNob3dQYXNzd29yZCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29udHJvbCE6IGFueTtcclxuICBAT3V0cHV0KCkgc2hvd0hpZGVQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbmNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzaG93SGlkZVBhc3N3b3JkRm4oZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93SGlkZVBhc3N3b3JkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgaW5jcmVhc2VGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5jcmVhc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVjcmVhc2VGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVjcmVhc2UuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmb3JtLWZpZWxkXCJcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAnZm9ybS1maWVsZC0taW52YWxpZCc6XHJcbiAgICAgIGRhdGE/LnNob3dWYWxpZGF0aW9uICYmIChkYXRhPy5jb250cm9sPy50b3VjaGVkIHx8IGRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkKSAmJiBkYXRhPy5jb250cm9sPy5pbnZhbGlkLFxyXG4gICAgZGlzYWJsZWQ6IGRhdGE/LmRpc2FibGVkLFxyXG4gICAgJ2Zvcm0tZmllbGQtLXJlcXVpcmVkJzogZGF0YT8ucmVxdWlyZWQgJiYgZGF0YT8uc2hvd0FzdGVyaXNrXHJcbiAgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgPGxhYmVsXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9fbGFiZWxcIlxyXG4gICAgICBbYXR0ci5mb3JdPVwiZGF0YT8ubmFtZVwiICpuZ0lmPVwiZGF0YT8ubGFiZWwgJiYgZGF0YT8uc2hvd0xhYmVsXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJkYXRhPy5sYWJlbFwiPjwvc3Bhbj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uIG1sLTQgbWF0LWljb24taW5wdXQtdG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cImJyZWFrLWxpbmUtdG9vbHRpcFwiICpuZ0lmPVwiZGF0YT8udG9vbHRpcFwiXHJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZGF0YT8udG9vbHRpcFwiPmVycm9yX291dGxpbmVcclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19sYWJlbC1ub3RlXCIgKm5nSWY9XCJkYXRhPy5sYWJlbE5vdGVcIiBbaW5uZXJIVE1MXT1cImRhdGE/LmxhYmVsTm90ZVwiPjwvZGl2PlxyXG5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblxyXG4gIDxlY2Ficy1sb2FkaW5nLXNwaW5uZXIgKm5nSWY9XCJkYXRhPy5zaG93TG9jYWxMb2FkaW5nICYmIGRhdGE/LmxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGlubmVyXCIgc2l6ZT1cInRpbnlcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuXHJcbiAgPGVjYWJzLWhpbnQgW2VsZW1lbnRdPVwiZGF0YT8uY29udHJvbFwiIFtzaG93SGludF09XCJkYXRhPy5zaG93SGludFwiIFttYXhWYWx1ZV09XCJkYXRhPy5tYXhMZW5ndGhcIj48L2VjYWJzLWhpbnQ+XHJcblxyXG4gIDxlY2Ficy12YWxpZGF0aW9ucy1tZXNzYWdlc1xyXG4gICAgKm5nSWY9XCJkYXRhPy5zaG93VmFsaWRhdGlvbiAmJiAhZGF0YT8uaGlkZVZhbGlkYXRpb25NZXNzYWdlXCJcclxuICAgIFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIlxyXG4gICAgW2xhYmVsXT1cImRhdGE/LmxhYmVsID8gZGF0YT8ubGFiZWwgOiBkYXRhPy5wbGFjZWhvbGRlciA/IGRhdGEucGxhY2Vob2xkZXIgOiBkYXRhPy52YWxpZGF0aW9uTGFiZWxcIlxyXG4gICAgW3Nob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXT1cImRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXCJcclxuICA+XHJcbiAgPC9lY2Ficy12YWxpZGF0aW9ucy1tZXNzYWdlcz5cclxuPC9kaXY+XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU92RSxNQUFNLE9BQU8sNEJBQTRCO0lBQzlCLElBQUksQ0FBTztJQUNYLGFBQWEsQ0FBVztJQUN4QixXQUFXLENBQU87SUFDbEIsWUFBWSxDQUFXO0lBQ3ZCLE9BQU8sQ0FBTztJQUNiLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDaEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0Msa0JBQWtCLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBekJVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLG9UQ1B6Qyw0akRBcUNBOzs0RkQ5QmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWVsZW1lbnQtd3JhcHBlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0VsZW1lbnRXcmFwcGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkYXRhITogYW55O1xyXG4gIEBJbnB1dCgpIHNob3dDbG9zZUljb24hOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvY3VzZWRGbGFnITogYW55O1xyXG4gIEBJbnB1dCgpIHNob3dQYXNzd29yZCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29udHJvbCE6IGFueTtcclxuICBAT3V0cHV0KCkgc2hvd0hpZGVQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbmNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzaG93SGlkZVBhc3N3b3JkRm4oZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93SGlkZVBhc3N3b3JkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgaW5jcmVhc2VGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5jcmVhc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVjcmVhc2VGbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVjcmVhc2UuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmb3JtLWZpZWxkXCJcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAnZm9ybS1maWVsZC0taW52YWxpZCc6XHJcbiAgICAgIGRhdGE/LnNob3dWYWxpZGF0aW9uICYmIChkYXRhPy5jb250cm9sPy50b3VjaGVkIHx8IGRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkKSAmJiBkYXRhPy5jb250cm9sPy5pbnZhbGlkLFxyXG4gICAgZGlzYWJsZWQ6IGRhdGE/LmRpc2FibGVkLFxyXG4gICAgJ2Zvcm0tZmllbGQtLXJlcXVpcmVkJzogZGF0YT8ucmVxdWlyZWQgJiYgZGF0YT8uc2hvd0FzdGVyaXNrXHJcbiAgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiZGF0YT8ubGFiZWwgJiYgZGF0YT8uc2hvd0xhYmVsXCJcclxuICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2xhYmVsXCJcclxuICAgICAgICAgICBbYXR0ci5mb3JdPVwiZGF0YT8ubmFtZSB8fCBkYXRhPy5sYWJlbFwiPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGE/LmxhYmVsXCI+PC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gbWwtNCBtYXQtaWNvbi1pbnB1dC10b29sdGlwXCIgbWF0VG9vbHRpcENsYXNzPVwiYnJlYWstbGluZS10b29sdGlwXCIgKm5nSWY9XCJkYXRhPy50b29sdGlwXCJcclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJkYXRhPy50b29sdGlwXCI+ZXJyb3Jfb3V0bGluZVxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2xhYmVsLW5vdGVcIiAqbmdJZj1cImRhdGE/LmxhYmVsTm90ZVwiIFtpbm5lckhUTUxdPVwiZGF0YT8ubGFiZWxOb3RlXCI+PC9kaXY+XHJcblxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgPGVjYWJzLWxvYWRpbmctc3Bpbm5lciAqbmdJZj1cImRhdGE/LnNob3dMb2NhbExvYWRpbmcgJiYgZGF0YT8ubG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwaW5uZXJcIiBzaXplPVwidGlueVwiPjwvZWNhYnMtbG9hZGluZy1zcGlubmVyPlxyXG5cclxuICA8ZWNhYnMtaGludCBbZWxlbWVudF09XCJkYXRhPy5jb250cm9sXCIgW3Nob3dIaW50XT1cImRhdGE/LnNob3dIaW50XCIgW21heFZhbHVlXT1cImRhdGE/Lm1heExlbmd0aFwiPjwvZWNhYnMtaGludD5cclxuXHJcbiAgPGVjYWJzLXZhbGlkYXRpb25zLW1lc3NhZ2VzXHJcbiAgICAqbmdJZj1cImRhdGE/LnNob3dWYWxpZGF0aW9uICYmICFkYXRhPy5oaWRlVmFsaWRhdGlvbk1lc3NhZ2VcIlxyXG4gICAgW2VsZW1lbnRdPVwiZGF0YT8uY29udHJvbFwiXHJcbiAgICBbbGFiZWxdPVwiZGF0YT8ubGFiZWwgPyBkYXRhPy5sYWJlbCA6IGRhdGE/LnBsYWNlaG9sZGVyID8gZGF0YS5wbGFjZWhvbGRlciA6IGRhdGE/LnZhbGlkYXRpb25MYWJlbFwiXHJcbiAgICBbc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWRdPVwiZGF0YT8uc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWRcIlxyXG4gID5cclxuICA8L2VjYWJzLXZhbGlkYXRpb25zLW1lc3NhZ2VzPlxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL3Bob25lLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJGb3JtYXQgPSAnZGVmYXVsdCcgfCAnbmF0aW9uYWwnIHwgJ2ludGVybmF0aW9uYWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeSA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaXNvMjogc3RyaW5nO1xyXG4gIGRpYWxDb2RlOiBzdHJpbmc7XHJcbiAgcHJpb3JpdHk6IG51bWJlcjtcclxuICBhcmVhQ29kZXM/OiBzdHJpbmdbXTtcclxuICBmbGFnQ2xhc3M6IHN0cmluZztcclxuICBwbGFjZUhvbGRlcj86IHN0cmluZztcclxufTtcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL3Bob25lLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJGb3JtYXQgPSAnZGVmYXVsdCcgfCAnbmF0aW9uYWwnIHwgJ2ludGVybmF0aW9uYWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeSA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaXNvMjogc3RyaW5nO1xyXG4gIGRpYWxDb2RlOiBzdHJpbmc7XHJcbiAgcHJpb3JpdHk6IG51bWJlcjtcclxuICBhcmVhQ29kZXM/OiBzdHJpbmdbXTtcclxuICBmbGFnQ2xhc3M6IHN0cmluZztcclxuICBwbGFjZUhvbGRlcj86IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBob25lTnVtYmVyQ29kZVR5cGUgPSAnaXNvJyB8ICdjYWxsaW5nJztcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbjxUID0gdW5rbm93bj4ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IFQ7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9tb2RlbHMvc2lkZWJhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhck1lbnVJdGVtIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGV4cGFuZD86IGJvb2xlYW47XHJcbiAgc3ViSXRlbXM/OiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25WYWx1ZUVudW08c3RyaW5nPltdO1xyXG4gIGljb25SZXNvdXJjZT86IFNpZGViYXJJY29uUmVzb3VyY2U7XHJcbiAgYmFkZ2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIFBlcm1pc3Npb25WYWx1ZUVudW08VCBleHRlbmRzIHN0cmluZz4gPSB7XHJcbiAgdmFsdWVzOiBSZWNvcmQ8VCwgc3RyaW5nPjtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhckljb25SZXNvdXJjZSB7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9tb2RlbHMvc2lkZWJhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhck1lbnVJdGVtIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGV4cGFuZD86IGJvb2xlYW47XHJcbiAgc3ViSXRlbXM/OiBTaWRlYmFyTWVudUl0ZW1bXTtcclxuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25WYWx1ZUVudW08c3RyaW5nPltdO1xyXG4gIGljb25SZXNvdXJjZT86IFNpZGViYXJJY29uUmVzb3VyY2U7XHJcbiAgYmFkZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgUGVybWlzc2lvblZhbHVlRW51bTxUIGV4dGVuZHMgc3RyaW5nPiA9IHtcclxuICB2YWx1ZXM6IFJlY29yZDxULCBzdHJpbmc+O1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaWRlYmFySWNvblJlc291cmNlIHtcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { parsePhoneNumberFromString } from 'libphonenumber-js';
3
+ import * as i0 from "@angular/core";
4
+ export class NumberToCountryCodePipe {
5
+ transform(phoneNumber, type = 'iso', withFlagClass = false) {
6
+ if (!phoneNumber) {
7
+ return null;
8
+ }
9
+ const parsedPhoneNumber = parsePhoneNumberFromString(phoneNumber);
10
+ if (!parsedPhoneNumber?.isValid()) {
11
+ return null;
12
+ }
13
+ const value = type === 'calling'
14
+ ? parsedPhoneNumber.countryCallingCode
15
+ : parsedPhoneNumber.country?.toLowerCase();
16
+ if (!value) {
17
+ return null;
18
+ }
19
+ return withFlagClass ? `fi fi-${value}` : value;
20
+ }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberToCountryCodePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
22
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NumberToCountryCodePipe, isStandalone: true, name: "numberToCountryCode" });
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumberToCountryCodePipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'numberToCountryCode',
28
+ standalone: true,
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLWNvdW50cnktY29kZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvcGlwZXMvcGhvbmUtbnVtYmVyLWNvdW50cnktY29kZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU8vRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFNBQVMsQ0FDUCxXQUEwQixFQUMxQixPQUE0QixLQUFLLEVBQ2pDLGFBQWEsR0FBRyxLQUFLO1FBRXJCLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEtBQUssR0FDVCxJQUFJLEtBQUssU0FBUztZQUNoQixDQUFDLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCO1lBQ3RDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7d0dBMUJVLHVCQUF1QjtzR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcGFyc2VQaG9uZU51bWJlckZyb21TdHJpbmcgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyQ29kZVR5cGUgfSBmcm9tICcuLi9tb2RlbHMvcGhvbmUubW9kZWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbnVtYmVyVG9Db3VudHJ5Q29kZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWJlclRvQ291bnRyeUNvZGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKFxyXG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZyB8IG51bGwsXHJcbiAgICB0eXBlOiBQaG9uZU51bWJlckNvZGVUeXBlID0gJ2lzbycsXHJcbiAgICB3aXRoRmxhZ0NsYXNzID0gZmFsc2UsXHJcbiAgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAoIXBob25lTnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBhcnNlZFBob25lTnVtYmVyID0gcGFyc2VQaG9uZU51bWJlckZyb21TdHJpbmcocGhvbmVOdW1iZXIpO1xyXG5cclxuICAgIGlmICghcGFyc2VkUGhvbmVOdW1iZXI/LmlzVmFsaWQoKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWx1ZSA9XHJcbiAgICAgIHR5cGUgPT09ICdjYWxsaW5nJ1xyXG4gICAgICAgID8gcGFyc2VkUGhvbmVOdW1iZXIuY291bnRyeUNhbGxpbmdDb2RlXHJcbiAgICAgICAgOiBwYXJzZWRQaG9uZU51bWJlci5jb3VudHJ5Py50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHdpdGhGbGFnQ2xhc3MgPyBgZmkgZmktJHt2YWx1ZX1gIDogdmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2,10 +2,20 @@ import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class EcabsTruncatePipe {
4
4
  transform(value, limit = 24, trimAtWords = false, trail = '...') {
5
- if (trimAtWords) {
6
- limit = value.substr(0, limit).lastIndexOf(' ');
5
+ if (!value) {
6
+ return '';
7
7
  }
8
- return value?.length > limit ? value.substr(0, limit) + trail : value;
8
+ if (value.length <= limit) {
9
+ return value;
10
+ }
11
+ let resultLimit = limit;
12
+ if (trimAtWords && value.length > limit) {
13
+ const trimmedAtWord = value.substring(0, limit).lastIndexOf(' ');
14
+ resultLimit = trimmedAtWord > 0 ? trimmedAtWord : limit;
15
+ }
16
+ return value?.length > resultLimit
17
+ ? value.substring(0, resultLimit) + trail
18
+ : value;
9
19
  }
10
20
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
21
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsTruncatePipe, name: "truncate" });
@@ -16,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
16
26
  name: 'truncate',
17
27
  }]
18
28
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL3BpcGVzL3RydW5jYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUNQLEtBQWEsRUFDYixLQUFLLEdBQUcsRUFBRSxFQUNWLFdBQVcsR0FBRyxLQUFLLEVBQ25CLEtBQUssR0FBRyxLQUFLO1FBRWIsSUFBSSxXQUFXLEVBQUU7WUFDZixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQzt3R0FaVSxpQkFBaUI7c0dBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3RydW5jYXRlJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKFxyXG4gICAgdmFsdWU6IHN0cmluZyxcclxuICAgIGxpbWl0ID0gMjQsXHJcbiAgICB0cmltQXRXb3JkcyA9IGZhbHNlLFxyXG4gICAgdHJhaWwgPSAnLi4uJyxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHRyaW1BdFdvcmRzKSB7XHJcbiAgICAgIGxpbWl0ID0gdmFsdWUuc3Vic3RyKDAsIGxpbWl0KS5sYXN0SW5kZXhPZignICcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZT8ubGVuZ3RoID4gbGltaXQgPyB2YWx1ZS5zdWJzdHIoMCwgbGltaXQpICsgdHJhaWwgOiB2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL3BpcGVzL3RydW5jYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUNQLEtBQWEsRUFDYixLQUFLLEdBQUcsRUFBRSxFQUNWLFdBQVcsR0FBRyxLQUFLLEVBQ25CLEtBQUssR0FBRyxLQUFLO1FBRWIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUU7WUFDdkMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pFLFdBQVcsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUN6RDtRQUVELE9BQU8sS0FBSyxFQUFFLE1BQU0sR0FBRyxXQUFXO1lBQ2hDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsR0FBRyxLQUFLO1lBQ3pDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDO3dHQXpCVSxpQkFBaUI7c0dBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd0cnVuY2F0ZScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RydW5jYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHZhbHVlOiBzdHJpbmcsXHJcbiAgICBsaW1pdCA9IDI0LFxyXG4gICAgdHJpbUF0V29yZHMgPSBmYWxzZSxcclxuICAgIHRyYWlsID0gJy4uLicsXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZS5sZW5ndGggPD0gbGltaXQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXN1bHRMaW1pdCA9IGxpbWl0O1xyXG5cclxuICAgIGlmICh0cmltQXRXb3JkcyAmJiB2YWx1ZS5sZW5ndGggPiBsaW1pdCkge1xyXG4gICAgICBjb25zdCB0cmltbWVkQXRXb3JkID0gdmFsdWUuc3Vic3RyaW5nKDAsIGxpbWl0KS5sYXN0SW5kZXhPZignICcpO1xyXG4gICAgICByZXN1bHRMaW1pdCA9IHRyaW1tZWRBdFdvcmQgPiAwID8gdHJpbW1lZEF0V29yZCA6IGxpbWl0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZT8ubGVuZ3RoID4gcmVzdWx0TGltaXRcclxuICAgICAgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgcmVzdWx0TGltaXQpICsgdHJhaWxcclxuICAgICAgOiB2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -56,4 +56,12 @@ export const removeEmpty = (o, exceptProperties = []) => {
56
56
  }
57
57
  return o;
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdXRpbHMvb2JqZWN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sUUFBUSxHQUFHLENBQUksR0FBTSxFQUFFLFVBQXFCLEVBQU8sRUFBRTtJQUN6RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLFFBQVEsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUMzQixLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBWSxDQUFDLENBQUM7WUFFcEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ25EO1FBRUQsS0FBSyxRQUFRO1lBQ1gsT0FBUSxLQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpDLEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFZLENBQUMsQ0FBQztRQUV0RTtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQ3pCLElBQU8sRUFDUCxJQUFPLEVBQ1AsVUFBcUIsRUFDYixFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7U0FBTSxJQUFJLE1BQU0sR0FBRyxNQUFNLEVBQUU7UUFDMUIsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxHQUFHLEVBQ0gsbUJBQTZCLEVBQUUsRUFDNUIsRUFBRTtJQUNMLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVsQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQy9CLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDaEU7YUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsNEVBQTRFO0lBQzVFLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDcEIsNEVBQTRFO1NBQzNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXZELE9BQU8sV0FBVyxDQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQzlCLGdCQUFnQixDQUNaLENBQUM7QUFDVCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBSSxDQUFDLEVBQUUsbUJBQTZCLEVBQUUsRUFBSyxFQUFFO0lBQ3RFLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLElBQ0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUTtZQUN4QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDL0Q7WUFDQSxTQUFTO1NBQ1Y7UUFFRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsZ0VBQWdFO1lBQ2hFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2I7S0FDRjtJQUVELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTb3J0ZXI8VD4ge1xyXG4gIHByb3BlcnR5OiBFeHRyYWN0PGtleW9mIFQsIHN0cmluZyB8IG51bWJlciB8IERhdGU+O1xyXG4gIGlzRGVzY2VuZGluZzogYm9vbGVhbjtcclxuICBkYXRhVHlwZT86ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZSc7XHJcbn1cclxuXHJcbmNvbnN0IGdldFZhbHVlID0gPFQ+KG9iajogVCwgc29ydFBhcmFtczogU29ydGVyPFQ+KTogYW55ID0+IHtcclxuICBjb25zdCB2YWx1ZSA9IG9ialtzb3J0UGFyYW1zLnByb3BlcnR5XTtcclxuXHJcbiAgc3dpdGNoIChzb3J0UGFyYW1zLmRhdGFUeXBlKSB7XHJcbiAgICBjYXNlICdkYXRlJzoge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUgYXMgYW55KTtcclxuXHJcbiAgICAgIHJldHVybiBpc05hTihkYXRlLmdldFRpbWUoKSkgPyAwIDogZGF0ZS5nZXRUaW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IHBhcnNlRmxvYXQodmFsdWUgYXMgYW55KTtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNvcnRHZW5lcmljID0gPFQ+KFxyXG4gIG9ialg6IFQsXHJcbiAgb2JqWTogVCxcclxuICBzb3J0UGFyYW1zOiBTb3J0ZXI8VD4sXHJcbik6IG51bWJlciA9PiB7XHJcbiAgY29uc3QgdmFsdWVYID0gZ2V0VmFsdWUob2JqWCwgc29ydFBhcmFtcyk7XHJcbiAgY29uc3QgdmFsdWVZID0gZ2V0VmFsdWUob2JqWSwgc29ydFBhcmFtcyk7XHJcblxyXG4gIGlmICh2YWx1ZVggPiB2YWx1ZVkpIHtcclxuICAgIHJldHVybiBzb3J0UGFyYW1zLmlzRGVzY2VuZGluZyA/IC0xIDogMTtcclxuICB9IGVsc2UgaWYgKHZhbHVlWCA8IHZhbHVlWSkge1xyXG4gICAgcmV0dXJuIHNvcnRQYXJhbXMuaXNEZXNjZW5kaW5nID8gMSA6IC0xO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIDA7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlTnVsbFVuZGVmaW5lZHMgPSA8VD4oXHJcbiAgb2JqLFxyXG4gIGV4Y2VwdFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW10sXHJcbik6IFQgPT4ge1xyXG4gIGNvbnN0IG5ld09iaiA9IHt9O1xyXG5cclxuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgaWYgKG9ialtrZXldID09PSBPYmplY3Qob2JqW2tleV0pKSB7XHJcbiAgICAgIG5ld09ialtrZXldID0gcmVtb3ZlTnVsbFVuZGVmaW5lZHMob2JqW2tleV0sIGV4Y2VwdFByb3BlcnRpZXMpO1xyXG4gICAgfSBlbHNlIGlmIChvYmpba2V5XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcclxuICBjb25zdCBwaWNrQnkgPSAob2JqZWN0LCBwcmVkaWNhdGUgPSAodikgPT4gdikgPT5cclxuICAgIE9iamVjdC5lbnRyaWVzKG9iamVjdClcclxuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBuby11bnVzZWQtdmFyc1xyXG4gICAgICAuZmlsdGVyKChbaywgdl0pID0+IHByZWRpY2F0ZSh2KSlcclxuICAgICAgLnJlZHVjZSgoYWNjLCBbaywgdl0pID0+ICh7IC4uLmFjYywgW2tdOiB2IH0pLCB7fSk7XHJcblxyXG4gIHJldHVybiByZW1vdmVFbXB0eShcclxuICAgIHBpY2tCeShvYmosICh2KSA9PiB2ICE9PSBudWxsKSxcclxuICAgIGV4Y2VwdFByb3BlcnRpZXMsXHJcbiAgKSBhcyBUO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZUVtcHR5ID0gPFQ+KG8sIGV4Y2VwdFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW10pOiBUID0+IHtcclxuICBmb3IgKGNvbnN0IGsgaW4gbykge1xyXG4gICAgaWYgKFxyXG4gICAgICAhb1trXSB8fFxyXG4gICAgICB0eXBlb2Ygb1trXSAhPT0gJ29iamVjdCcgfHxcclxuICAgICAgZXhjZXB0UHJvcGVydGllcy5maW5kSW5kZXgoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eSA9PT0gaykgIT09IC0xXHJcbiAgICApIHtcclxuICAgICAgY29udGludWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlRW1wdHkob1trXSk7XHJcbiAgICBpZiAoT2JqZWN0LmtleXMob1trXSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGVcclxuICAgICAgZGVsZXRlIG9ba107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbztcclxufTtcclxuIl19
59
+ export function getRandomItems(items, count) {
60
+ const copy = [...items];
61
+ for (let i = copy.length - 1; i > 0; i--) {
62
+ const j = Math.floor(Math.random() * (i + 1));
63
+ [copy[i], copy[j]] = [copy[j], copy[i]];
64
+ }
65
+ return copy.slice(0, count);
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdXRpbHMvb2JqZWN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sUUFBUSxHQUFHLENBQUksR0FBTSxFQUFFLFVBQXFCLEVBQU8sRUFBRTtJQUN6RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLFFBQVEsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUMzQixLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBWSxDQUFDLENBQUM7WUFFcEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ25EO1FBRUQsS0FBSyxRQUFRO1lBQ1gsT0FBUSxLQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpDLEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFZLENBQUMsQ0FBQztRQUV0RTtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQ3pCLElBQU8sRUFDUCxJQUFPLEVBQ1AsVUFBcUIsRUFDYixFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7U0FBTSxJQUFJLE1BQU0sR0FBRyxNQUFNLEVBQUU7UUFDMUIsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxHQUFHLEVBQ0gsbUJBQTZCLEVBQUUsRUFDNUIsRUFBRTtJQUNMLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVsQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQy9CLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDaEU7YUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsNEVBQTRFO0lBQzVFLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDcEIsNEVBQTRFO1NBQzNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXZELE9BQU8sV0FBVyxDQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQzlCLGdCQUFnQixDQUNaLENBQUM7QUFDVCxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBSSxDQUFDLEVBQUUsbUJBQTZCLEVBQUUsRUFBSyxFQUFFO0lBQ3RFLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLElBQ0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUTtZQUN4QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDL0Q7WUFDQSxTQUFTO1NBQ1Y7UUFFRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsZ0VBQWdFO1lBQ2hFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2I7S0FDRjtJQUVELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FBSSxLQUFVLEVBQUUsS0FBYTtJQUN6RCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNvcnRlcjxUPiB7XHJcbiAgcHJvcGVydHk6IEV4dHJhY3Q8a2V5b2YgVCwgc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZT47XHJcbiAgaXNEZXNjZW5kaW5nOiBib29sZWFuO1xyXG4gIGRhdGFUeXBlPzogJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdkYXRlJztcclxufVxyXG5cclxuY29uc3QgZ2V0VmFsdWUgPSA8VD4ob2JqOiBULCBzb3J0UGFyYW1zOiBTb3J0ZXI8VD4pOiBhbnkgPT4ge1xyXG4gIGNvbnN0IHZhbHVlID0gb2JqW3NvcnRQYXJhbXMucHJvcGVydHldO1xyXG5cclxuICBzd2l0Y2ggKHNvcnRQYXJhbXMuZGF0YVR5cGUpIHtcclxuICAgIGNhc2UgJ2RhdGUnOiB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSBhcyBhbnkpO1xyXG5cclxuICAgICAgcmV0dXJuIGlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IDAgOiBkYXRlLmdldFRpbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogcGFyc2VGbG9hdCh2YWx1ZSBhcyBhbnkpO1xyXG5cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3Qgc29ydEdlbmVyaWMgPSA8VD4oXHJcbiAgb2JqWDogVCxcclxuICBvYmpZOiBULFxyXG4gIHNvcnRQYXJhbXM6IFNvcnRlcjxUPixcclxuKTogbnVtYmVyID0+IHtcclxuICBjb25zdCB2YWx1ZVggPSBnZXRWYWx1ZShvYmpYLCBzb3J0UGFyYW1zKTtcclxuICBjb25zdCB2YWx1ZVkgPSBnZXRWYWx1ZShvYmpZLCBzb3J0UGFyYW1zKTtcclxuXHJcbiAgaWYgKHZhbHVlWCA+IHZhbHVlWSkge1xyXG4gICAgcmV0dXJuIHNvcnRQYXJhbXMuaXNEZXNjZW5kaW5nID8gLTEgOiAxO1xyXG4gIH0gZWxzZSBpZiAodmFsdWVYIDwgdmFsdWVZKSB7XHJcbiAgICByZXR1cm4gc29ydFBhcmFtcy5pc0Rlc2NlbmRpbmcgPyAxIDogLTE7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gMDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByZW1vdmVOdWxsVW5kZWZpbmVkcyA9IDxUPihcclxuICBvYmosXHJcbiAgZXhjZXB0UHJvcGVydGllczogc3RyaW5nW10gPSBbXSxcclxuKTogVCA9PiB7XHJcbiAgY29uc3QgbmV3T2JqID0ge307XHJcblxyXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBpZiAob2JqW2tleV0gPT09IE9iamVjdChvYmpba2V5XSkpIHtcclxuICAgICAgbmV3T2JqW2tleV0gPSByZW1vdmVOdWxsVW5kZWZpbmVkcyhvYmpba2V5XSwgZXhjZXB0UHJvcGVydGllcyk7XHJcbiAgICB9IGVsc2UgaWYgKG9ialtrZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZVxyXG4gIGNvbnN0IHBpY2tCeSA9IChvYmplY3QsIHByZWRpY2F0ZSA9ICh2KSA9PiB2KSA9PlxyXG4gICAgT2JqZWN0LmVudHJpZXMob2JqZWN0KVxyXG4gICAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIG5vLXVudXNlZC12YXJzXHJcbiAgICAgIC5maWx0ZXIoKFtrLCB2XSkgPT4gcHJlZGljYXRlKHYpKVxyXG4gICAgICAucmVkdWNlKChhY2MsIFtrLCB2XSkgPT4gKHsgLi4uYWNjLCBba106IHYgfSksIHt9KTtcclxuXHJcbiAgcmV0dXJuIHJlbW92ZUVtcHR5KFxyXG4gICAgcGlja0J5KG9iaiwgKHYpID0+IHYgIT09IG51bGwpLFxyXG4gICAgZXhjZXB0UHJvcGVydGllcyxcclxuICApIGFzIFQ7XHJcbn07XHJcbmV4cG9ydCBjb25zdCByZW1vdmVFbXB0eSA9IDxUPihvLCBleGNlcHRQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdKTogVCA9PiB7XHJcbiAgZm9yIChjb25zdCBrIGluIG8pIHtcclxuICAgIGlmIChcclxuICAgICAgIW9ba10gfHxcclxuICAgICAgdHlwZW9mIG9ba10gIT09ICdvYmplY3QnIHx8XHJcbiAgICAgIGV4Y2VwdFByb3BlcnRpZXMuZmluZEluZGV4KChwcm9wZXJ0eSkgPT4gcHJvcGVydHkgPT09IGspICE9PSAtMVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUVtcHR5KG9ba10pO1xyXG4gICAgaWYgKE9iamVjdC5rZXlzKG9ba10pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlXHJcbiAgICAgIGRlbGV0ZSBvW2tdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG87XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZG9tSXRlbXM8VT4oaXRlbXM6IFVbXSwgY291bnQ6IG51bWJlcik6IFVbXSB7XHJcbiAgY29uc3QgY29weSA9IFsuLi5pdGVtc107XHJcblxyXG4gIGZvciAobGV0IGkgPSBjb3B5Lmxlbmd0aCAtIDE7IGkgPiAwOyBpLS0pIHtcclxuICAgIGNvbnN0IGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoaSArIDEpKTtcclxuICAgIFtjb3B5W2ldLCBjb3B5W2pdXSA9IFtjb3B5W2pdLCBjb3B5W2ldXTtcclxuICB9XHJcblxyXG4gIHJldHVybiBjb3B5LnNsaWNlKDAsIGNvdW50KTtcclxufVxyXG4iXX0=