@ardium-ui/ui 3.2.6 → 3.3.0-alpha1

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 (110) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +1 -1
  2. package/esm2022/lib/_internal/focusable-component.mjs +2 -2
  3. package/esm2022/lib/_internal/form-field-component.mjs +55 -0
  4. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +4 -1
  5. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -2
  6. package/esm2022/lib/_internal/public-api.mjs +2 -0
  7. package/esm2022/lib/checkbox/checkbox.component.mjs +1 -1
  8. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +1 -1
  9. package/esm2022/lib/form-field/error/error.component.mjs +17 -0
  10. package/esm2022/lib/form-field/error/error.directive.mjs +17 -0
  11. package/esm2022/lib/form-field/form-field.component.mjs +36 -0
  12. package/esm2022/lib/form-field/form-field.defaults.mjs +14 -0
  13. package/esm2022/lib/form-field/form-field.module.mjs +23 -0
  14. package/esm2022/lib/form-field/hint/hint.component.mjs +17 -0
  15. package/esm2022/lib/form-field/hint/hint.directive.mjs +30 -0
  16. package/esm2022/lib/form-field/index.mjs +8 -0
  17. package/esm2022/lib/form-field/label/label.component.mjs +21 -0
  18. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +4 -2
  19. package/esm2022/lib/inputs/_simple-input-base.mjs +4 -4
  20. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +28 -11
  21. package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +3 -3
  22. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +5 -3
  23. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  24. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  25. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +13 -5
  26. package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +3 -3
  27. package/esm2022/lib/inputs/input/input.component.mjs +12 -3
  28. package/esm2022/lib/inputs/number-input/number-input.component.mjs +15 -7
  29. package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +3 -3
  30. package/esm2022/lib/inputs/password-input/password-input.component.mjs +15 -5
  31. package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +3 -3
  32. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +12 -3
  33. package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +3 -3
  34. package/esm2022/lib/select/select.component.mjs +16 -8
  35. package/esm2022/lib/select/select.defaults.mjs +3 -3
  36. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +1 -1
  37. package/esm2022/lib/table-pagination/table-pagination.component.mjs +1 -1
  38. package/esm2022/public-api.mjs +3 -1
  39. package/fesm2022/ardium-ui-ui.mjs +315 -49
  40. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  41. package/lib/_internal/focusable-component.d.ts +2 -2
  42. package/lib/_internal/form-field-component.d.ts +29 -0
  43. package/lib/_internal/ngmodel-component.d.ts +1 -0
  44. package/lib/_internal/public-api.d.ts +3 -0
  45. package/lib/form-field/error/error.component.d.ts +6 -0
  46. package/lib/form-field/error/error.directive.d.ts +5 -0
  47. package/lib/form-field/form-field.component.d.ts +19 -0
  48. package/lib/form-field/form-field.defaults.d.ts +7 -0
  49. package/lib/form-field/form-field.module.d.ts +13 -0
  50. package/lib/form-field/hint/hint.component.d.ts +6 -0
  51. package/lib/form-field/hint/hint.directive.d.ts +8 -0
  52. package/lib/form-field/index.d.ts +7 -0
  53. package/lib/form-field/label/label.component.d.ts +8 -0
  54. package/lib/form-field-frame/form-field-frame.component.d.ts +2 -1
  55. package/lib/inputs/_simple-input-base.d.ts +3 -3
  56. package/lib/inputs/digit-input/digit-input.component.d.ts +6 -4
  57. package/lib/inputs/digit-input/digit-input.defaults.d.ts +2 -2
  58. package/lib/inputs/digit-input/digit-input.model.d.ts +4 -1
  59. package/lib/inputs/digit-input/digit-input.types.d.ts +1 -0
  60. package/lib/inputs/digit-input/digit-input.utils.d.ts +1 -0
  61. package/lib/inputs/hex-input/hex-input.component.d.ts +2 -2
  62. package/lib/inputs/hex-input/hex-input.defaults.d.ts +2 -2
  63. package/lib/inputs/number-input/number-input.component.d.ts +2 -2
  64. package/lib/inputs/number-input/number-input.defaults.d.ts +2 -2
  65. package/lib/inputs/password-input/password-input.component.d.ts +2 -2
  66. package/lib/inputs/password-input/password-input.defaults.d.ts +2 -2
  67. package/lib/select/select.component.d.ts +3 -4
  68. package/lib/select/select.defaults.d.ts +2 -2
  69. package/package.json +1 -1
  70. package/prebuilt-themes/default/buttons/button.css +8 -10
  71. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  72. package/prebuilt-themes/default/buttons/fab.css +8 -10
  73. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  74. package/prebuilt-themes/default/buttons/icon-button.css +8 -10
  75. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  76. package/prebuilt-themes/default/chips.css.map +1 -1
  77. package/prebuilt-themes/default/core.css +1 -1
  78. package/prebuilt-themes/default/form-field-frame.css +16 -5
  79. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  80. package/prebuilt-themes/default/form-field.css +33 -0
  81. package/prebuilt-themes/default/form-field.css.map +1 -0
  82. package/prebuilt-themes/default/inputs/color-input.css +0 -1
  83. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  84. package/prebuilt-themes/default/inputs/digit-input.css +61 -5
  85. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  86. package/prebuilt-themes/default/inputs/file-input.css +0 -1
  87. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  88. package/prebuilt-themes/default/inputs/hex-input.css +0 -1
  89. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  90. package/prebuilt-themes/default/inputs/input.css +0 -1
  91. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  92. package/prebuilt-themes/default/inputs/number-input.css +30 -18
  93. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  94. package/prebuilt-themes/default/inputs/password-input.css +0 -1
  95. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  96. package/prebuilt-themes/default/inputs/search-bar.css +0 -1
  97. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  98. package/prebuilt-themes/default/inputs/simple-input.css +0 -1
  99. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  100. package/prebuilt-themes/default/segment.css +15 -1
  101. package/prebuilt-themes/default/segment.css.map +1 -1
  102. package/public-api.d.ts +2 -0
  103. package/themes/default/_mixins.scss +81 -64
  104. package/themes/default/buttons/_button-mixins.scss +7 -12
  105. package/themes/default/core.scss +99 -99
  106. package/themes/default/form-field-frame.scss +75 -78
  107. package/themes/default/form-field.scss +39 -0
  108. package/themes/default/inputs/_shared.scss +50 -51
  109. package/themes/default/inputs/digit-input.scss +90 -56
  110. package/themes/default/inputs/number-input.scss +131 -121
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
92
92
  type: HostBinding,
93
93
  args: ['class.ard-selected']
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQTZCLE1BQU0scUJBQXFCLENBQUM7O0FBR2xILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4Qix5QkFBeUIsQ0FBQztBQUU5Rjs7R0FFRztBQUVILE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEscUJBQXFCO0lBRHpFOztRQXNCRSxVQUFVO1FBQ1Y7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLE1BQU0sQ0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pEOztXQUVHO1FBQ00sa0JBQWEsR0FBRyxNQUFNLENBQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RDs7V0FFRztRQUNNLGdCQUFXLEdBQUcsTUFBTSxDQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUQsZ0NBQWdDO1FBQ2hDLHVDQUF1QztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBYTNDOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxNQUFNLEVBQVcsQ0FBQztLQXdCN0M7SUExRUMsMEJBQTBCO0lBQzFCLFVBQVUsQ0FBQyxDQUFNO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELGtCQUFrQjtJQUNsQjs7T0FFRztJQUNPLFdBQVc7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7O1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFtQkQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxDQUFNO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBRUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFNRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQTVFbUIscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVM7OEJBMkNKLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxVQUFVO2dCQU1iLHNCQUFzQjtzQkFGekIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgX0Jvb2xlYW5Db21wb25lbnREZWZhdWx0cyBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMge31cbmV4cG9ydCBjb25zdCBfYm9vbGVhbkNvbXBvbmVudERlZmF1bHRzOiBfQm9vbGVhbkNvbXBvbmVudERlZmF1bHRzID0gX25nTW9kZWxDb21wb25lbnREZWZhdWx0cztcblxuLyoqXG4gKiBDb21tb24gY29kZSBmb3IgY29tcG9uZW50cywgd2hpY2ggb25seSBvcGVyYXRlIG9uIHRoZSBcInNlbGVjdGVkXCIgc3RhdGUuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9Cb29sZWFuQ29tcG9uZW50QmFzZSBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IF9Cb29sZWFuQ29tcG9uZW50RGVmYXVsdHM7XG5cbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gIH1cbiAgLy9lbWl0dGVyIGZ1bmN0aW9uXG4gIC8qKlxuICAgKiBFbWl0cyBhbGwgc2VsZWN0LXN0YXRlLXJlbGF0ZWQgZXZlbnRzLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCkge1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHRoaXMuc2VsZWN0ZWQoKSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCgpKSB0aGlzLnNlbGVjdEV2ZW50LmVtaXQobnVsbCk7XG4gICAgZWxzZSB0aGlzLnVuc2VsZWN0RXZlbnQuZW1pdChudWxsKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkKCkpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkKCkpO1xuICB9XG5cbiAgLy8hIGV2ZW50c1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZXIgcmVzcG9uc2libGUgZm9yIGZpcmluZyBgc2VsZWN0YCBldmVudHMuIEZpcmVkIHdoZW4gdGhlIGBzZWxlY3RlZGAgc3RhdGUgaXMgc2V0IHRvIHRydWUuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RFdmVudCA9IG91dHB1dDxudWxsPih7IGFsaWFzOiAnc2VsZWN0JyB9KTtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVyIHJlc3BvbnNpYmxlIGZvciBmaXJpbmcgYHVuc2VsZWN0YCBldmVudHMuIEZpcmVkIHdoZW4gdGhlIGBzZWxlY3RlZGAgc3RhdGUgaXMgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5zZWxlY3RFdmVudCA9IG91dHB1dDxudWxsPih7IGFsaWFzOiAndW5zZWxlY3QnIH0pO1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZXIgcmVzcG9uc2libGUgZm9yIGZpcmluZyBgY2hhbmdlYCBldmVudHMuIEZpcmVkIHdoZW4gdGhlIGBzZWxlY3RlZGAgc3RhdGUgaXMgY2hhbmdlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PGJvb2xlYW4+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuXG4gIC8vISBbKHNlbGVjdGVkKV0gdHdvLXdheSBiaW5kaW5nXG4gIC8vIGNhbiBiZSBzZXQgdXNpbmcgYSBuby12YWx1ZSBhcmd1bWVudFxuICByZWFkb25seSBzZWxlY3RlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0aW9uIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuIENvZXJjaWJsZSBpbnRvIGEgYm9vbGVhbi5cbiAgICovXG4gIEBJbnB1dCgnc2VsZWN0ZWQnKVxuICBzZXQgX3NlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSk7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnNlbGVjdGVkJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hcmQtc2VsZWN0ZWQnKVxuICBnZXQgX3NlbGVjdGVkSG9zdEF0dHJpYnV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCgpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBzZWxlY3RlZENoYW5nZWAgZXZlbnRzLiBGaXJlZCB3aGVuIHRoZSBgc2VsZWN0ZWRgIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RlZENoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBzZWxlY3RlZCBzdGF0ZS4gRW1pdHMgYWxsIGFwcHJvcHJpYXRlIGV2ZW50cy5cbiAgICovXG4gIHRvZ2dsZVNlbGVjdGVkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQudXBkYXRlKHYgPT4gIXYpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGF0ZSB0byBcInNlbGVjdGVkXCIuIEVtaXRzIGFsbCBhcHByb3ByaWF0ZSBldmVudHMgb25seSBpZiB0aGUgc3RhdGUgY2hhbmdlcy5cbiAgICovXG4gIHNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0YXRlIHRvIFwidW5zZWxlY3RlZFwiLiBFbWl0cyBhbGwgYXBwcm9wcmlhdGUgZXZlbnRzIG9ubHkgaWYgdGhlIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICB1bnNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQTZCLE1BQU0scUJBQXFCLENBQUM7O0FBR2xILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4Qix5QkFBeUIsQ0FBQztBQUU5Rjs7R0FFRztBQUVILE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEscUJBQXFCO0lBRHpFOztRQXNCRSxVQUFVO1FBQ1Y7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLE1BQU0sQ0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pEOztXQUVHO1FBQ00sa0JBQWEsR0FBRyxNQUFNLENBQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RDs7V0FFRztRQUNNLGdCQUFXLEdBQUcsTUFBTSxDQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUQsZ0NBQWdDO1FBQ2hDLHVDQUF1QztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBYTNDOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxNQUFNLEVBQVcsQ0FBQztLQXdCN0M7SUExRUMsMEJBQTBCO0lBQzFCLFVBQVUsQ0FBQyxDQUFNO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELGtCQUFrQjtJQUNsQjs7T0FFRztJQUNPLFdBQVc7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7O1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFtQkQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxDQUFNO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBRUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFNRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQTVFbUIscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVM7OEJBMkNKLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxVQUFVO2dCQU1iLHNCQUFzQjtzQkFGekIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIF9Cb29sZWFuQ29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHt9XHJcbmV4cG9ydCBjb25zdCBfYm9vbGVhbkNvbXBvbmVudERlZmF1bHRzOiBfQm9vbGVhbkNvbXBvbmVudERlZmF1bHRzID0gX25nTW9kZWxDb21wb25lbnREZWZhdWx0cztcclxuXHJcbi8qKlxyXG4gKiBDb21tb24gY29kZSBmb3IgY29tcG9uZW50cywgd2hpY2ggb25seSBvcGVyYXRlIG9uIHRoZSBcInNlbGVjdGVkXCIgc3RhdGUuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9Cb29sZWFuQ29tcG9uZW50QmFzZSBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX0Jvb2xlYW5Db21wb25lbnREZWZhdWx0cztcclxuXHJcbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcclxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2O1xyXG4gIH1cclxuICAvL2VtaXR0ZXIgZnVuY3Rpb25cclxuICAvKipcclxuICAgKiBFbWl0cyBhbGwgc2VsZWN0LXN0YXRlLXJlbGF0ZWQgZXZlbnRzLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHRoaXMuc2VsZWN0ZWQoKSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQoKSkgdGhpcy5zZWxlY3RFdmVudC5lbWl0KG51bGwpO1xyXG4gICAgZWxzZSB0aGlzLnVuc2VsZWN0RXZlbnQuZW1pdChudWxsKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCgpKTtcclxuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGV2ZW50c1xyXG4gIC8qKlxyXG4gICAqIFRoZSBldmVudCBlbWl0dGVyIHJlc3BvbnNpYmxlIGZvciBmaXJpbmcgYHNlbGVjdGAgZXZlbnRzLiBGaXJlZCB3aGVuIHRoZSBgc2VsZWN0ZWRgIHN0YXRlIGlzIHNldCB0byB0cnVlLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNlbGVjdEV2ZW50ID0gb3V0cHV0PG51bGw+KHsgYWxpYXM6ICdzZWxlY3QnIH0pO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBldmVudCBlbWl0dGVyIHJlc3BvbnNpYmxlIGZvciBmaXJpbmcgYHVuc2VsZWN0YCBldmVudHMuIEZpcmVkIHdoZW4gdGhlIGBzZWxlY3RlZGAgc3RhdGUgaXMgc2V0IHRvIGZhbHNlLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHVuc2VsZWN0RXZlbnQgPSBvdXRwdXQ8bnVsbD4oeyBhbGlhczogJ3Vuc2VsZWN0JyB9KTtcclxuICAvKipcclxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBjaGFuZ2VgIGV2ZW50cy4gRmlyZWQgd2hlbiB0aGUgYHNlbGVjdGVkYCBzdGF0ZSBpcyBjaGFuZ2VkLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PGJvb2xlYW4+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG5cclxuICAvLyEgWyhzZWxlY3RlZCldIHR3by13YXkgYmluZGluZ1xyXG4gIC8vIGNhbiBiZSBzZXQgdXNpbmcgYSBuby12YWx1ZSBhcmd1bWVudFxyXG4gIHJlYWRvbmx5IHNlbGVjdGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBUaGUgc2VsZWN0aW9uIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuIENvZXJjaWJsZSBpbnRvIGEgYm9vbGVhbi5cclxuICAgKi9cclxuICBASW5wdXQoJ3NlbGVjdGVkJylcclxuICBzZXQgX3NlbGVjdGVkKHY6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoY29lcmNlQm9vbGVhblByb3BlcnR5KHYpKTtcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnNlbGVjdGVkJylcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1zZWxlY3RlZCcpXHJcbiAgZ2V0IF9zZWxlY3RlZEhvc3RBdHRyaWJ1dGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZCgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBzZWxlY3RlZENoYW5nZWAgZXZlbnRzLiBGaXJlZCB3aGVuIHRoZSBgc2VsZWN0ZWRgIHN0YXRlIGlzIGNoYW5nZWQuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlcyB0aGUgc2VsZWN0ZWQgc3RhdGUuIEVtaXRzIGFsbCBhcHByb3ByaWF0ZSBldmVudHMuXHJcbiAgICovXHJcbiAgdG9nZ2xlU2VsZWN0ZWQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkLnVwZGF0ZSh2ID0+ICF2KTtcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHN0YXRlIHRvIFwic2VsZWN0ZWRcIi4gRW1pdHMgYWxsIGFwcHJvcHJpYXRlIGV2ZW50cyBvbmx5IGlmIHRoZSBzdGF0ZSBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIHNlbGVjdCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdGF0ZSB0byBcInVuc2VsZWN0ZWRcIi4gRW1pdHMgYWxsIGFwcHJvcHJpYXRlIGV2ZW50cyBvbmx5IGlmIHRoZSBzdGF0ZSBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIHVuc2VsZWN0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoZmFsc2UpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,7 +16,7 @@ export class _FocusableComponentBase extends _DisablableComponentBase {
16
16
  this.tabIndex = computed(() => (this.disabled() ? -1 : this._tabIndex()));
17
17
  this._tabIndex = input(this._DEFAULTS.tabIndex, {
18
18
  alias: 'tabIndex',
19
- transform: v => coerceNumberProperty(v),
19
+ transform: v => coerceNumberProperty(v, 0),
20
20
  });
21
21
  //! events
22
22
  /**
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
82
82
  type: ViewChildren,
83
83
  args: ['focusableElement']
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL2ZvY3VzYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFnQyxNQUFNLHdCQUF3QixDQUFDOztBQUs5SCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBZ0M7SUFDdEUsR0FBRyw0QkFBNEI7SUFDL0IsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDO0FBR0YsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSx3QkFBd0I7SUFEOUU7O1FBaUNFLFlBQVk7UUFDWjs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLGNBQVMsR0FBRyxLQUFLLENBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDL0QsS0FBSyxFQUFFLFVBQVU7WUFDakIsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1NBQ3hDLENBQUMsQ0FBQztRQUVILFVBQVU7UUFDVjs7V0FFRztRQUNNLGVBQVUsR0FBRyxNQUFNLENBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RDs7V0FFRztRQUNNLGNBQVMsR0FBRyxNQUFNLENBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUUzRCx3QkFBd0I7UUFDeEI7O1dBRUc7UUFDSSxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBa0IxQjtJQW5FQzs7T0FFRztJQUNJLEtBQUs7UUFDVixJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFDRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUE0QkQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBaUI7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0F6RW1CLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQU1TLGlCQUFpQjtzQkFEakMsWUFBWTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbnB1dCwgb3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBfRGlzYWJsYWJsZUNvbXBvbmVudEJhc2UsIF9kaXNhYmxhYmxlQ29tcG9uZW50RGVmYXVsdHMsIF9EaXNhYmxhYmxlQ29tcG9uZW50RGVmYXVsdHMgfSBmcm9tICcuL2Rpc2FibGFibGUtY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBfRm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfRGlzYWJsYWJsZUNvbXBvbmVudERlZmF1bHRzIHtcbiAgdGFiSW5kZXg6IG51bWJlcjtcbn1cbmV4cG9ydCBjb25zdCBfZm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHM6IF9Gb2N1c2FibGVDb21wb25lbnREZWZhdWx0cyA9IHtcbiAgLi4uX2Rpc2FibGFibGVDb21wb25lbnREZWZhdWx0cyxcbiAgdGFiSW5kZXg6IDAsXG59O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRm9jdXNhYmxlQ29tcG9uZW50QmFzZSBleHRlbmRzIF9EaXNhYmxhYmxlQ29tcG9uZW50QmFzZSB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBfRm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHM7XG5cbiAgLy8hIG1ha2UgdGhlIGNvbXBvbmVudCBmb2N1c2FibGUgcHJvZ3JhbW1hdGljYWxseVxuICBAVmlld0NoaWxkcmVuKCdmb2N1c2FibGVFbGVtZW50JylcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNhYmxlRWxlbWVudCE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGNvcnJlY3QgZWxlbWVudCBpbiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQ/LmZpcnN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGZpcnN0IG9mIGFsbCBhdmFpbGFibGUgZWxlbWVudHMgaW4gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBmb2N1c0ZpcnN0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMoKTtcbiAgfVxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgbGFzdCBvZiBhbGwgYXZhaWxhYmxlIGVsZW1lbnRzIGluIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZm9jdXNMYXN0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQ/Lmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuICAvKipcbiAgICogQmx1cnMgYWxsIGZvY3VzYWJsZSBlbGVtZW50cyBpbiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNhYmxlRWxlbWVudD8uZm9yRWFjaChlbCA9PiBlbC5uYXRpdmVFbGVtZW50LmJsdXIoKSk7XG4gIH1cblxuICAvLyEgdGFiaW5kZXhcbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQncyBvdmVyYWxsIHRhYiBpbmRleC4gSWYgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCwgaXQgaXMgYWx3YXlzIGAtMWAuIENvZXJjaWJsZSBpbnRvIGEgbnVtYmVyLCBkZWZhdWx0cyB0byBgMGAuXG4gICAqL1xuICByZWFkb25seSB0YWJJbmRleCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyAtMSA6IHRoaXMuX3RhYkluZGV4KCkpKTtcbiAgcmVhZG9ubHkgX3RhYkluZGV4ID0gaW5wdXQ8YW55LCBudW1iZXI+KHRoaXMuX0RFRkFVTFRTLnRhYkluZGV4LCB7XG4gICAgYWxpYXM6ICd0YWJJbmRleCcsXG4gICAgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZU51bWJlclByb3BlcnR5KHYpLFxuICB9KTtcblxuICAvLyEgZXZlbnRzXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlciByZXNwb25zaWJsZSBmb3IgZmlyaW5nIGBmb2N1c2AgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9jdXNFdmVudCA9IG91dHB1dDxGb2N1c0V2ZW50Pih7IGFsaWFzOiAnZm9jdXMnIH0pO1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZXIgcmVzcG9uc2libGUgZm9yIGZpcmluZyBgYmx1cmAgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYmx1ckV2ZW50ID0gb3V0cHV0PEZvY3VzRXZlbnQ+KHsgYWxpYXM6ICdibHVyJyB9KTtcblxuICAvLyEgZm9jdXMgZXZlbnQgaGFuZGxlcnNcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBjdXJyZW50bHkgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gaGFuZGxlIHdoZW4gYW4gZWxlbWVudCBpcyBmb2N1c2VkLiBTZXRzIGBpc0ZvY3VzZWRgIGFuZCBmaXJlcyB0aGUgYGZvY3VzYCBldmVudC5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBmb2N1cyBldmVudCB0byBlbWl0LlxuICAgKi9cbiAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLmZvY3VzRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB3aGVuIGFuIGVsZW1lbnQgaXMgYmx1cnJlZC4gU2V0cyBgaXNGb2N1c2VkYCBhbmQgZmlyZXMgdGhlIGBibHVyYCBldmVudC5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBmb2N1cyBldmVudCB0byBlbWl0LlxuICAgKi9cbiAgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL2ZvY3VzYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFnQyxNQUFNLHdCQUF3QixDQUFDOztBQUs5SCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBZ0M7SUFDdEUsR0FBRyw0QkFBNEI7SUFDL0IsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDO0FBR0YsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSx3QkFBd0I7SUFEOUU7O1FBaUNFLFlBQVk7UUFDWjs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLGNBQVMsR0FBRyxLQUFLLENBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDL0QsS0FBSyxFQUFFLFVBQVU7WUFDakIsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzQyxDQUFDLENBQUM7UUFFSCxVQUFVO1FBQ1Y7O1dBRUc7UUFDTSxlQUFVLEdBQUcsTUFBTSxDQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0Q7O1dBRUc7UUFDTSxjQUFTLEdBQUcsTUFBTSxDQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFM0Qsd0JBQXdCO1FBQ3hCOztXQUVHO1FBQ0ksY0FBUyxHQUFHLEtBQUssQ0FBQztLQWtCMUI7SUFuRUM7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUNEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBNEJEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBekVtQix1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4QkFNUyxpQkFBaUI7c0JBRGpDLFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5wdXQsIG91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IF9EaXNhYmxhYmxlQ29tcG9uZW50QmFzZSwgX2Rpc2FibGFibGVDb21wb25lbnREZWZhdWx0cywgX0Rpc2FibGFibGVDb21wb25lbnREZWZhdWx0cyB9IGZyb20gJy4vZGlzYWJsYWJsZS1jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBfRm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfRGlzYWJsYWJsZUNvbXBvbmVudERlZmF1bHRzIHtcclxuICB0YWJJbmRleDogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBjb25zdCBfZm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHM6IF9Gb2N1c2FibGVDb21wb25lbnREZWZhdWx0cyA9IHtcclxuICAuLi5fZGlzYWJsYWJsZUNvbXBvbmVudERlZmF1bHRzLFxyXG4gIHRhYkluZGV4OiAwLFxyXG59O1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRm9jdXNhYmxlQ29tcG9uZW50QmFzZSBleHRlbmRzIF9EaXNhYmxhYmxlQ29tcG9uZW50QmFzZSB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IF9Gb2N1c2FibGVDb21wb25lbnREZWZhdWx0cztcclxuXHJcbiAgLy8hIG1ha2UgdGhlIGNvbXBvbmVudCBmb2N1c2FibGUgcHJvZ3JhbW1hdGljYWxseVxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZvY3VzYWJsZUVsZW1lbnQnKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzYWJsZUVsZW1lbnQhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xyXG5cclxuICAvKipcclxuICAgKiBGb2N1c2VzIHRoZSBjb3JyZWN0IGVsZW1lbnQgaW4gdGhlIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9mb2N1c2FibGVFbGVtZW50Py5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBGb2N1c2VzIHRoZSBmaXJzdCBvZiBhbGwgYXZhaWxhYmxlIGVsZW1lbnRzIGluIHRoZSBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgcHVibGljIGZvY3VzRmlyc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZvY3VzZXMgdGhlIGxhc3Qgb2YgYWxsIGF2YWlsYWJsZSBlbGVtZW50cyBpbiB0aGUgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBmb2N1c0xhc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9mb2N1c2FibGVFbGVtZW50Py5sYXN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEJsdXJzIGFsbCBmb2N1c2FibGUgZWxlbWVudHMgaW4gdGhlIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQ/LmZvckVhY2goZWwgPT4gZWwubmF0aXZlRWxlbWVudC5ibHVyKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHRhYmluZGV4XHJcbiAgLyoqXHJcbiAgICogVGhlIGNvbXBvbmVudCdzIG92ZXJhbGwgdGFiIGluZGV4LiBJZiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLCBpdCBpcyBhbHdheXMgYC0xYC4gQ29lcmNpYmxlIGludG8gYSBudW1iZXIsIGRlZmF1bHRzIHRvIGAwYC5cclxuICAgKi9cclxuICByZWFkb25seSB0YWJJbmRleCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyAtMSA6IHRoaXMuX3RhYkluZGV4KCkpKTtcclxuICByZWFkb25seSBfdGFiSW5kZXggPSBpbnB1dDxudW1iZXIsIGFueT4odGhpcy5fREVGQVVMVFMudGFiSW5kZXgsIHtcclxuICAgIGFsaWFzOiAndGFiSW5kZXgnLFxyXG4gICAgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZU51bWJlclByb3BlcnR5KHYsIDApLFxyXG4gIH0pO1xyXG5cclxuICAvLyEgZXZlbnRzXHJcbiAgLyoqXHJcbiAgICogVGhlIGV2ZW50IGVtaXR0ZXIgcmVzcG9uc2libGUgZm9yIGZpcmluZyBgZm9jdXNgIGV2ZW50cy5cclxuICAgKi9cclxuICByZWFkb25seSBmb2N1c0V2ZW50ID0gb3V0cHV0PEZvY3VzRXZlbnQ+KHsgYWxpYXM6ICdmb2N1cycgfSk7XHJcbiAgLyoqXHJcbiAgICogVGhlIGV2ZW50IGVtaXR0ZXIgcmVzcG9uc2libGUgZm9yIGZpcmluZyBgYmx1cmAgZXZlbnRzLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJsdXJFdmVudCA9IG91dHB1dDxGb2N1c0V2ZW50Pih7IGFsaWFzOiAnYmx1cicgfSk7XHJcblxyXG4gIC8vISBmb2N1cyBldmVudCBoYW5kbGVyc1xyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBjdXJyZW50bHkgZm9jdXNlZC5cclxuICAgKi9cclxuICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB3aGVuIGFuIGVsZW1lbnQgaXMgZm9jdXNlZC4gU2V0cyBgaXNGb2N1c2VkYCBhbmQgZmlyZXMgdGhlIGBmb2N1c2AgZXZlbnQuXHJcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBmb2N1cyBldmVudCB0byBlbWl0LlxyXG4gICAqL1xyXG4gIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdG8gaGFuZGxlIHdoZW4gYW4gZWxlbWVudCBpcyBibHVycmVkLiBTZXRzIGBpc0ZvY3VzZWRgIGFuZCBmaXJlcyB0aGUgYGJsdXJgIGV2ZW50LlxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZm9jdXMgZXZlbnQgdG8gZW1pdC5cclxuICAgKi9cclxuICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,55 @@
1
+ import { computed, Directive, inject, Injector, input, signal } from '@angular/core';
2
+ import { NgControl, Validators } from '@angular/forms';
3
+ import { coerceBooleanProperty } from '@ardium-ui/devkit';
4
+ import { map } from 'rxjs';
5
+ import { TakeChance as Random } from 'take-chance';
6
+ import { _NgModelComponentBase, _ngModelComponentDefaults } from './ngmodel-component';
7
+ import * as i0 from "@angular/core";
8
+ export const _formFieldComponentDefaults = {
9
+ ..._ngModelComponentDefaults,
10
+ required: undefined,
11
+ };
12
+ /**
13
+ * Common code for components which implement the ControlValueAccessor.
14
+ *
15
+ * **Warning**: `writeValue` function should be implemented on the child component!
16
+ */
17
+ export class _FormFieldComponentBase extends _NgModelComponentBase {
18
+ constructor() {
19
+ super(...arguments);
20
+ this._injector = inject(Injector);
21
+ this._ngControl = null;
22
+ this._required = input(undefined, {
23
+ transform: v => coerceBooleanProperty(v),
24
+ alias: 'required',
25
+ });
26
+ this.htmlId = input(Random.id());
27
+ this._hasError = input(undefined, {
28
+ transform: v => coerceBooleanProperty(v),
29
+ alias: 'hasError',
30
+ });
31
+ this._hasErrorInControl = signal(false);
32
+ this.hasError = computed(() => this._hasError() ?? this._hasErrorInControl());
33
+ }
34
+ ngOnInit() {
35
+ this._ngControl = this._injector.get(NgControl, null);
36
+ if (this._ngControl) {
37
+ this._ngControl.valueAccessor = this;
38
+ this._statusChangesSub = this._ngControl.statusChanges
39
+ ?.pipe(map(v => v === 'INVALID'))
40
+ .subscribe(v => this._hasErrorInControl.set(v));
41
+ }
42
+ }
43
+ get required() {
44
+ return this._required() ?? !!this._ngControl?.control?.hasValidator(Validators.required);
45
+ }
46
+ ngOnDestroy() {
47
+ this._statusChangesSub?.unsubscribe();
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FormFieldComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: _FormFieldComponentBase, inputs: { _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, _hasError: { classPropertyName: "_hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FormFieldComponentBase, decorators: [{
53
+ type: Directive
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9mb3JtLWZpZWxkLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLElBQUksTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBNkIseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNbEgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWdDO0lBQ3RFLEdBQUcseUJBQXlCO0lBQzVCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRjs7OztHQUlHO0FBRUgsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSxxQkFBcUI7SUFEM0U7O1FBSXFCLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFjdEMsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFFckMsY0FBUyxHQUFHLEtBQUssQ0FBMkIsU0FBUyxFQUFFO1lBQzlELFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDLENBQUM7UUFLTSxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLGNBQVMsR0FBRyxLQUFLLENBQTJCLFNBQVMsRUFBRTtZQUM5RCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7WUFDeEMsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQyxDQUFDO1FBQ2MsdUJBQWtCLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BELGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7S0FLNUY7SUFqQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUVyQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUNwRCxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7aUJBQ2hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQU9ELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFXRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7K0dBdENtQix1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0b3IsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVGFrZUNoYW5jZSBhcyBSYW5kb20gfSBmcm9tICd0YWtlLWNoYW5jZSc7XHJcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSwgX05nTW9kZWxDb21wb25lbnREZWZhdWx0cywgX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyB9IGZyb20gJy4vbmdtb2RlbC1jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBfRm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcclxuICByZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IF9mb3JtRmllbGRDb21wb25lbnREZWZhdWx0czogX0Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzID0ge1xyXG4gIC4uLl9uZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMsXHJcbiAgcmVxdWlyZWQ6IHVuZGVmaW5lZCxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb21tb24gY29kZSBmb3IgY29tcG9uZW50cyB3aGljaCBpbXBsZW1lbnQgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gKlxyXG4gKiAqKldhcm5pbmcqKjogYHdyaXRlVmFsdWVgIGZ1bmN0aW9uIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBvbiB0aGUgY2hpbGQgY29tcG9uZW50IVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IF9Gb3JtRmllbGRDb21wb25lbnREZWZhdWx0cztcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gIHByaXZhdGUgX3N0YXR1c0NoYW5nZXNTdWI/OiBTdWJzY3JpcHRpb247XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZ0NvbnRyb2wgPSB0aGlzLl9pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuXHJcbiAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuX25nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuXHJcbiAgICAgIHRoaXMuX3N0YXR1c0NoYW5nZXNTdWIgPSB0aGlzLl9uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlc1xyXG4gICAgICAgID8ucGlwZShtYXAodiA9PiB2ID09PSAnSU5WQUxJRCcpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUodiA9PiB0aGlzLl9oYXNFcnJvckluQ29udHJvbC5zZXQodikpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcm90ZWN0ZWQgX25nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHJlYWRvbmx5IF9yZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQsIGFueT4odW5kZWZpbmVkLCB7XHJcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpLFxyXG4gICAgYWxpYXM6ICdyZXF1aXJlZCcsXHJcbiAgfSk7XHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkKCkgPz8gISF0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGh0bWxJZCA9IGlucHV0PHN0cmluZz4oUmFuZG9tLmlkKCkpO1xyXG5cclxuICByZWFkb25seSBfaGFzRXJyb3IgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBhbnk+KHVuZGVmaW5lZCwge1xyXG4gICAgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSxcclxuICAgIGFsaWFzOiAnaGFzRXJyb3InLFxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc0Vycm9ySW5Db250cm9sID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICByZWFkb25seSBoYXNFcnJvciA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHRoaXMuX2hhc0Vycm9yKCkgPz8gdGhpcy5faGFzRXJyb3JJbkNvbnRyb2woKSk7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RhdHVzQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -223,6 +223,9 @@ export class ItemStorage {
223
223
  });
224
224
  }
225
225
  handleWriteValue(ngModel) {
226
+ if (!isArray(ngModel)) {
227
+ ngModel = [ngModel];
228
+ }
226
229
  //defer writing the value if no options are yet loaded
227
230
  if (!this._wasValueWriteDeferred() && this._items().length === 0) {
228
231
  this._valueToWriteAfterItemsLoad.set(ngModel);
@@ -443,4 +446,4 @@ export class ItemStorage {
443
446
  return newFilteredItems;
444
447
  }
445
448
  }
446
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9kcm9wZG93bi1pdGVtLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUF5QmxHLE1BQU0sT0FBTyxXQUFXO0lBU3RCLFlBQTZCLGNBQStCO1FBQS9CLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQVIzQyxZQUFPLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELFdBQU0sR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDekMsc0JBQWlCLEdBQUcsTUFBTSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLE1BQU0sQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDbEQsNkJBQXdCLEdBQUcsTUFBTSxDQUFzQixTQUFTLENBQUMsQ0FBQztRQUNsRSxtQkFBYyxHQUFHLE1BQU0sQ0FBYyxFQUFFLENBQUMsQ0FBQztRQUlqRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNqQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FB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LENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFaEYsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDbkUsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aCB9IGZyb20gJ3Jlc29sdmUtb2JqZWN0LXBhdGgnO1xuaW1wb3J0IHsgYW55LCBldmFsdWF0ZSwgaXNBcnJheSwgaXNEZWZpbmVkLCBpc09iamVjdCwgaXNQcmltaXRpdmUsIGlzUHJvbWlzZSB9IGZyb20gJ3NpbXBsZS1ib29sJztcbmltcG9ydCB7IEFkZEN1c3RvbUZuIH0gZnJvbSAnLi4vLi4vc2VsZWN0L3NlbGVjdC50eXBlcyc7XG5pbXBvcnQgeyBBcmRJdGVtR3JvdXBNYXAsIEFyZE9wdGlvbiwgQXJkT3B0aW9uR3JvdXAsIENvbXBhcmVXaXRoRm4sIEdyb3VwQnlGbiwgU2VhcmNoRm4gfSBmcm9tICcuLi8uLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJdGVtU3RvcmFnZUhvc3Qge1xuICByZWFkb25seSB2YWx1ZUZyb206IFNpZ25hbDxzdHJpbmc+O1xuICByZWFkb25seSBsYWJlbEZyb206IFNpZ25hbDxzdHJpbmc+O1xuICByZWFkb25seSBkaXNhYmxlZEZyb206IFNpZ25hbDxzdHJpbmc+O1xuICByZWFkb25seSBpbnZlcnREaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+O1xuICByZWFkb25seSBncm91cExhYmVsRnJvbTogU2lnbmFsPHN0cmluZyB8IEdyb3VwQnlGbj47XG4gIHJlYWRvbmx5IGdyb3VwRGlzYWJsZWRGcm9tOiBTaWduYWw8c3RyaW5nPjtcbiAgcmVhZG9ubHkgY2hpbGRyZW5Gcm9tOiBTaWduYWw8c3RyaW5nPjtcbiAgcmVhZG9ubHkgaXRlbXNBbHJlYWR5R3JvdXBlZDogU2lnbmFsPE51bGxhYmxlPGJvb2xlYW4+PjtcbiAgcmVhZG9ubHkgaGlkZVNlbGVjdGVkOiBTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHNlYXJjaENhc2VTZW5zaXRpdmU6IFNpZ25hbDxib29sZWFuPjtcbiAgcmVhZG9ubHkgc2VhcmNoRm46IFNpZ25hbDxTZWFyY2hGbj47XG4gIHJlYWRvbmx5IGNvbXBhcmVXaXRoOiBTaWduYWw8TnVsbGFibGU8Q29tcGFyZVdpdGhGbj4+O1xuICByZWFkb25seSBtdWx0aXNlbGVjdGFibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgcmVhZG9ubHkgc29ydE11bHRpcGxlVmFsdWVzOiBTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IG1heFNlbGVjdGVkSXRlbXM6IFNpZ25hbDxOdWxsYWJsZTxudW1iZXI+PjtcbiAgcmVhZG9ubHkgYWRkQ3VzdG9tOiBTaWduYWw8Ym9vbGVhbiB8IEFkZEN1c3RvbUZuPGFueT4gfCBBZGRDdXN0b21GbjxQcm9taXNlPGFueT4+PjtcbiAgcmVhZG9ubHkgX2NvbXBvbmVudElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtU3RvcmFnZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyb3VwcyA9IHNpZ25hbDxBcmRJdGVtR3JvdXBNYXA+KHRoaXMuX2NyZWF0ZUVtcHR5R3JvdXBNYXAoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zID0gc2lnbmFsPEFyZE9wdGlvbltdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlcmVkSXRlbXMgPSBzaWduYWw8QXJkT3B0aW9uW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGlnaGxpZ2h0ZWRJdGVtcyA9IHNpZ25hbDxBcmRPcHRpb25bXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWdobGlnaHRlZEdyb3VwcyA9IHNpZ25hbDxBcmRPcHRpb25Hcm91cFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlY2VudGx5SGlnaGxpZ2h0ZWRJdGVtID0gc2lnbmFsPE51bGxhYmxlPEFyZE9wdGlvbj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkSXRlbXMgPSBzaWduYWw8QXJkT3B0aW9uW10+KFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9hcmRQYXJlbnRDb21wOiBJdGVtU3RvcmFnZUhvc3QpIHt9XG5cbiAgcmVhZG9ubHkgZ3JvdXBzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBBcnJheS5mcm9tKHRoaXMuX2dyb3VwcygpLmVudHJpZXMoKSlcbiAgICAgIC5tYXAoKFssIGdyb3VwXSkgPT4gZ3JvdXApXG4gICAgICAuZmlsdGVyKGdyb3VwID0+IGdyb3VwLmNoaWxkcmVuKCkubGVuZ3RoKVxuICApO1xuICByZWFkb25seSBpdGVtcyA9IHRoaXMuX2l0ZW1zLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgZmlsdGVyZWRJdGVtcyA9IHRoaXMuX2ZpbHRlcmVkSXRlbXMuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBoaWdobGlnaHRlZEl0ZW1zID0gdGhpcy5faGlnaGxpZ2h0ZWRJdGVtcy5hc1JlYWRvbmx5KCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5zb3J0TXVsdGlwbGVWYWx1ZXMoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBhLmluZGV4IC0gYi5pbmRleDtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcygpO1xuICB9KTtcbiAgcmVhZG9ubHkgbGFzdFNlbGVjdGVkSXRlbSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2ZpbHRlcmVkSXRlbXMoKS5sYXN0KDEsIGl0ZW0gPT4gIWl0ZW0uZGlzYWJsZWQoKSkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faXRlbXNUb1ZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcygpKSk7XG4gIHByaXZhdGUgX2l0ZW1zVG9WYWx1ZShpdGVtczogQXJkT3B0aW9uW10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpdGVtID0+IGl0ZW0udmFsdWUoKSk7XG4gIH1cblxuICByZWFkb25seSBpc05vSXRlbXNUb1NlbGVjdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2l0ZW1zKCkubGVuZ3RoID09PSB0aGlzLl9zZWxlY3RlZEl0ZW1zKCkubGVuZ3RoKTtcbiAgcmVhZG9ubHkgaXNOb0l0ZW1zRm91bmQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9maWx0ZXJlZEl0ZW1zKCkubGVuZ3RoID09PSAwKTtcbiAgcmVhZG9ubHkgaXNBbnlJdGVtU2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zZWxlY3RlZEl0ZW1zKCkubGVuZ3RoID4gMCk7XG4gIHJlYWRvbmx5IGlzQW55SXRlbUhpZ2hsaWdodGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faGlnaGxpZ2h0ZWRJdGVtcygpLmxlbmd0aCA+IDApO1xuICByZWFkb25seSBpc0l0ZW1MaW1pdFJlYWNoZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5fYXJkUGFyZW50Q29tcC5tdWx0aXNlbGVjdGFibGUoKSAmJlxuICAgICAgaXNEZWZpbmVkKHRoaXMuX2FyZFBhcmVudENvbXAubWF4U2VsZWN0ZWRJdGVtcygpKSAmJlxuICAgICAgdGhpcy5fYXJkUGFyZW50Q29tcC5tYXhTZWxlY3RlZEl0ZW1zKCkhIDw9IHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aFxuICApO1xuXG4gIHNldEl0ZW1zKGl0ZW1zOiBhbnlbXSk6IHZvaWQge1xuICAgIGxldCBhcmVJdGVtc1ByaW1pdGl2ZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLl9hcmRQYXJlbnRDb21wLmdyb3VwTGFiZWxGcm9tKCkgJiYgdGhpcy5fYXJkUGFyZW50Q29tcC5pdGVtc0FscmVhZHlHcm91cGVkKCkpIHtcbiAgICAgIGNvbnN0IG5ld0l0ZW1zID0gW107XG4gICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGl0ZW1zKSB7XG4gICAgICAgIGxldCBjaGlsZHJlbjogYW55W107XG4gICAgICAgIFtjaGlsZHJlbiwgYXJlSXRlbXNQcmltaXRpdmVdID0gdGhpcy5fdW5ncm91cEFscmVhZHlHcm91cGVkSXRlbXMoZ3JvdXApO1xuICAgICAgICBuZXdJdGVtcy5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICAgIGl0ZW1zID0gbmV3SXRlbXM7XG4gICAgfVxuICAgIGlmIChhbnkoaXRlbXMsIGlzUHJpbWl0aXZlKSkge1xuICAgICAgaXRlbXMgPSBpdGVtcy5tYXAodGhpcy5fcHJpbWl0aXZlSXRlbXNNYXBGbik7XG4gICAgICBhcmVJdGVtc1ByaW1pdGl2ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5faXRlbXMuc2V0KFxuICAgICAgaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2V0SXRlbXNNYXBGbihpdGVtLCBpbmRleCwgYXJlSXRlbXNQcmltaXRpdmUpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy9hZGQgYWxsIGl0ZW1zIHRvIGZpbHRlciBhcnJheVxuICAgIHRoaXMuX2ZpbHRlcmVkSXRlbXMuc2V0KHRoaXMuX2l0ZW1zKCkpO1xuXG4gICAgLy9hZGQgaXRlbXMgdG8gZ3JvdXBzXG4gICAgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcblxuICAgIC8vd3JpdGUgdmFsdWUgaWYgaXQgd2FzXG4gICAgY29uc3QgdG9Xcml0ZSA9IHRoaXMuX3ZhbHVlVG9Xcml0ZUFmdGVySXRlbXNMb2FkKCk7XG4gICAgaWYgKHRvV3JpdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5oYW5kbGVXcml0ZVZhbHVlKHRvV3JpdGUpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9hZGRTaW5nbGVJdGVtKGl0ZW06IGFueSk6IEFyZE9wdGlvbiB7XG4gICAgY29uc3QgaXNJdGVtUHJpbWl0aXZlID0gaXNQcmltaXRpdmUoaXRlbSk7XG4gICAgLy9tYXAgYSBwcmltaXRpdmUgaXRlbSB0byBhIHVzYWJsZSBvYmplY3RcbiAgICBpZiAoaXNJdGVtUHJpbWl0aXZlKSB7XG4gICAgICBpdGVtID0gdGhpcy5fcHJpbWl0aXZlSXRlbXNNYXBGbihpdGVtKTtcbiAgICB9XG4gICAgLy9tYXAgdGhlIGl0ZW0gdG8gY3JlYXRlIGRhdGEgYmluZGluZ3NcbiAgICBjb25zdCBhcmRPcHRpb24gPSB0aGlzLl9zZXRJdGVtc01hcEZuKGl0ZW0sICh0aGlzLl9pdGVtcygpLmxhc3QoKT8uaW5kZXggPz8gMCkgKyAxLCBpc0l0ZW1QcmltaXRpdmUpO1xuXG4gICAgLy9wdXNoIHRoZSBpdGVtIGludG8gYWxsIGl0ZW1zXG4gICAgdGhpcy5faXRlbXMudXBkYXRlKHYgPT4gWy4uLnYsIGFyZE9wdGlvbl0pO1xuXG4gICAgLy9hZGQgYWxsIGl0ZW1zIHRvIGZpbHRlciBhcnJheVxuICAgIHRoaXMuX2ZpbHRlcmVkSXRlbXMuc2V0KHRoaXMuX2l0ZW1zKCkpO1xuXG4gICAgLy9hZGQgaXRlbSB0byBncm91cHNcbiAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xuXG4gICAgcmV0dXJuIGFyZE9wdGlvbjtcbiAgfVxuICBwcml2YXRlIF9wcmltaXRpdmVJdGVtc01hcEZuPFQ+KGl0ZW06IFQpOiB7IHZhbHVlOiBUIH0ge1xuICAgIHJldHVybiB7IHZhbHVlOiBpdGVtIH07XG4gIH1cbiAgcHJpdmF0ZSBfdW5ncm91cEFscmVhZHlHcm91cGVkSXRlbXM8VCBleHRlbmRzIG9iamVjdD4oZ3JvdXA6IFQpOiBbYW55W10sIGJvb2xlYW5dIHtcbiAgICAvL2RldGVybWluZSBncm91cEJ5IChncm91cExhYmVsKSBwYXRoXG4gICAgY29uc3QgZ3JvdXBCeSA9IHRoaXMuX2FyZFBhcmVudENvbXAuZ3JvdXBMYWJlbEZyb20oKTtcblxuICAgIC8vZ2V0IGdyb3VwIGxhYmVsIGZyb20gb2JqZWN0XG4gICAgbGV0IGdyb3VwTmFtZTogYW55O1xuICAgIGlmICh0eXBlb2YgZ3JvdXBCeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGdyb3VwTmFtZSA9IHJlc29sdmVQYXRoKGdyb3VwLCBncm91cEJ5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXBOYW1lID0gZ3JvdXBCeShncm91cCk7XG4gICAgfVxuXG4gICAgLy9kZXRlcm1pbmUgZ3JvdXAgY2hpbGRyZW4gcGF0aFxuICAgIGNvbnN0IGNoaWxkcmVuUGF0aCA9IHRoaXMuX2FyZFBhcmVudENvbXAuY2hpbGRyZW5Gcm9tKCk7XG5cbiAgICAvL2dldCBncm91cCBjaGlsZHJlblxuICAgIGxldCBncm91cEl0ZW1zOiBhbnkgPSByZXNvbHZlUGF0aChncm91cCwgY2hpbGRyZW5QYXRoKTtcblxuICAgIC8vcmV0dXJuIGVtcHR5IGFycmF5IGlmIGdyb3VwSXRlbXMgaXMgbm90IGFuIGFycmF5IG9yIGlzIGVtcHR5XG4gICAgaWYgKCFpc0FycmF5KGdyb3VwSXRlbXMpIHx8IGdyb3VwSXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gW1tdLCBmYWxzZV07XG5cbiAgICAvL2NoZWNrIGlmIHRoZSBhcnJheSBpcyBhbiBhcnJheSBvZiBwcmltaXRpdmVzLCBhbmQgbWFwIGl0IGlmIG5lZWRlZFxuICAgIGNvbnN0IGFyZUl0ZW1zUHJpbWl0aXZlID0gZmFsc2U7XG4gICAgaWYgKGFueShncm91cEl0ZW1zLCBpc1ByaW1pdGl2ZSkpIHtcbiAgICAgIGdyb3VwSXRlbXMgPSBncm91cEl0ZW1zLm1hcCh0aGlzLl9wcmltaXRpdmVJdGVtc01hcEZuKTtcbiAgICB9XG4gICAgLy9hZGQgZ3JvdXAgbmFtZSB0byBldmVyeSBjaGlsZFxuICAgIGdyb3VwSXRlbXMgPSBncm91cEl0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBpdGVtLiRhcmRncm91cCA9IGdyb3VwTmFtZTtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIFtncm91cEl0ZW1zLCBhcmVJdGVtc1ByaW1pdGl2ZV07XG4gIH1cbiAgcHJpdmF0ZSBfc2V0SXRlbXNNYXBGbihyYXdJdGVtRGF0YTogYW55LCBpbmRleDogbnVtYmVyLCBhcmVJdGVtc1ByaW1pdGl2ZTogYm9vbGVhbik6IEFyZE9wdGlvbiB7XG4gICAgaWYgKGFyZUl0ZW1zUHJpbWl0aXZlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpdGVtRGF0YTogc2lnbmFsKHJhd0l0ZW1EYXRhKSxcbiAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICB2YWx1ZTogc2lnbmFsKHJhd0l0ZW1EYXRhLnZhbHVlKSxcbiAgICAgICAgbGFiZWw6IHNpZ25hbChyYXdJdGVtRGF0YS52YWx1ZT8udG9TdHJpbmc/LigpID8/IFN0cmluZyhyYXdJdGVtRGF0YS52YWx1ZSkpLFxuICAgICAgICBkaXNhYmxlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgc2VsZWN0ZWQ6IHNpZ25hbChmYWxzZSksXG4gICAgICAgIGhpZ2hsaWdodGVkOiBzaWduYWwoZmFsc2UpLFxuICAgICAgICBncm91cDogdW5kZWZpbmVkLFxuICAgICAgICBoaWdobGlnaHRlZF9yZWNlbnRseTogc2lnbmFsKGZhbHNlKSxcbiAgICAgIH07XG4gICAgfVxuICAgIC8vZ2V0IHZhbHVlXG4gICAgY29uc3QgdmFsdWVQYXRoID0gdGhpcy5fYXJkUGFyZW50Q29tcC52YWx1ZUZyb20oKSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLmxhYmVsRnJvbSgpO1xuICAgIGNvbnN0IHZhbHVlID0gcmVzb2x2ZVBhdGgocmF3SXRlbURhdGEsIHZhbHVlUGF0aCk7XG5cbiAgICAvL2dldCBsYWJlbFxuICAgIGNvbnN0IGxhYmVsUGF0aCA9IHRoaXMuX2FyZFBhcmVudENvbXAubGFiZWxGcm9tKCkgPz8gdGhpcy5fYXJkUGFyZW50Q29tcC52YWx1ZUZyb20oKTtcbiAgICBjb25zdCBsYWJlbCA9IHJlc29sdmVQYXRoKHJhd0l0ZW1EYXRhLCBsYWJlbFBhdGgpID8/IHZhbHVlO1xuXG4gICAgLy9nZXQgZGlzYWJsZWRcbiAgICBjb25zdCBkaXNhYmxlZFBhdGggPSB0aGlzLl9hcmRQYXJlbnRDb21wLmRpc2FibGVkRnJvbSgpO1xuICAgIGxldCBkaXNhYmxlZCA9IGV2YWx1YXRlKHJlc29sdmVQYXRoKHJhd0l0ZW1EYXRhLCBkaXNhYmxlZFBhdGgpKTtcbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5pbnZlcnREaXNhYmxlZCgpKSB7XG4gICAgICBkaXNhYmxlZCA9ICFkaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvL2dldCBncm91cHNcbiAgICBsZXQgZ3JvdXA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCBncm91cEJ5ID0gdGhpcy5fYXJkUGFyZW50Q29tcC5ncm91cExhYmVsRnJvbSgpO1xuICAgIGlmIChncm91cEJ5KSB7XG4gICAgICBpZiAocmF3SXRlbURhdGEuJGFyZGdyb3VwKSB7XG4gICAgICAgIGdyb3VwID0gcmF3SXRlbURhdGEuJGFyZGdyb3VwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHR5cGVvZiBncm91cEJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGdyb3VwID0gcmVzb2x2ZVBhdGgocmF3SXRlbURhdGEsIGdyb3VwQnkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3VwID0gZ3JvdXBCeShyYXdJdGVtRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXRlbURhdGE6IHNpZ25hbChyYXdJdGVtRGF0YSksXG4gICAgICBpbmRleDogaW5kZXgsXG4gICAgICB2YWx1ZTogc2lnbmFsKHZhbHVlKSxcbiAgICAgIGxhYmVsOiBzaWduYWwobGFiZWw/LnRvU3RyaW5nPy4oKSA/PyBTdHJpbmcobGFiZWwpKSxcbiAgICAgIGRpc2FibGVkOiBzaWduYWwoZGlzYWJsZWQpLFxuICAgICAgZ3JvdXA6IGdyb3VwLFxuICAgICAgc2VsZWN0ZWQ6IHNpZ25hbChmYWxzZSksXG4gICAgICBoaWdobGlnaHRlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgIGhpZ2hsaWdodGVkX3JlY2VudGx5OiBzaWduYWwoZmFsc2UpLFxuICAgIH07XG4gIH1cbiAgcHJpdmF0ZSBfcG9wdWxhdGVHcm91cHMoKTogdm9pZCB7XG4gICAgdGhpcy5fZ3JvdXBzLnNldCh0aGlzLl9jcmVhdGVFbXB0eUdyb3VwTWFwKCkpO1xuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuX2ZpbHRlcmVkSXRlbXMoKSkge1xuICAgICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuaGlkZVNlbGVjdGVkKCkgJiYgaXRlbS5zZWxlY3RlZCgpKSBjb250aW51ZTtcblxuICAgICAgdGhpcy5fYWRkVG9Hcm91cChpdGVtKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfYWRkVG9Hcm91cChpdGVtOiBBcmRPcHRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBncm91cEtleSA9IGl0ZW0uZ3JvdXA7XG4gICAgY29uc3QgdGFyZ2V0R3JvdXAgPSB0aGlzLl9ncm91cHMoKS5nZXQoZ3JvdXBLZXkpO1xuICAgIC8vY3JlYXRlIG5ldyBncm91cCBpZiBubyBzdWNoIGdyb3VwIGV4aXN0c1xuICAgIGlmICghdGFyZ2V0R3JvdXApIHtcbiAgICAgIHRoaXMuX2dyb3Vwcy51cGRhdGUodiA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAodik7XG4gICAgICAgIG1hcC5zZXQoZ3JvdXBLZXksIHtcbiAgICAgICAgICBsYWJlbDogc2lnbmFsKFN0cmluZyhncm91cEtleSA/PyAnJykpLFxuICAgICAgICAgIGNoaWxkcmVuOiBzaWduYWwoW2l0ZW1dKSxcbiAgICAgICAgICBkaXNhYmxlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICBzZWxlY3RlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICBoaWdobGlnaHRlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGFyZ2V0R3JvdXAuY2hpbGRyZW4udXBkYXRlKHYgPT4gWy4uLnYsIGl0ZW1dKTtcbiAgfVxuICBwcml2YXRlIF9jcmVhdGVFbXB0eUdyb3VwTWFwKCk6IEFyZEl0ZW1Hcm91cE1hcCB7XG4gICAgcmV0dXJuIG5ldyBNYXAoW1xuICAgICAgW1xuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogc2lnbmFsKCcnKSxcbiAgICAgICAgICBjaGlsZHJlbjogc2lnbmFsKFtdKSxcbiAgICAgICAgICBkaXNhYmxlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICBzZWxlY3RlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICBoaWdobGlnaHRlZDogc2lnbmFsKGZhbHNlKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgXSkgYXMgQXJkSXRlbUdyb3VwTWFwO1xuICB9XG4gIHByaXZhdGUgX2lzV3JpdGVWYWx1ZVZhbGlkKG5nTW9kZWw6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5nTW9kZWwuZXZlcnkoaXRlbSA9PiB7XG4gICAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLl9hcmRQYXJlbnRDb21wLmNvbXBhcmVXaXRoKSAmJiBpc09iamVjdChpdGVtKSAmJiB0aGlzLl9hcmRQYXJlbnRDb21wLnZhbHVlRnJvbSgpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgQVJELVdBJHt0aGlzLl9hcmRQYXJlbnRDb21wLl9jb21wb25lbnRJZH0wOiBbdmFsdWVGcm9tXSBjYW4gb25seSBwb2ludCB0byBhIHByb3BlcnR5IG9mIGEgcHJpbWl0aXZlIHR5cGUuIERlZmluZSBbY29tcGFyZVdpdGhdIGlmIHVzaW5nIG9iamVjdHMgYXMgYSB2YWx1ZSBpcyBuZWVkZWQuYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZVRvV3JpdGVBZnRlckl0ZW1zTG9hZCA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dhc1ZhbHVlV3JpdGVEZWZlcnJlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGhhbmRsZVdyaXRlVmFsdWUobmdNb2RlbDogYW55W10pOiB2b2lkIHtcbiAgICAvL2RlZmVyIHdyaXRpbmcgdGhlIHZhbHVlIGlmIG5vIG9wdGlvbnMgYXJlIHlldCBsb2FkZWRcbiAgICBpZiAoIXRoaXMuX3dhc1ZhbHVlV3JpdGVEZWZlcnJlZCgpICYmIHRoaXMuX2l0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl92YWx1ZVRvV3JpdGVBZnRlckl0ZW1zTG9hZC5zZXQobmdNb2RlbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhckFsbFNlbGVjdGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuX2lzV3JpdGVWYWx1ZVZhbGlkKG5nTW9kZWwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0SXRlbUJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmluZEl0ZW1CeVZhbHVlKHZhbHVlKTtcblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKGl0ZW0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBBUkQtV0Eke3RoaXMuX2FyZFBhcmVudENvbXAuX2NvbXBvbmVudElkfTE6IENvdWxkbid0IGZpbmQgYW4gaXRlbSB3aXRoIHZhbHVlICR7XG4gICAgICAgICAgdmFsdWU/LnRvU3RyaW5nPy4oKSB8fCBTdHJpbmcodmFsdWUpXG4gICAgICAgIH0gd2hlbiB0cnlpbmcgdG8gc2VsZWN0IGl0LmBcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgbW9kZWxWYWx1ZSBvZiBuZ01vZGVsKSB7XG4gICAgICBzZWxlY3RJdGVtQnlWYWx1ZShtb2RlbFZhbHVlKTtcbiAgICB9XG4gIH1cbiAgZmluZEl0ZW1CeVZhbHVlKHZhbHVlVG9GaW5kOiBhbnkpOiBBcmRPcHRpb24gfCB1bmRlZmluZWQge1xuICAgIGxldCBmaW5kQnk6IChpdGVtOiBBcmRPcHRpb24pID0+IGJvb2xlYW47XG4gICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuY29tcGFyZVdpdGgoKSkge1xuICAgICAgZmluZEJ5ID0gaXRlbSA9PiB0aGlzLl9hcmRQYXJlbnRDb21wLmNvbXBhcmVXaXRoKCkhKHZhbHVlVG9GaW5kLCBpdGVtLnZhbHVlKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaW5kQnkgPSBpdGVtID0+IGl0ZW0udmFsdWUoKSA9PT0gdmFsdWVUb0ZpbmQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9pdGVtcygpLmZpbmQoaXRlbSA9PiBmaW5kQnkoaXRlbSkpO1xuICB9XG4gIGFzeW5jIGFkZEN1c3RvbU9wdGlvbih2YWx1ZTogc3RyaW5nLCBmbjogQWRkQ3VzdG9tRm48YW55PiB8IEFkZEN1c3RvbUZuPFByb21pc2U8YW55Pj4pOiBQcm9taXNlPEFyZE9wdGlvbiB8IG51bGw+IHtcbiAgICBjb25zdCBmblJlc3VsdCA9IGZuKHZhbHVlKTtcblxuICAgIGxldCBvcHRpb25WYWx1ZSA9IGZuUmVzdWx0O1xuICAgIGlmIChpc1Byb21pc2Uob3B0aW9uVmFsdWUpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBvcHRpb25WYWx1ZSA9IGF3YWl0IG9wdGlvblZhbHVlO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBgQVJELU5GJHt0aGlzLl9hcmRQYXJlbnRDb21wLl9jb21wb25lbnRJZH0yOiBGYWlsZWQgdG8gYWRkIGEgY3VzdG9tIG9wdGlvbi4gVGhlIHByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcjpgLFxuICAgICAgICAgIGVycm9yXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG5ld09wdGlvbk9iaiA9IHRoaXMuX2FkZFNpbmdsZUl0ZW0ob3B0aW9uVmFsdWUpO1xuICAgIHJldHVybiBuZXdPcHRpb25PYmo7XG4gIH1cblxuICBjbGVhckFsbFNlbGVjdGVkKHJlcG9wdWxhdGVHcm91cHMgPSBmYWxzZSk6IGFueVtdIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fc2VsZWN0ZWRJdGVtcygpKSB7XG4gICAgICBpdGVtLnNlbGVjdGVkLnNldChmYWxzZSk7XG4gICAgfVxuICAgIGNvbnN0IHJlbW92ZWRJdGVtVmFsdWVzID0gdGhpcy5faXRlbXNUb1ZhbHVlKHRoaXMuX3NlbGVjdGVkSXRlbXMoKSk7XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5zZXQoW10pO1xuXG4gICAgaWYgKHJlcG9wdWxhdGVHcm91cHMgJiYgdGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSkgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcblxuICAgIHJldHVybiByZW1vdmVkSXRlbVZhbHVlcztcbiAgfVxuICBjbGVhckxhc3RTZWxlY3RlZCgpOiBBcmRPcHRpb24ge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLl9zZWxlY3RlZEl0ZW1zKCkubGFzdCgpO1xuICAgIGlmICghaXRlbSkgcmV0dXJuIGl0ZW07XG4gICAgdGhpcy51bnNlbGVjdEl0ZW0oaXRlbSk7XG4gICAgcmV0dXJuIGl0ZW07XG4gIH1cbiAgc2VsZWN0SXRlbSguLi5pdGVtczogQXJkT3B0aW9uW10pOiBbYW55W10sIGFueVtdLCBhbnlbXV0ge1xuICAgIGlmICh0aGlzLmlzSXRlbUxpbWl0UmVhY2hlZCgpKSB7XG4gICAgICByZXR1cm4gW1tdLCBbXSwgdGhpcy5faXRlbXNUb1ZhbHVlKGl0ZW1zKV07XG4gICAgfVxuICAgIGxldCB1bnNlbGVjdGVkID0gW107XG4gICAgaWYgKCF0aGlzLl9hcmRQYXJlbnRDb21wLm11bHRpc2VsZWN0YWJsZSgpKSB7XG4gICAgICB1bnNlbGVjdGVkID0gdGhpcy5jbGVhckFsbFNlbGVjdGVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbXNTZWxlY3RlZENvdW50ID0gMDtcbiAgICBjb25zdCBpdGVtc1NlbGVjdGVkID0gW107XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBpdGVtc1NlbGVjdGVkQ291bnQrKztcbiAgICAgIGlmIChpdGVtLnNlbGVjdGVkKCkpIGNvbnRpbnVlO1xuICAgICAgaWYgKHRoaXMuaXNJdGVtTGltaXRSZWFjaGVkKCkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpdGVtLnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMudXBkYXRlKHYgPT4gWy4uLnYsIGl0ZW1dKTtcbiAgICAgIGl0ZW1zU2VsZWN0ZWQucHVzaChpdGVtKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSkge1xuICAgICAgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtc0ZhaWxlZFRvU2VsZWN0ID0gaXRlbXMuc2xpY2UoaXRlbXNTZWxlY3RlZENvdW50IC0gMSk7XG4gICAgcmV0dXJuIFt0aGlzLl9pdGVtc1RvVmFsdWUoaXRlbXNTZWxlY3RlZCksIHVuc2VsZWN0ZWQsIHRoaXMuX2l0ZW1zVG9WYWx1ZShpdGVtc0ZhaWxlZFRvU2VsZWN0KV07XG4gIH1cbiAgdW5zZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25bXSk6IGFueVtdIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGlmICghaXRlbS5zZWxlY3RlZCgpKSBjb250aW51ZTtcbiAgICAgIGl0ZW0uc2VsZWN0ZWQuc2V0KGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy51cGRhdGUodiA9PiB2LmZpbHRlcih2ID0+IHYuc2VsZWN0ZWQoKSkpO1xuXG4gICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuaGlkZVNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuX3BvcHVsYXRlR3JvdXBzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zVG9WYWx1ZShpdGVtcyk7XG4gIH1cblxuICBjbGVhckFsbEhpZ2hsaWdodHMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMoKSkge1xuICAgICAgaXRlbS5oaWdobGlnaHRlZC5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIHRoaXMuX2hpZ2hsaWdodGVkR3JvdXBzKCkpIHtcbiAgICAgIGdyb3VwLmhpZ2hsaWdodGVkLnNldChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLl9oaWdobGlnaHRlZEdyb3Vwcy5zZXQoW10pO1xuICB9XG4gIGhpZ2hsaWdodEdyb3VwKGdyb3VwOiBBcmRPcHRpb25Hcm91cCk6IEFyZE9wdGlvbiB7XG4gICAgdGhpcy5jbGVhckFsbEhpZ2hsaWdodHMoKTtcbiAgICBncm91cC5oaWdobGlnaHRlZC5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oaWdobGlnaHRJdGVtKC4uLmdyb3VwLmNoaWxkcmVuKCkpO1xuICAgIHJldHVybiBncm91cC5jaGlsZHJlbigpLmZpcnN0KCk7XG4gIH1cbiAgaGlnaGxpZ2h0U2luZ2xlSXRlbShpdGVtOiBBcmRPcHRpb24pOiBBcmRPcHRpb24gfCBudWxsIHtcbiAgICBpZiAoIWl0ZW0gfHwgaXRlbS5kaXNhYmxlZCgpKSByZXR1cm4gbnVsbDtcbiAgICB0aGlzLmNsZWFyQWxsSGlnaGxpZ2h0cygpO1xuICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodEl0ZW0oaXRlbSk7XG4gIH1cbiAgaGlnaGxpZ2h0SXRlbSguLi5pdGVtczogQXJkT3B0aW9uW10pOiBBcmRPcHRpb24ge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgaXRlbS5oaWdobGlnaHRlZC5zZXQodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMudXBkYXRlKHYgPT4gWy4uLnYsIC4uLml0ZW1zXSk7XG4gICAgcmV0dXJuIGl0ZW1zLmxhc3QoKTtcbiAgfVxuICB1bmhpZ2hsaWdodEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvbltdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBpZiAoIWl0ZW0gfHwgIWl0ZW0uaGlnaGxpZ2h0ZWQpIHJldHVybjtcblxuICAgICAgaXRlbS5oaWdobGlnaHRlZC5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLl9oaWdobGlnaHRlZEl0ZW1zLnVwZGF0ZSh2ID0+IHYuZmlsdGVyKHYgPT4gdi5oaWdobGlnaHRlZCgpKSk7XG4gIH1cbiAgaGlnaGxpZ2h0Rmlyc3RJdGVtKCk6IEFyZE9wdGlvbiB8IG51bGwge1xuICAgIHRoaXMuY2xlYXJBbGxIaWdobGlnaHRzKCk7XG4gICAgY29uc3QgaXRlbXNUb0hpZ2hsaWdodCA9IHRoaXMuX2dldEhpZ2xpZ2h0YWJsZUl0ZW1zKCk7XG4gICAgcmV0dXJuIHRoaXMuaGlnaGxpZ2h0U2luZ2xlSXRlbShpdGVtc1RvSGlnaGxpZ2h0LmZpcnN0KCkpO1xuICB9XG4gIGhpZ2hsaWdodExhc3RJdGVtKCk6IEFyZE9wdGlvbiB8IG51bGwge1xuICAgIHRoaXMuY2xlYXJBbGxIaWdobGlnaHRzKCk7XG4gICAgY29uc3QgaXRlbXNUb0hpZ2hsaWdodCA9IHRoaXMuX2dldEhpZ2xpZ2h0YWJsZUl0ZW1zKCk7XG4gICAgcmV0dXJuIHRoaXMuaGlnaGxpZ2h0U2luZ2xlSXRlbShpdGVtc1RvSGlnaGxpZ2h0Lmxhc3QoKSk7XG4gIH1cbiAgcHJpdmF0ZSBfZ2V0SGlnbGlnaHRhYmxlSXRlbXMoKTogQXJkT3B0aW9uW10ge1xuICAgIGxldCBpdGVtc1RvSGlnaGxpZ2h0ID0gdGhpcy5fZmlsdGVyZWRJdGVtcygpLmZpbHRlcihpdGVtID0+ICFpdGVtLmRpc2FibGVkKCkpO1xuICAgIGlmICh0aGlzLl9hcmRQYXJlbnRDb21wLmhpZGVTZWxlY3RlZCgpKSB7XG4gICAgICBpdGVtc1RvSGlnaGxpZ2h0ID0gaXRlbXNUb0hpZ2hsaWdodC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zZWxlY3RlZCgpKTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zVG9IaWdobGlnaHQ7XG4gIH1cbiAgaGlnaGxpZ2h0QWxsSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5oaWdobGlnaHRJdGVtKC4uLnRoaXMuX2dldEhpZ2xpZ2h0YWJsZUl0ZW1zKCkpO1xuICB9XG4gIHByaXZhdGUgX2NsZWFyUmVjZW50bHlIaWdobGlnaHRlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVjZW50bHlIaWdobGlnaHRlZEl0ZW0oKSkge1xuICAgICAgdGhpcy5fcmVjZW50bHlIaWdobGlnaHRlZEl0ZW0oKSEuaGlnaGxpZ2h0ZWRfcmVjZW50bHkuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cbiAgc2V0UmVjZW50bHlIaWdobGlnaHRlZChpdGVtOiBBcmRPcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9jbGVhclJlY2VudGx5SGlnaGxpZ2h0ZWQoKTtcbiAgICBpdGVtLmhpZ2hsaWdodGVkX3JlY2VudGx5LnNldCh0cnVlKTtcbiAgICB0aGlzLl9yZWNlbnRseUhpZ2hsaWdodGVkSXRlbS5zZXQoaXRlbSk7XG4gIH1cbiAgaGlnaGxpZ2h0TmV4dEl0ZW0ob2Zmc2V0OiBudW1iZXIsIGhhc1NoaWZ0PzogYm9vbGVhbik6IEFyZE9wdGlvbiB8IG51bGwge1xuICAgIGlmICghdGhpcy5pc0FueUl0ZW1IaWdobGlnaHRlZCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmhpZ2hsaWdodGVkSXRlbXMoKS5sYXN0KCk7XG4gICAgY29uc3QgaGlnaGxpZ2h0YWJsZUl0ZW1zID0gdGhpcy5fZ2V0SGlnbGlnaHRhYmxlSXRlbXMoKTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXhJbkZpbHRlcmVkID0gaGlnaGxpZ2h0YWJsZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaW5kZXggPT09IGN1cnJlbnRJdGVtLmluZGV4KTtcblxuICAgIGxldCBuZXh0SXRlbUluZGV4ID0gY3VycmVudEluZGV4SW5GaWx0ZXJlZCArIG9mZnNldDtcbiAgICBpZiAobmV4dEl0ZW1JbmRleCA+PSBoaWdobGlnaHRhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICBuZXh0SXRlbUluZGV4IC09IGhpZ2hsaWdodGFibGVJdGVtcy5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChuZXh0SXRlbUluZGV4IDwgMCkge1xuICAgICAgbmV4dEl0ZW1JbmRleCArPSBoaWdobGlnaHRhYmxlSXRlbXMubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCBpdGVtVG9IaWdobGlnaHQgPSBoaWdobGlnaHRhYmxlSXRlbXNbbmV4dEl0ZW1JbmRleF07XG5cbiAgICBpZiAoaGFzU2hpZnQgJiYgdGhpcy5fYXJkUGFyZW50Q29tcC5tdWx0aXNlbGVjdGFibGUoKSkge1xuICAgICAgaWYgKGl0ZW1Ub0hpZ2hsaWdodC5oaWdobGlnaHRlZCgpKSB7XG4gICAgICAgIHRoaXMudW5oaWdobGlnaHRJdGVtKGN1cnJlbnRJdGVtKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodEl0ZW0oaXRlbVRvSGlnaGxpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaGlnaGxpZ2h0U2luZ2xlSXRlbShpdGVtVG9IaWdobGlnaHQpO1xuICB9XG4gIGZpbHRlcihmaWx0ZXJUZXJtOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgaWYgKCFmaWx0ZXJUZXJtKSB7XG4gICAgICByZXR1cm4gdGhpcy5faXRlbXNUb1ZhbHVlKHRoaXMucmVzZXRGaWx0ZXJlZCgpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9hcmRQYXJlbnRDb21wLnNlYXJjaENhc2VTZW5zaXRpdmUoKSkge1xuICAgICAgZmlsdGVyVGVybSA9IGZpbHRlclRlcm0udG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hGbiA9IHRoaXMuX2FyZFBhcmVudENvbXAuc2VhcmNoRm4oKTtcbiAgICBjb25zdCBuZXdGaWx0ZXJlZEl0ZW1zID0gdGhpcy5faXRlbXMoKS5maWx0ZXIoaXRlbSA9PiBzZWFyY2hGbihmaWx0ZXJUZXJtLCBpdGVtKSk7XG4gICAgdGhpcy5fZmlsdGVyZWRJdGVtcy5zZXQobmV3RmlsdGVyZWRJdGVtcyk7XG5cbiAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xuXG4gICAgaWYgKCF0aGlzLmlzTm9JdGVtc0ZvdW5kKSB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICAgIGVsc2UgdGhpcy5jbGVhckFsbEhpZ2hsaWdodHMoKTtcblxuICAgIHJldHVybiB0aGlzLl9pdGVtc1RvVmFsdWUobmV3RmlsdGVyZWRJdGVtcyk7XG4gIH1cbiAgcmVzZXRGaWx0ZXJlZCgpOiBBcmRPcHRpb25bXSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlcmVkSXRlbXMoKS5sZW5ndGggPT09IHRoaXMuX2l0ZW1zKCkubGVuZ3RoKSByZXR1cm4gdGhpcy5faXRlbXMoKTtcblxuICAgIGxldCBuZXdGaWx0ZXJlZEl0ZW1zID0gdGhpcy5faXRlbXMoKTtcbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSAmJiB0aGlzLmlzQW55SXRlbVNlbGVjdGVkKCkpIHtcbiAgICAgIG5ld0ZpbHRlcmVkSXRlbXMgPSBuZXdGaWx0ZXJlZEl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLnNlbGVjdGVkKCkpO1xuICAgIH1cbiAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xuICAgIHJldHVybiBuZXdGaWx0ZXJlZEl0ZW1zO1xuICB9XG59XG4iXX0=
449
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9kcm9wZG93bi1pdGVtLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUF5QmxHLE1BQU0sT0FBTyxXQUFXO0lBU3RCLFlBQTZCLGNBQStCO1FBQS9CLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQVIzQyxZQUFPLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELFdBQU0sR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDekMsc0JBQWlCLEdBQUcsTUFBTSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLE1BQU0sQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDbEQsNkJBQXdCLEdBQUcsTUFBTSxDQUFzQixTQUFTLENBQUMsQ0FBQztRQUNsRSxtQkFBYyxHQUFHLE1BQU0sQ0FBYyxFQUFFLENBQUMsQ0FBQztRQUlqRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNqQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FB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Q0FBQzs7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoRixJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUNuRSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmVzb2x2ZVBhdGggfSBmcm9tICdyZXNvbHZlLW9iamVjdC1wYXRoJztcclxuaW1wb3J0IHsgYW55LCBldmFsdWF0ZSwgaXNBcnJheSwgaXNEZWZpbmVkLCBpc09iamVjdCwgaXNQcmltaXRpdmUsIGlzUHJvbWlzZSB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgQWRkQ3VzdG9tRm4gfSBmcm9tICcuLi8uLi9zZWxlY3Qvc2VsZWN0LnR5cGVzJztcclxuaW1wb3J0IHsgQXJkSXRlbUdyb3VwTWFwLCBBcmRPcHRpb24sIEFyZE9wdGlvbkdyb3VwLCBDb21wYXJlV2l0aEZuLCBHcm91cEJ5Rm4sIFNlYXJjaEZuIH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcclxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbVN0b3JhZ2VIb3N0IHtcclxuICByZWFkb25seSB2YWx1ZUZyb206IFNpZ25hbDxzdHJpbmc+O1xyXG4gIHJlYWRvbmx5IGxhYmVsRnJvbTogU2lnbmFsPHN0cmluZz47XHJcbiAgcmVhZG9ubHkgZGlzYWJsZWRGcm9tOiBTaWduYWw8c3RyaW5nPjtcclxuICByZWFkb25seSBpbnZlcnREaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+O1xyXG4gIHJlYWRvbmx5IGdyb3VwTGFiZWxGcm9tOiBTaWduYWw8c3RyaW5nIHwgR3JvdXBCeUZuPjtcclxuICByZWFkb25seSBncm91cERpc2FibGVkRnJvbTogU2lnbmFsPHN0cmluZz47XHJcbiAgcmVhZG9ubHkgY2hpbGRyZW5Gcm9tOiBTaWduYWw8c3RyaW5nPjtcclxuICByZWFkb25seSBpdGVtc0FscmVhZHlHcm91cGVkOiBTaWduYWw8TnVsbGFibGU8Ym9vbGVhbj4+O1xyXG4gIHJlYWRvbmx5IGhpZGVTZWxlY3RlZDogU2lnbmFsPGJvb2xlYW4+O1xyXG4gIHJlYWRvbmx5IHNlYXJjaENhc2VTZW5zaXRpdmU6IFNpZ25hbDxib29sZWFuPjtcclxuICByZWFkb25seSBzZWFyY2hGbjogU2lnbmFsPFNlYXJjaEZuPjtcclxuICByZWFkb25seSBjb21wYXJlV2l0aDogU2lnbmFsPE51bGxhYmxlPENvbXBhcmVXaXRoRm4+PjtcclxuICByZWFkb25seSBtdWx0aXNlbGVjdGFibGU6IFNpZ25hbDxib29sZWFuPjtcclxuICByZWFkb25seSBzb3J0TXVsdGlwbGVWYWx1ZXM6IFNpZ25hbDxib29sZWFuPjtcclxuICByZWFkb25seSBtYXhTZWxlY3RlZEl0ZW1zOiBTaWduYWw8TnVsbGFibGU8bnVtYmVyPj47XHJcbiAgcmVhZG9ubHkgYWRkQ3VzdG9tOiBTaWduYWw8Ym9vbGVhbiB8IEFkZEN1c3RvbUZuPGFueT4gfCBBZGRDdXN0b21GbjxQcm9taXNlPGFueT4+PjtcclxuICByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEl0ZW1TdG9yYWdlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9ncm91cHMgPSBzaWduYWw8QXJkSXRlbUdyb3VwTWFwPih0aGlzLl9jcmVhdGVFbXB0eUdyb3VwTWFwKCkpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zID0gc2lnbmFsPEFyZE9wdGlvbltdPihbXSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyZWRJdGVtcyA9IHNpZ25hbDxBcmRPcHRpb25bXT4oW10pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hpZ2hsaWdodGVkSXRlbXMgPSBzaWduYWw8QXJkT3B0aW9uW10+KFtdKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9oaWdobGlnaHRlZEdyb3VwcyA9IHNpZ25hbDxBcmRPcHRpb25Hcm91cFtdPihbXSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVjZW50bHlIaWdobGlnaHRlZEl0ZW0gPSBzaWduYWw8TnVsbGFibGU8QXJkT3B0aW9uPj4odW5kZWZpbmVkKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZEl0ZW1zID0gc2lnbmFsPEFyZE9wdGlvbltdPihbXSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2FyZFBhcmVudENvbXA6IEl0ZW1TdG9yYWdlSG9zdCkge31cclxuXHJcbiAgcmVhZG9ubHkgZ3JvdXBzID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIEFycmF5LmZyb20odGhpcy5fZ3JvdXBzKCkuZW50cmllcygpKVxyXG4gICAgICAubWFwKChbLCBncm91cF0pID0+IGdyb3VwKVxyXG4gICAgICAuZmlsdGVyKGdyb3VwID0+IGdyb3VwLmNoaWxkcmVuKCkubGVuZ3RoKVxyXG4gICk7XHJcbiAgcmVhZG9ubHkgaXRlbXMgPSB0aGlzLl9pdGVtcy5hc1JlYWRvbmx5KCk7XHJcbiAgcmVhZG9ubHkgZmlsdGVyZWRJdGVtcyA9IHRoaXMuX2ZpbHRlcmVkSXRlbXMuYXNSZWFkb25seSgpO1xyXG4gIHJlYWRvbmx5IGhpZ2hsaWdodGVkSXRlbXMgPSB0aGlzLl9oaWdobGlnaHRlZEl0ZW1zLmFzUmVhZG9ubHkoKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLl9hcmRQYXJlbnRDb21wLnNvcnRNdWx0aXBsZVZhbHVlcygpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zKCkuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHJldHVybiBhLmluZGV4IC0gYi5pbmRleDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcygpO1xyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IGxhc3RTZWxlY3RlZEl0ZW0gPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9maWx0ZXJlZEl0ZW1zKCkubGFzdCgxLCBpdGVtID0+ICFpdGVtLmRpc2FibGVkKCkpKTtcclxuXHJcbiAgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pdGVtc1RvVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKCkpKTtcclxuICBwcml2YXRlIF9pdGVtc1RvVmFsdWUoaXRlbXM6IEFyZE9wdGlvbltdKTogYW55W10ge1xyXG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpdGVtID0+IGl0ZW0udmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBpc05vSXRlbXNUb1NlbGVjdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2l0ZW1zKCkubGVuZ3RoID09PSB0aGlzLl9zZWxlY3RlZEl0ZW1zKCkubGVuZ3RoKTtcclxuICByZWFkb25seSBpc05vSXRlbXNGb3VuZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2ZpbHRlcmVkSXRlbXMoKS5sZW5ndGggPT09IDApO1xyXG4gIHJlYWRvbmx5IGlzQW55SXRlbVNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDApO1xyXG4gIHJlYWRvbmx5IGlzQW55SXRlbUhpZ2hsaWdodGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faGlnaGxpZ2h0ZWRJdGVtcygpLmxlbmd0aCA+IDApO1xyXG4gIHJlYWRvbmx5IGlzSXRlbUxpbWl0UmVhY2hlZCA9IGNvbXB1dGVkKFxyXG4gICAgKCkgPT5cclxuICAgICAgdGhpcy5fYXJkUGFyZW50Q29tcC5tdWx0aXNlbGVjdGFibGUoKSAmJlxyXG4gICAgICBpc0RlZmluZWQodGhpcy5fYXJkUGFyZW50Q29tcC5tYXhTZWxlY3RlZEl0ZW1zKCkpICYmXHJcbiAgICAgIHRoaXMuX2FyZFBhcmVudENvbXAubWF4U2VsZWN0ZWRJdGVtcygpISA8PSB0aGlzLnNlbGVjdGVkSXRlbXMoKS5sZW5ndGhcclxuICApO1xyXG5cclxuICBzZXRJdGVtcyhpdGVtczogYW55W10pOiB2b2lkIHtcclxuICAgIGxldCBhcmVJdGVtc1ByaW1pdGl2ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuZ3JvdXBMYWJlbEZyb20oKSAmJiB0aGlzLl9hcmRQYXJlbnRDb21wLml0ZW1zQWxyZWFkeUdyb3VwZWQoKSkge1xyXG4gICAgICBjb25zdCBuZXdJdGVtcyA9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGl0ZW1zKSB7XHJcbiAgICAgICAgbGV0IGNoaWxkcmVuOiBhbnlbXTtcclxuICAgICAgICBbY2hpbGRyZW4sIGFyZUl0ZW1zUHJpbWl0aXZlXSA9IHRoaXMuX3VuZ3JvdXBBbHJlYWR5R3JvdXBlZEl0ZW1zKGdyb3VwKTtcclxuICAgICAgICBuZXdJdGVtcy5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgICBpdGVtcyA9IG5ld0l0ZW1zO1xyXG4gICAgfVxyXG4gICAgaWYgKGFueShpdGVtcywgaXNQcmltaXRpdmUpKSB7XHJcbiAgICAgIGl0ZW1zID0gaXRlbXMubWFwKHRoaXMuX3ByaW1pdGl2ZUl0ZW1zTWFwRm4pO1xyXG4gICAgICBhcmVJdGVtc1ByaW1pdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5faXRlbXMuc2V0KFxyXG4gICAgICBpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NldEl0ZW1zTWFwRm4oaXRlbSwgaW5kZXgsIGFyZUl0ZW1zUHJpbWl0aXZlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy9hZGQgYWxsIGl0ZW1zIHRvIGZpbHRlciBhcnJheVxyXG4gICAgdGhpcy5fZmlsdGVyZWRJdGVtcy5zZXQodGhpcy5faXRlbXMoKSk7XHJcblxyXG4gICAgLy9hZGQgaXRlbXMgdG8gZ3JvdXBzXHJcbiAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xyXG5cclxuICAgIC8vd3JpdGUgdmFsdWUgaWYgaXQgd2FzXHJcbiAgICBjb25zdCB0b1dyaXRlID0gdGhpcy5fdmFsdWVUb1dyaXRlQWZ0ZXJJdGVtc0xvYWQoKTtcclxuICAgIGlmICh0b1dyaXRlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5oYW5kbGVXcml0ZVZhbHVlKHRvV3JpdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hZGRTaW5nbGVJdGVtKGl0ZW06IGFueSk6IEFyZE9wdGlvbiB7XHJcbiAgICBjb25zdCBpc0l0ZW1QcmltaXRpdmUgPSBpc1ByaW1pdGl2ZShpdGVtKTtcclxuICAgIC8vbWFwIGEgcHJpbWl0aXZlIGl0ZW0gdG8gYSB1c2FibGUgb2JqZWN0XHJcbiAgICBpZiAoaXNJdGVtUHJpbWl0aXZlKSB7XHJcbiAgICAgIGl0ZW0gPSB0aGlzLl9wcmltaXRpdmVJdGVtc01hcEZuKGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgLy9tYXAgdGhlIGl0ZW0gdG8gY3JlYXRlIGRhdGEgYmluZGluZ3NcclxuICAgIGNvbnN0IGFyZE9wdGlvbiA9IHRoaXMuX3NldEl0ZW1zTWFwRm4oaXRlbSwgKHRoaXMuX2l0ZW1zKCkubGFzdCgpPy5pbmRleCA/PyAwKSArIDEsIGlzSXRlbVByaW1pdGl2ZSk7XHJcblxyXG4gICAgLy9wdXNoIHRoZSBpdGVtIGludG8gYWxsIGl0ZW1zXHJcbiAgICB0aGlzLl9pdGVtcy51cGRhdGUodiA9PiBbLi4udiwgYXJkT3B0aW9uXSk7XHJcblxyXG4gICAgLy9hZGQgYWxsIGl0ZW1zIHRvIGZpbHRlciBhcnJheVxyXG4gICAgdGhpcy5fZmlsdGVyZWRJdGVtcy5zZXQodGhpcy5faXRlbXMoKSk7XHJcblxyXG4gICAgLy9hZGQgaXRlbSB0byBncm91cHNcclxuICAgIHRoaXMuX3BvcHVsYXRlR3JvdXBzKCk7XHJcblxyXG4gICAgcmV0dXJuIGFyZE9wdGlvbjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJpbWl0aXZlSXRlbXNNYXBGbjxUPihpdGVtOiBUKTogeyB2YWx1ZTogVCB9IHtcclxuICAgIHJldHVybiB7IHZhbHVlOiBpdGVtIH07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3VuZ3JvdXBBbHJlYWR5R3JvdXBlZEl0ZW1zPFQgZXh0ZW5kcyBvYmplY3Q+KGdyb3VwOiBUKTogW2FueVtdLCBib29sZWFuXSB7XHJcbiAgICAvL2RldGVybWluZSBncm91cEJ5IChncm91cExhYmVsKSBwYXRoXHJcbiAgICBjb25zdCBncm91cEJ5ID0gdGhpcy5fYXJkUGFyZW50Q29tcC5ncm91cExhYmVsRnJvbSgpO1xyXG5cclxuICAgIC8vZ2V0IGdyb3VwIGxhYmVsIGZyb20gb2JqZWN0XHJcbiAgICBsZXQgZ3JvdXBOYW1lOiBhbnk7XHJcbiAgICBpZiAodHlwZW9mIGdyb3VwQnkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGdyb3VwTmFtZSA9IHJlc29sdmVQYXRoKGdyb3VwLCBncm91cEJ5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGdyb3VwTmFtZSA9IGdyb3VwQnkoZ3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vZGV0ZXJtaW5lIGdyb3VwIGNoaWxkcmVuIHBhdGhcclxuICAgIGNvbnN0IGNoaWxkcmVuUGF0aCA9IHRoaXMuX2FyZFBhcmVudENvbXAuY2hpbGRyZW5Gcm9tKCk7XHJcblxyXG4gICAgLy9nZXQgZ3JvdXAgY2hpbGRyZW5cclxuICAgIGxldCBncm91cEl0ZW1zOiBhbnkgPSByZXNvbHZlUGF0aChncm91cCwgY2hpbGRyZW5QYXRoKTtcclxuXHJcbiAgICAvL3JldHVybiBlbXB0eSBhcnJheSBpZiBncm91cEl0ZW1zIGlzIG5vdCBhbiBhcnJheSBvciBpcyBlbXB0eVxyXG4gICAgaWYgKCFpc0FycmF5KGdyb3VwSXRlbXMpIHx8IGdyb3VwSXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gW1tdLCBmYWxzZV07XHJcblxyXG4gICAgLy9jaGVjayBpZiB0aGUgYXJyYXkgaXMgYW4gYXJyYXkgb2YgcHJpbWl0aXZlcywgYW5kIG1hcCBpdCBpZiBuZWVkZWRcclxuICAgIGNvbnN0IGFyZUl0ZW1zUHJpbWl0aXZlID0gZmFsc2U7XHJcbiAgICBpZiAoYW55KGdyb3VwSXRlbXMsIGlzUHJpbWl0aXZlKSkge1xyXG4gICAgICBncm91cEl0ZW1zID0gZ3JvdXBJdGVtcy5tYXAodGhpcy5fcHJpbWl0aXZlSXRlbXNNYXBGbik7XHJcbiAgICB9XHJcbiAgICAvL2FkZCBncm91cCBuYW1lIHRvIGV2ZXJ5IGNoaWxkXHJcbiAgICBncm91cEl0ZW1zID0gZ3JvdXBJdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpdGVtLiRhcmRncm91cCA9IGdyb3VwTmFtZTtcclxuICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gW2dyb3VwSXRlbXMsIGFyZUl0ZW1zUHJpbWl0aXZlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2V0SXRlbXNNYXBGbihyYXdJdGVtRGF0YTogYW55LCBpbmRleDogbnVtYmVyLCBhcmVJdGVtc1ByaW1pdGl2ZTogYm9vbGVhbik6IEFyZE9wdGlvbiB7XHJcbiAgICBpZiAoYXJlSXRlbXNQcmltaXRpdmUpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpdGVtRGF0YTogc2lnbmFsKHJhd0l0ZW1EYXRhKSxcclxuICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgdmFsdWU6IHNpZ25hbChyYXdJdGVtRGF0YS52YWx1ZSksXHJcbiAgICAgICAgbGFiZWw6IHNpZ25hbChyYXdJdGVtRGF0YS52YWx1ZT8udG9TdHJpbmc/LigpID8/IFN0cmluZyhyYXdJdGVtRGF0YS52YWx1ZSkpLFxyXG4gICAgICAgIGRpc2FibGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICAgIGhpZ2hsaWdodGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICAgIGdyb3VwOiB1bmRlZmluZWQsXHJcbiAgICAgICAgaGlnaGxpZ2h0ZWRfcmVjZW50bHk6IHNpZ25hbChmYWxzZSksXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICAvL2dldCB2YWx1ZVxyXG4gICAgY29uc3QgdmFsdWVQYXRoID0gdGhpcy5fYXJkUGFyZW50Q29tcC52YWx1ZUZyb20oKSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLmxhYmVsRnJvbSgpO1xyXG4gICAgY29uc3QgdmFsdWUgPSByZXNvbHZlUGF0aChyYXdJdGVtRGF0YSwgdmFsdWVQYXRoKTtcclxuXHJcbiAgICAvL2dldCBsYWJlbFxyXG4gICAgY29uc3QgbGFiZWxQYXRoID0gdGhpcy5fYXJkUGFyZW50Q29tcC5sYWJlbEZyb20oKSA/PyB0aGlzLl9hcmRQYXJlbnRDb21wLnZhbHVlRnJvbSgpO1xyXG4gICAgY29uc3QgbGFiZWwgPSByZXNvbHZlUGF0aChyYXdJdGVtRGF0YSwgbGFiZWxQYXRoKSA/PyB2YWx1ZTtcclxuXHJcbiAgICAvL2dldCBkaXNhYmxlZFxyXG4gICAgY29uc3QgZGlzYWJsZWRQYXRoID0gdGhpcy5fYXJkUGFyZW50Q29tcC5kaXNhYmxlZEZyb20oKTtcclxuICAgIGxldCBkaXNhYmxlZCA9IGV2YWx1YXRlKHJlc29sdmVQYXRoKHJhd0l0ZW1EYXRhLCBkaXNhYmxlZFBhdGgpKTtcclxuICAgIGlmICh0aGlzLl9hcmRQYXJlbnRDb21wLmludmVydERpc2FibGVkKCkpIHtcclxuICAgICAgZGlzYWJsZWQgPSAhZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy9nZXQgZ3JvdXBzXHJcbiAgICBsZXQgZ3JvdXA6IGFueSA9IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGdyb3VwQnkgPSB0aGlzLl9hcmRQYXJlbnRDb21wLmdyb3VwTGFiZWxGcm9tKCk7XHJcbiAgICBpZiAoZ3JvdXBCeSkge1xyXG4gICAgICBpZiAocmF3SXRlbURhdGEuJGFyZGdyb3VwKSB7XHJcbiAgICAgICAgZ3JvdXAgPSByYXdJdGVtRGF0YS4kYXJkZ3JvdXA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBncm91cEJ5ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgZ3JvdXAgPSByZXNvbHZlUGF0aChyYXdJdGVtRGF0YSwgZ3JvdXBCeSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGdyb3VwID0gZ3JvdXBCeShyYXdJdGVtRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaXRlbURhdGE6IHNpZ25hbChyYXdJdGVtRGF0YSksXHJcbiAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgdmFsdWU6IHNpZ25hbCh2YWx1ZSksXHJcbiAgICAgIGxhYmVsOiBzaWduYWwobGFiZWw/LnRvU3RyaW5nPy4oKSA/PyBTdHJpbmcobGFiZWwpKSxcclxuICAgICAgZGlzYWJsZWQ6IHNpZ25hbChkaXNhYmxlZCksXHJcbiAgICAgIGdyb3VwOiBncm91cCxcclxuICAgICAgc2VsZWN0ZWQ6IHNpZ25hbChmYWxzZSksXHJcbiAgICAgIGhpZ2hsaWdodGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICBoaWdobGlnaHRlZF9yZWNlbnRseTogc2lnbmFsKGZhbHNlKSxcclxuICAgIH07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3BvcHVsYXRlR3JvdXBzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZ3JvdXBzLnNldCh0aGlzLl9jcmVhdGVFbXB0eUdyb3VwTWFwKCkpO1xyXG5cclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9maWx0ZXJlZEl0ZW1zKCkpIHtcclxuICAgICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuaGlkZVNlbGVjdGVkKCkgJiYgaXRlbS5zZWxlY3RlZCgpKSBjb250aW51ZTtcclxuXHJcbiAgICAgIHRoaXMuX2FkZFRvR3JvdXAoaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FkZFRvR3JvdXAoaXRlbTogQXJkT3B0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBncm91cEtleSA9IGl0ZW0uZ3JvdXA7XHJcbiAgICBjb25zdCB0YXJnZXRHcm91cCA9IHRoaXMuX2dyb3VwcygpLmdldChncm91cEtleSk7XHJcbiAgICAvL2NyZWF0ZSBuZXcgZ3JvdXAgaWYgbm8gc3VjaCBncm91cCBleGlzdHNcclxuICAgIGlmICghdGFyZ2V0R3JvdXApIHtcclxuICAgICAgdGhpcy5fZ3JvdXBzLnVwZGF0ZSh2ID0+IHtcclxuICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKHYpO1xyXG4gICAgICAgIG1hcC5zZXQoZ3JvdXBLZXksIHtcclxuICAgICAgICAgIGxhYmVsOiBzaWduYWwoU3RyaW5nKGdyb3VwS2V5ID8/ICcnKSksXHJcbiAgICAgICAgICBjaGlsZHJlbjogc2lnbmFsKFtpdGVtXSksXHJcbiAgICAgICAgICBkaXNhYmxlZDogc2lnbmFsKGZhbHNlKSxcclxuICAgICAgICAgIHNlbGVjdGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICAgICAgaGlnaGxpZ2h0ZWQ6IHNpZ25hbChmYWxzZSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1hcDtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRhcmdldEdyb3VwLmNoaWxkcmVuLnVwZGF0ZSh2ID0+IFsuLi52LCBpdGVtXSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtcHR5R3JvdXBNYXAoKTogQXJkSXRlbUdyb3VwTWFwIHtcclxuICAgIHJldHVybiBuZXcgTWFwKFtcclxuICAgICAgW1xyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogc2lnbmFsKCcnKSxcclxuICAgICAgICAgIGNoaWxkcmVuOiBzaWduYWwoW10pLFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IHNpZ25hbChmYWxzZSksXHJcbiAgICAgICAgICBzZWxlY3RlZDogc2lnbmFsKGZhbHNlKSxcclxuICAgICAgICAgIGhpZ2hsaWdodGVkOiBzaWduYWwoZmFsc2UpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICBdKSBhcyBBcmRJdGVtR3JvdXBNYXA7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzV3JpdGVWYWx1ZVZhbGlkKG5nTW9kZWw6IGFueVtdKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmdNb2RlbC5ldmVyeShpdGVtID0+IHtcclxuICAgICAgaWYgKCFpc0RlZmluZWQodGhpcy5fYXJkUGFyZW50Q29tcC5jb21wYXJlV2l0aCkgJiYgaXNPYmplY3QoaXRlbSkgJiYgdGhpcy5fYXJkUGFyZW50Q29tcC52YWx1ZUZyb20oKSkge1xyXG4gICAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICAgIGBBUkQtV0Eke3RoaXMuX2FyZFBhcmVudENvbXAuX2NvbXBvbmVudElkfTA6IFt2YWx1ZUZyb21dIGNhbiBvbmx5IHBvaW50IHRvIGEgcHJvcGVydHkgb2YgYSBwcmltaXRpdmUgdHlwZS4gRGVmaW5lIFtjb21wYXJlV2l0aF0gaWYgdXNpbmcgb2JqZWN0cyBhcyBhIHZhbHVlIGlzIG5lZWRlZC5gXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWVUb1dyaXRlQWZ0ZXJJdGVtc0xvYWQgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3dhc1ZhbHVlV3JpdGVEZWZlcnJlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgaGFuZGxlV3JpdGVWYWx1ZShuZ01vZGVsOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKCFpc0FycmF5KG5nTW9kZWwpKSB7XHJcbiAgICAgIG5nTW9kZWwgPSBbbmdNb2RlbF07XHJcbiAgICB9XHJcbiAgICAvL2RlZmVyIHdyaXRpbmcgdGhlIHZhbHVlIGlmIG5vIG9wdGlvbnMgYXJlIHlldCBsb2FkZWRcclxuICAgIGlmICghdGhpcy5fd2FzVmFsdWVXcml0ZURlZmVycmVkKCkgJiYgdGhpcy5faXRlbXMoKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5fdmFsdWVUb1dyaXRlQWZ0ZXJJdGVtc0xvYWQuc2V0KG5nTW9kZWwpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbGVhckFsbFNlbGVjdGVkKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9pc1dyaXRlVmFsdWVWYWxpZChuZ01vZGVsKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0SXRlbUJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kSXRlbUJ5VmFsdWUodmFsdWUpO1xyXG5cclxuICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oaXRlbSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgQVJELVdBJHt0aGlzLl9hcmRQYXJlbnRDb21wLl9jb21wb25lbnRJZH0xOiBDb3VsZG4ndCBmaW5kIGFuIGl0ZW0gd2l0aCB2YWx1ZSAke1xyXG4gICAgICAgICAgdmFsdWU/LnRvU3RyaW5nPy4oKSB8fCBTdHJpbmcodmFsdWUpXHJcbiAgICAgICAgfSB3aGVuIHRyeWluZyB0byBzZWxlY3QgaXQuYFxyXG4gICAgICApO1xyXG4gICAgfTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IG1vZGVsVmFsdWUgb2YgbmdNb2RlbCkge1xyXG4gICAgICBzZWxlY3RJdGVtQnlWYWx1ZShtb2RlbFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZmluZEl0ZW1CeVZhbHVlKHZhbHVlVG9GaW5kOiBhbnkpOiBBcmRPcHRpb24gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IGZpbmRCeTogKGl0ZW06IEFyZE9wdGlvbikgPT4gYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLl9hcmRQYXJlbnRDb21wLmNvbXBhcmVXaXRoKCkpIHtcclxuICAgICAgZmluZEJ5ID0gaXRlbSA9PiB0aGlzLl9hcmRQYXJlbnRDb21wLmNvbXBhcmVXaXRoKCkhKHZhbHVlVG9GaW5kLCBpdGVtLnZhbHVlKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmluZEJ5ID0gaXRlbSA9PiBpdGVtLnZhbHVlKCkgPT09IHZhbHVlVG9GaW5kO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zKCkuZmluZChpdGVtID0+IGZpbmRCeShpdGVtKSk7XHJcbiAgfVxyXG4gIGFzeW5jIGFkZEN1c3RvbU9wdGlvbih2YWx1ZTogc3RyaW5nLCBmbjogQWRkQ3VzdG9tRm48YW55PiB8IEFkZEN1c3RvbUZuPFByb21pc2U8YW55Pj4pOiBQcm9taXNlPEFyZE9wdGlvbiB8IG51bGw+IHtcclxuICAgIGNvbnN0IGZuUmVzdWx0ID0gZm4odmFsdWUpO1xyXG5cclxuICAgIGxldCBvcHRpb25WYWx1ZSA9IGZuUmVzdWx0O1xyXG4gICAgaWYgKGlzUHJvbWlzZShvcHRpb25WYWx1ZSkpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBvcHRpb25WYWx1ZSA9IGF3YWl0IG9wdGlvblZhbHVlO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBgQVJELU5GJHt0aGlzLl9hcmRQYXJlbnRDb21wLl9jb21wb25lbnRJZH0yOiBGYWlsZWQgdG8gYWRkIGEgY3VzdG9tIG9wdGlvbi4gVGhlIHByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcjpgLFxyXG4gICAgICAgICAgZXJyb3JcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3T3B0aW9uT2JqID0gdGhpcy5fYWRkU2luZ2xlSXRlbShvcHRpb25WYWx1ZSk7XHJcbiAgICByZXR1cm4gbmV3T3B0aW9uT2JqO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGxTZWxlY3RlZChyZXBvcHVsYXRlR3JvdXBzID0gZmFsc2UpOiBhbnlbXSB7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fc2VsZWN0ZWRJdGVtcygpKSB7XHJcbiAgICAgIGl0ZW0uc2VsZWN0ZWQuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlbW92ZWRJdGVtVmFsdWVzID0gdGhpcy5faXRlbXNUb1ZhbHVlKHRoaXMuX3NlbGVjdGVkSXRlbXMoKSk7XHJcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zLnNldChbXSk7XHJcblxyXG4gICAgaWYgKHJlcG9wdWxhdGVHcm91cHMgJiYgdGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSkgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcclxuXHJcbiAgICByZXR1cm4gcmVtb3ZlZEl0ZW1WYWx1ZXM7XHJcbiAgfVxyXG4gIGNsZWFyTGFzdFNlbGVjdGVkKCk6IEFyZE9wdGlvbiB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5fc2VsZWN0ZWRJdGVtcygpLmxhc3QoKTtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuIGl0ZW07XHJcbiAgICB0aGlzLnVuc2VsZWN0SXRlbShpdGVtKTtcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxuICBzZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25bXSk6IFthbnlbXSwgYW55W10sIGFueVtdXSB7XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1MaW1pdFJlYWNoZWQoKSkge1xyXG4gICAgICByZXR1cm4gW1tdLCBbXSwgdGhpcy5faXRlbXNUb1ZhbHVlKGl0ZW1zKV07XHJcbiAgICB9XHJcbiAgICBsZXQgdW5zZWxlY3RlZCA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLl9hcmRQYXJlbnRDb21wLm11bHRpc2VsZWN0YWJsZSgpKSB7XHJcbiAgICAgIHVuc2VsZWN0ZWQgPSB0aGlzLmNsZWFyQWxsU2VsZWN0ZWQoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpdGVtc1NlbGVjdGVkQ291bnQgPSAwO1xyXG4gICAgY29uc3QgaXRlbXNTZWxlY3RlZCA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgIGl0ZW1zU2VsZWN0ZWRDb3VudCsrO1xyXG4gICAgICBpZiAoaXRlbS5zZWxlY3RlZCgpKSBjb250aW51ZTtcclxuICAgICAgaWYgKHRoaXMuaXNJdGVtTGltaXRSZWFjaGVkKCkpIHtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBpdGVtLnNlbGVjdGVkLnNldCh0cnVlKTtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy51cGRhdGUodiA9PiBbLi4udiwgaXRlbV0pO1xyXG4gICAgICBpdGVtc1NlbGVjdGVkLnB1c2goaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuaGlkZVNlbGVjdGVkKCkpIHtcclxuICAgICAgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpdGVtc0ZhaWxlZFRvU2VsZWN0ID0gaXRlbXMuc2xpY2UoaXRlbXNTZWxlY3RlZENvdW50IC0gMSk7XHJcbiAgICByZXR1cm4gW3RoaXMuX2l0ZW1zVG9WYWx1ZShpdGVtc1NlbGVjdGVkKSwgdW5zZWxlY3RlZCwgdGhpcy5faXRlbXNUb1ZhbHVlKGl0ZW1zRmFpbGVkVG9TZWxlY3QpXTtcclxuICB9XHJcbiAgdW5zZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25bXSk6IGFueVtdIHtcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICBpZiAoIWl0ZW0uc2VsZWN0ZWQoKSkgY29udGludWU7XHJcbiAgICAgIGl0ZW0uc2VsZWN0ZWQuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMudXBkYXRlKHYgPT4gdi5maWx0ZXIodiA9PiB2LnNlbGVjdGVkKCkpKTtcclxuXHJcbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSkge1xyXG4gICAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9pdGVtc1RvVmFsdWUoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGxIaWdobGlnaHRzKCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMoKSkge1xyXG4gICAgICBpdGVtLmhpZ2hsaWdodGVkLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIHRoaXMuX2hpZ2hsaWdodGVkR3JvdXBzKCkpIHtcclxuICAgICAgZ3JvdXAuaGlnaGxpZ2h0ZWQuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMuc2V0KFtdKTtcclxuICAgIHRoaXMuX2hpZ2hsaWdodGVkR3JvdXBzLnNldChbXSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodEdyb3VwKGdyb3VwOiBBcmRPcHRpb25Hcm91cCk6IEFyZE9wdGlvbiB7XHJcbiAgICB0aGlzLmNsZWFyQWxsSGlnaGxpZ2h0cygpO1xyXG4gICAgZ3JvdXAuaGlnaGxpZ2h0ZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5oaWdobGlnaHRJdGVtKC4uLmdyb3VwLmNoaWxkcmVuKCkpO1xyXG4gICAgcmV0dXJuIGdyb3VwLmNoaWxkcmVuKCkuZmlyc3QoKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0U2luZ2xlSXRlbShpdGVtOiBBcmRPcHRpb24pOiBBcmRPcHRpb24gfCBudWxsIHtcclxuICAgIGlmICghaXRlbSB8fCBpdGVtLmRpc2FibGVkKCkpIHJldHVybiBudWxsO1xyXG4gICAgdGhpcy5jbGVhckFsbEhpZ2hsaWdodHMoKTtcclxuICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodEl0ZW0oaXRlbSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvbltdKTogQXJkT3B0aW9uIHtcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICBpdGVtLmhpZ2hsaWdodGVkLnNldCh0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2hpZ2hsaWdodGVkSXRlbXMudXBkYXRlKHYgPT4gWy4uLnYsIC4uLml0ZW1zXSk7XHJcbiAgICByZXR1cm4gaXRlbXMubGFzdCgpO1xyXG4gIH1cclxuICB1bmhpZ2hsaWdodEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvbltdKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKCFpdGVtIHx8ICFpdGVtLmhpZ2hsaWdodGVkKSByZXR1cm47XHJcblxyXG4gICAgICBpdGVtLmhpZ2hsaWdodGVkLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9oaWdobGlnaHRlZEl0ZW1zLnVwZGF0ZSh2ID0+IHYuZmlsdGVyKHYgPT4gdi5oaWdobGlnaHRlZCgpKSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodEZpcnN0SXRlbSgpOiBBcmRPcHRpb24gfCBudWxsIHtcclxuICAgIHRoaXMuY2xlYXJBbGxIaWdobGlnaHRzKCk7XHJcbiAgICBjb25zdCBpdGVtc1RvSGlnaGxpZ2h0ID0gdGhpcy5fZ2V0SGlnbGlnaHRhYmxlSXRlbXMoKTtcclxuICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodFNpbmdsZUl0ZW0oaXRlbXNUb0hpZ2hsaWdodC5maXJzdCgpKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0TGFzdEl0ZW0oKTogQXJkT3B0aW9uIHwgbnVsbCB7XHJcbiAgICB0aGlzLmNsZWFyQWxsSGlnaGxpZ2h0cygpO1xyXG4gICAgY29uc3QgaXRlbXNUb0hpZ2hsaWdodCA9IHRoaXMuX2dldEhpZ2xpZ2h0YWJsZUl0ZW1zKCk7XHJcbiAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRTaW5nbGVJdGVtKGl0ZW1zVG9IaWdobGlnaHQubGFzdCgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0SGlnbGlnaHRhYmxlSXRlbXMoKTogQXJkT3B0aW9uW10ge1xyXG4gICAgbGV0IGl0ZW1zVG9IaWdobGlnaHQgPSB0aGlzLl9maWx0ZXJlZEl0ZW1zKCkuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uZGlzYWJsZWQoKSk7XHJcbiAgICBpZiAodGhpcy5fYXJkUGFyZW50Q29tcC5oaWRlU2VsZWN0ZWQoKSkge1xyXG4gICAgICBpdGVtc1RvSGlnaGxpZ2h0ID0gaXRlbXNUb0hpZ2hsaWdodC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zZWxlY3RlZCgpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtc1RvSGlnaGxpZ2h0O1xyXG4gIH1cclxuICBoaWdobGlnaHRBbGxJdGVtcygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlnaGxpZ2h0SXRlbSguLi50aGlzLl9nZXRIaWdsaWdodGFibGVJdGVtcygpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xlYXJSZWNlbnRseUhpZ2hsaWdodGVkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3JlY2VudGx5SGlnaGxpZ2h0ZWRJdGVtKCkpIHtcclxuICAgICAgdGhpcy5fcmVjZW50bHlIaWdobGlnaHRlZEl0ZW0oKSEuaGlnaGxpZ2h0ZWRfcmVjZW50bHkuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0UmVjZW50bHlIaWdobGlnaHRlZChpdGVtOiBBcmRPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuX2NsZWFyUmVjZW50bHlIaWdobGlnaHRlZCgpO1xyXG4gICAgaXRlbS5oaWdobGlnaHRlZF9yZWNlbnRseS5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9yZWNlbnRseUhpZ2hsaWdodGVkSXRlbS5zZXQoaXRlbSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodE5leHRJdGVtKG9mZnNldDogbnVtYmVyLCBoYXNTaGlmdD86IGJvb2xlYW4pOiBBcmRPcHRpb24gfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5pc0FueUl0ZW1IaWdobGlnaHRlZCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmhpZ2hsaWdodGVkSXRlbXMoKS5sYXN0KCk7XHJcbiAgICBjb25zdCBoaWdobGlnaHRhYmxlSXRlbXMgPSB0aGlzLl9nZXRIaWdsaWdodGFibGVJdGVtcygpO1xyXG4gICAgY29uc3QgY3VycmVudEluZGV4SW5GaWx0ZXJlZCA9IGhpZ2hsaWdodGFibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmluZGV4ID09PSBjdXJyZW50SXRlbS5pbmRleCk7XHJcblxyXG4gICAgbGV0IG5leHRJdGVtSW5kZXggPSBjdXJyZW50SW5kZXhJbkZpbHRlcmVkICsgb2Zmc2V0O1xyXG4gICAgaWYgKG5leHRJdGVtSW5kZXggPj0gaGlnaGxpZ2h0YWJsZUl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICBuZXh0SXRlbUluZGV4IC09IGhpZ2hsaWdodGFibGVJdGVtcy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBpZiAobmV4dEl0ZW1JbmRleCA8IDApIHtcclxuICAgICAgbmV4dEl0ZW1JbmRleCArPSBoaWdobGlnaHRhYmxlSXRlbXMubGVuZ3RoO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbVRvSGlnaGxpZ2h0ID0gaGlnaGxpZ2h0YWJsZUl0ZW1zW25leHRJdGVtSW5kZXhdO1xyXG5cclxuICAgIGlmIChoYXNTaGlmdCAmJiB0aGlzLl9hcmRQYXJlbnRDb21wLm11bHRpc2VsZWN0YWJsZSgpKSB7XHJcbiAgICAgIGlmIChpdGVtVG9IaWdobGlnaHQuaGlnaGxpZ2h0ZWQoKSkge1xyXG4gICAgICAgIHRoaXMudW5oaWdobGlnaHRJdGVtKGN1cnJlbnRJdGVtKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRJdGVtKGl0ZW1Ub0hpZ2hsaWdodCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRTaW5nbGVJdGVtKGl0ZW1Ub0hpZ2hsaWdodCk7XHJcbiAgfVxyXG4gIGZpbHRlcihmaWx0ZXJUZXJtOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICBpZiAoIWZpbHRlclRlcm0pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zVG9WYWx1ZSh0aGlzLnJlc2V0RmlsdGVyZWQoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX2FyZFBhcmVudENvbXAuc2VhcmNoQ2FzZVNlbnNpdGl2ZSgpKSB7XHJcbiAgICAgIGZpbHRlclRlcm0gPSBmaWx0ZXJUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoRm4gPSB0aGlzLl9hcmRQYXJlbnRDb21wLnNlYXJjaEZuKCk7XHJcbiAgICBjb25zdCBuZXdGaWx0ZXJlZEl0ZW1zID0gdGhpcy5faXRlbXMoKS5maWx0ZXIoaXRlbSA9PiBzZWFyY2hGbihmaWx0ZXJUZXJtLCBpdGVtKSk7XHJcbiAgICB0aGlzLl9maWx0ZXJlZEl0ZW1zLnNldChuZXdGaWx0ZXJlZEl0ZW1zKTtcclxuXHJcbiAgICB0aGlzLl9wb3B1bGF0ZUdyb3VwcygpO1xyXG5cclxuICAgIGlmICghdGhpcy5pc05vSXRlbXNGb3VuZCkgdGhpcy5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcclxuICAgIGVsc2UgdGhpcy5jbGVhckFsbEhpZ2hsaWdodHMoKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXNUb1ZhbHVlKG5ld0ZpbHRlcmVkSXRlbXMpO1xyXG4gIH1cclxuICByZXNldEZpbHRlcmVkKCk6IEFyZE9wdGlvbltdIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXJlZEl0ZW1zKCkubGVuZ3RoID09PSB0aGlzLl9pdGVtcygpLmxlbmd0aCkgcmV0dXJuIHRoaXMuX2l0ZW1zKCk7XHJcblxyXG4gICAgbGV0IG5ld0ZpbHRlcmVkSXRlbXMgPSB0aGlzLl9pdGVtcygpO1xyXG4gICAgaWYgKHRoaXMuX2FyZFBhcmVudENvbXAuaGlkZVNlbGVjdGVkKCkgJiYgdGhpcy5pc0FueUl0ZW1TZWxlY3RlZCgpKSB7XHJcbiAgICAgIG5ld0ZpbHRlcmVkSXRlbXMgPSBuZXdGaWx0ZXJlZEl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLnNlbGVjdGVkKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcG9wdWxhdGVHcm91cHMoKTtcclxuICAgIHJldHVybiBuZXdGaWx0ZXJlZEl0ZW1zO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import { _FocusableComponentBase, _focusableComponentDefaults } from './focusable-component';
3
3
  import * as i0 from "@angular/core";
4
- export const _ngModelComponentDefaults = _focusableComponentDefaults;
4
+ export const _ngModelComponentDefaults = {
5
+ ..._focusableComponentDefaults,
6
+ required: undefined,
7
+ };
5
8
  /**
6
9
  * Common code for components which implement the ControlValueAccessor.
7
10
  *
@@ -40,4 +43,4 @@ export class _NgModelComponentBase extends _FocusableComponentBase {
40
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _NgModelComponentBase, decorators: [{
41
44
  type: Directive
42
45
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdtb2RlbC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBK0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJMUgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQThCLDJCQUEyQixDQUFDO0FBRWhHOzs7O0dBSUc7QUFFSCxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLHVCQUF1QjtJQU16RTs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLEVBQW9CO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFnQkQsa0JBQWtCO0lBQ1QsTUFBTSxDQUFDLEtBQWlCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztJQUNoQyxDQUFDOytHQTlDbUIscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgX0ZvY3VzYWJsZUNvbXBvbmVudEJhc2UsIF9mb2N1c2FibGVDb21wb25lbnREZWZhdWx0cywgX0ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9mb2N1c2FibGUtY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIGV4dGVuZHMgX0ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzIHt9XG5cbmV4cG9ydCBjb25zdCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzOiBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzID0gX2ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzO1xuXG4vKipcbiAqIENvbW1vbiBjb2RlIGZvciBjb21wb25lbnRzIHdoaWNoIGltcGxlbWVudCB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gKlxuICogKipXYXJuaW5nKio6IGB3cml0ZVZhbHVlYCBmdW5jdGlvbiBzaG91bGQgYmUgaW1wbGVtZW50ZWQgb24gdGhlIGNoaWxkIGNvbXBvbmVudCFcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX05nTW9kZWxDb21wb25lbnRCYXNlIGV4dGVuZHMgX0ZvY3VzYWJsZUNvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzO1xuXG4gIC8vISBjb250cm9sIHZhbHVlIGFjY2Vzc29yXG4gIHByb3RlY3RlZCBfb25DaGFuZ2VSZWdpc3RlcmVkITogKF86IGFueSkgPT4gdm9pZDtcbiAgcHJvdGVjdGVkIF9vblRvdWNoZWRSZWdpc3RlcmVkITogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIHRvIGhhbmRsZSB0b3VjaGVkIHN0YXRlLiBSZXF1aXJlZCBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQHBhcmFtIGZuIFRoZSBmdW5jdGlvbiB0byByZWdpc3Rlci5cbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZCA9IGZuO1xuICB9XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBmdW5jdGlvbiB0byBoYW5kbGUgdmFsdWUgY2hhbmdlLiBSZXF1aXJlZCBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQHBhcmFtIGZuIFRoZSBmdW5jdGlvbiB0byByZWdpc3Rlci5cbiAgICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQgPSBmbjtcbiAgfVxuICAvKipcbiAgICogU2V0cyB0aGUgY29tcG9uZW50J3MgZGlzYWJsZWQgc3RhdGUuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gaXNEaXNhYmxlZCB0aGUgbmV3IGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBhIG5ldyB2YWx1ZSBpbnRvIHRoZSBjb21wb25lbnQuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHYgVGhlIG5ldyB2YWx1ZSB0byB3cml0ZS5cbiAgICovXG4gIGFic3RyYWN0IHdyaXRlVmFsdWUodjogYW55KTogdm9pZDsgLy8qIGFic3RyYWN0XG5cbiAgLyoqXG4gICAqIFdyaXRlcyB0aGUgYSBuZXcgdmFsdWUgaW50byB0aGUgY29tcG9uZW50LiBSZXF1aXJlZCBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB2IFRoZSBuZXcgdmFsdWUgdG8gd3JpdGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2VtaXRDaGFuZ2UoKTogdm9pZDsgLy8qIGFic3RyYWN0XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XG4gIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdtb2RlbC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBK0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNMUgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQThCO0lBQ2xFLEdBQUcsMkJBQTJCO0lBQzlCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRjs7OztHQUlHO0FBRUgsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSx1QkFBdUI7SUFNekU7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBZ0JELGtCQUFrQjtJQUNULE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQzsrR0E5Q21CLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUQxQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBfRm9jdXNhYmxlQ29tcG9uZW50QmFzZSwgX2ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzLCBfRm9jdXNhYmxlQ29tcG9uZW50RGVmYXVsdHMgfSBmcm9tICcuL2ZvY3VzYWJsZS1jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIGV4dGVuZHMgX0ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzIHtcclxuICByZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IF9uZ01vZGVsQ29tcG9uZW50RGVmYXVsdHM6IF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMgPSB7XHJcbiAgLi4uX2ZvY3VzYWJsZUNvbXBvbmVudERlZmF1bHRzLFxyXG4gIHJlcXVpcmVkOiB1bmRlZmluZWQsXHJcbn07XHJcblxyXG4vKipcclxuICogQ29tbW9uIGNvZGUgZm9yIGNvbXBvbmVudHMgd2hpY2ggaW1wbGVtZW50IHRoZSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICpcclxuICogKipXYXJuaW5nKio6IGB3cml0ZVZhbHVlYCBmdW5jdGlvbiBzaG91bGQgYmUgaW1wbGVtZW50ZWQgb24gdGhlIGNoaWxkIGNvbXBvbmVudCFcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX05nTW9kZWxDb21wb25lbnRCYXNlIGV4dGVuZHMgX0ZvY3VzYWJsZUNvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHM7XHJcblxyXG4gIC8vISBjb250cm9sIHZhbHVlIGFjY2Vzc29yXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZVJlZ2lzdGVyZWQhOiAoXzogYW55KSA9PiB2b2lkO1xyXG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkUmVnaXN0ZXJlZCE6ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoZWQgc3RhdGUuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAqIEBwYXJhbSBmbiBUaGUgZnVuY3Rpb24gdG8gcmVnaXN0ZXIuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZFJlZ2lzdGVyZWQgPSBmbjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gdG8gaGFuZGxlIHZhbHVlIGNoYW5nZS4gUmVxdWlyZWQgYnkgQ29udHJvbFZhbHVlQWNjZXNzb3IuXHJcbiAgICogQHBhcmFtIGZuIFRoZSBmdW5jdGlvbiB0byByZWdpc3Rlci5cclxuICAgKi9cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQgPSBmbjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgY29tcG9uZW50J3MgZGlzYWJsZWQgc3RhdGUuIFJlcXVpcmVkIGJ5IENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIHRoZSBuZXcgZGlzYWJsZWQgc3RhdGUuXHJcbiAgICovXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdyaXRlcyB0aGUgYSBuZXcgdmFsdWUgaW50byB0aGUgY29tcG9uZW50LiBSZXF1aXJlZCBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgKiBAYWJzdHJhY3RcclxuICAgKiBAcGFyYW0gdiBUaGUgbmV3IHZhbHVlIHRvIHdyaXRlLlxyXG4gICAqL1xyXG4gIGFic3RyYWN0IHdyaXRlVmFsdWUodjogYW55KTogdm9pZDsgLy8qIGFic3RyYWN0XHJcblxyXG4gIC8qKlxyXG4gICAqIFdyaXRlcyB0aGUgYSBuZXcgdmFsdWUgaW50byB0aGUgY29tcG9uZW50LiBSZXF1aXJlZCBieSBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgKiBAYWJzdHJhY3RcclxuICAgKiBAcGFyYW0gdiBUaGUgbmV3IHZhbHVlIHRvIHdyaXRlLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENoYW5nZSgpOiB2b2lkOyAvLyogYWJzdHJhY3RcclxuXHJcbiAgLy8hIGV2ZW50IGhhbmRsZXJzXHJcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XHJcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFyZEZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIHt9XHJcbiJdfQ==
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
54
54
  type: Inject,
55
55
  args: [ARD_CHECKBOX_DEFAULTS]
56
56
  }] }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBZ0JqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBRWhFLFlBQTJDLFFBQTZCO1FBQ3RFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdULFdBQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFcEMsY0FBYztRQUNMLFVBQUssR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsb0JBQWUsR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFOUUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDakMsQ0FBQyxhQUFhLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzFILENBQUM7UUFTTyxVQUFLLEdBQUcsS0FBSyxDQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFuQmhFLENBQUM7SUFZRCw4REFBOEQ7SUFDOUQsSUFBYSxTQUFTLENBQUMsQ0FBTTtRQUMzQixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBSUQsZ0JBQWdCO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLFFBQVEsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBbkNVLHVCQUF1QixrQkFFZCxxQkFBcUI7bUdBRjlCLHVCQUF1Qix1bEJBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3BCSCw0akJBa0JBOzs0RkRJYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBSVksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBTaW1wbGVDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XG5pbXBvcnQgeyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgfSBmcm9tICcuLy4uL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBUkRfQ0hFQ0tCT1hfREVGQVVMVFMsIEFyZENoZWNrYm94RGVmYXVsdHMgfSBmcm9tICcuL2NoZWNrYm94LmRlZmF1bHRzJztcbmltcG9ydCB7IENoZWNrYm94U3RhdGUgfSBmcm9tICcuL2NoZWNrYm94LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRDaGVja2JveERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9DSEVDS0JPWF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZENoZWNrYm94RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSBjb2xvciA9IGlucHV0PFNpbXBsZUNvbXBvbmVudENvbG9yPih0aGlzLl9ERUZBVUxUUy5jb2xvcik7XG4gIHJlYWRvbmx5IHVuc2VsZWN0ZWRDb2xvciA9IGlucHV0PFNpbXBsZUNvbXBvbmVudENvbG9yPih0aGlzLl9ERUZBVUxUUy51bnNlbGVjdGVkQ29sb3IpO1xuXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC11bnNlbGVjdGVkLWNvbG9yLSR7dGhpcy51bnNlbGVjdGVkQ29sb3IoKX1gLCBgYXJkLWNoZWNrYm94LSR7dGhpcy5zdGF0ZSgpfWBdLmpvaW4oJyAnKVxuICApO1xuXG4gIC8vb3ZlcnJpZGUgdGhlIFwic2VsZWN0ZWRcIiBzZXR0ZXIsIHNvIGl0IGNoYW5nZXMgdGhlIHN0YXRlIHRvby5cbiAgb3ZlcnJpZGUgc2V0IF9zZWxlY3RlZCh2OiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcbiAgICB0aGlzLnNlbGVjdGVkLnNldChzZWxlY3RlZCk7XG4gICAgdGhpcy5zdGF0ZS5zZXQoc2VsZWN0ZWQgPyBDaGVja2JveFN0YXRlLlNlbGVjdGVkIDogQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHN0YXRlID0gbW9kZWw8Q2hlY2tib3hTdGF0ZT4oQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcblxuICAvLyEgY2xpY2sgYWN0aW9uXG4gIHRvZ2dsZVN0YXRlKCkge1xuICAgIGxldCBuZXdTdGF0ZTogQ2hlY2tib3hTdGF0ZSA9IENoZWNrYm94U3RhdGUuVW5zZWxlY3RlZDtcbiAgICBpZiAodGhpcy5zdGF0ZSgpID09PSBDaGVja2JveFN0YXRlLlVuc2VsZWN0ZWQpIHtcbiAgICAgIG5ld1N0YXRlID0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZDtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZS5zZXQobmV3U3RhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZCk7XG5cbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJhcmQtY2hlY2tib3hcIlxuICByb2xlPVwiY2hlY2tib3hcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgW2lkXT1cImh0bWxJZCgpXCJcbiAgW2FyaWFDaGVja2VkXT1cInNlbGVjdGVkKClcIlxuICBbdGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbiAgKGNsaWNrKT1cInRvZ2dsZVN0YXRlKClcIlxuICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1jaGVja2JveC1pY29uIGFyZC1pY29uLWZvci1zZWxlY3RlZFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXJkLWNoZWNrYm94LWljb24gYXJkLWljb24tZm9yLWluZGV0ZXJtaW5hdGVcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1jaGVja2JveC1pY29uIGFyZC1pY29uLWZvci11bnNlbGVjdGVkXCI+PC9kaXY+XG48L2J1dHRvbj5cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBZ0JqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBRWhFLFlBQTJDLFFBQTZCO1FBQ3RFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdULFdBQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFcEMsY0FBYztRQUNMLFVBQUssR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsb0JBQWUsR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFOUUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDakMsQ0FBQyxhQUFhLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzFILENBQUM7UUFTTyxVQUFLLEdBQUcsS0FBSyxDQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFuQmhFLENBQUM7SUFZRCw4REFBOEQ7SUFDOUQsSUFBYSxTQUFTLENBQUMsQ0FBTTtRQUMzQixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBSUQsZ0JBQWdCO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLFFBQVEsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBbkNVLHVCQUF1QixrQkFFZCxxQkFBcUI7bUdBRjlCLHVCQUF1Qix1bEJBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3BCSCw0akJBa0JBOzs0RkRJYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBSVksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBTaW1wbGVDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XHJcbmltcG9ydCB7IF9Cb29sZWFuQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vLi4vX2ludGVybmFsL2Jvb2xlYW4tY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVJEX0NIRUNLQk9YX0RFRkFVTFRTLCBBcmRDaGVja2JveERlZmF1bHRzIH0gZnJvbSAnLi9jaGVja2JveC5kZWZhdWx0cyc7XHJcbmltcG9ydCB7IENoZWNrYm94U3RhdGUgfSBmcm9tICcuL2NoZWNrYm94LnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUNoZWNrYm94Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIF9Cb29sZWFuQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkQ2hlY2tib3hEZWZhdWx0cztcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9DSEVDS0JPWF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZENoZWNrYm94RGVmYXVsdHMpIHtcclxuICAgIHN1cGVyKGRlZmF1bHRzKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGh0bWxJZCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8U2ltcGxlQ29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuICByZWFkb25seSB1bnNlbGVjdGVkQ29sb3IgPSBpbnB1dDxTaW1wbGVDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMudW5zZWxlY3RlZENvbG9yKTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtdW5zZWxlY3RlZC1jb2xvci0ke3RoaXMudW5zZWxlY3RlZENvbG9yKCl9YCwgYGFyZC1jaGVja2JveC0ke3RoaXMuc3RhdGUoKX1gXS5qb2luKCcgJylcclxuICApO1xyXG5cclxuICAvL292ZXJyaWRlIHRoZSBcInNlbGVjdGVkXCIgc2V0dGVyLCBzbyBpdCBjaGFuZ2VzIHRoZSBzdGF0ZSB0b28uXHJcbiAgb3ZlcnJpZGUgc2V0IF9zZWxlY3RlZCh2OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5zdGF0ZS5zZXQoc2VsZWN0ZWQgPyBDaGVja2JveFN0YXRlLlNlbGVjdGVkIDogQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHN0YXRlID0gbW9kZWw8Q2hlY2tib3hTdGF0ZT4oQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuXHJcbiAgLy8hIGNsaWNrIGFjdGlvblxyXG4gIHRvZ2dsZVN0YXRlKCkge1xyXG4gICAgbGV0IG5ld1N0YXRlOiBDaGVja2JveFN0YXRlID0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkO1xyXG4gICAgaWYgKHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1N0YXRlID0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUuc2V0KG5ld1N0YXRlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZCk7XHJcblxyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYXJkLWNoZWNrYm94XCJcbiAgcm9sZT1cImNoZWNrYm94XCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtpZF09XCJodG1sSWQoKVwiXG4gIFthcmlhQ2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbiAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gIChjbGljayk9XCJ0b2dnbGVTdGF0ZSgpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3Itc2VsZWN0ZWRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1jaGVja2JveC1pY29uIGFyZC1pY29uLWZvci1pbmRldGVybWluYXRlXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3ItdW5zZWxlY3RlZFwiPjwvZGl2PlxuPC9idXR0b24+XG4iXX0=
@@ -81,7 +81,7 @@ export class ArdiumFileInputComponent extends _FileInputComponentBase {
81
81
  useExisting: forwardRef(() => ArdiumFileInputComponent),
82
82
  multi: true,
83
83
  },
84
- ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
84
+ ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFileInputComponent, decorators: [{
87
87
  type: Component,
@@ -0,0 +1,17 @@
1
+ import { Component } from '@angular/core';
2
+ import { ArdiumErrorDirective } from './error.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./error.directive";
5
+ export class ArdiumErrorComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ArdiumErrorComponent, selector: "ard-error", hostDirectives: [{ directive: i1.ArdiumErrorDirective }], ngImport: i0, template: '<ng-content />', isInline: true }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumErrorComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'ard-error',
13
+ template: '<ng-content />',
14
+ hostDirectives: [{ directive: ArdiumErrorDirective }],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0IsMkdBSHJCLGdCQUFnQjs7NEZBR2Ysb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixjQUFjLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcmRpdW1FcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4vZXJyb3IuZGlyZWN0aXZlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWVycm9yJyxcclxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcclxuICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBBcmRpdW1FcnJvckRpcmVjdGl2ZSB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUVycm9yQ29tcG9uZW50IHt9XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ArdiumErrorDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ArdiumErrorDirective, isStandalone: true, selector: "[ard-error]", host: { properties: { "class.ard-error": "true" } }, ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumErrorDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[ard-error]',
11
+ standalone: true,
12
+ host: {
13
+ '[class.ard-error]': 'true',
14
+ },
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFQaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxNQUFNO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXJkLWVycm9yXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmFyZC1lcnJvcl0nOiAndHJ1ZScsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUVycm9yRGlyZWN0aXZlIHt9XHJcbiJdfQ==