@taiga-ui/legacy 4.42.0 → 4.43.0-canary.7059f3e

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 (166) hide show
  1. package/components/arrow/arrow.options.d.ts +2 -1
  2. package/components/arrow/arrow.providers.d.ts +2 -1
  3. package/components/color-selector/color-selector.options.d.ts +3 -2
  4. package/components/input-copy/input-copy.options.d.ts +2 -1
  5. package/components/input-date/input-date.component.d.ts +4 -0
  6. package/components/input-date/input-date.directive.d.ts +4 -0
  7. package/components/input-date/input-date.module.d.ts +4 -0
  8. package/components/input-date/native-date/native-date.component.d.ts +4 -0
  9. package/components/input-date-range/input-date-range.component.d.ts +4 -0
  10. package/components/input-date-range/input-date-range.directive.d.ts +4 -0
  11. package/components/input-date-range/input-date-range.module.d.ts +4 -0
  12. package/components/input-number/input-number.component.d.ts +2 -1
  13. package/components/input-number/input-number.options.d.ts +2 -1
  14. package/components/input-password/input-password.options.d.ts +2 -1
  15. package/components/input-phone/input-phone.options.d.ts +2 -1
  16. package/components/input-phone-international/input-phone-international.options.d.ts +2 -1
  17. package/components/input-tag/input-tag.component.d.ts +4 -0
  18. package/components/input-tag/input-tag.module.d.ts +4 -0
  19. package/components/input-tag/input-tag.options.d.ts +14 -1
  20. package/components/input-time/input-time.component.d.ts +4 -0
  21. package/components/input-time/input-time.directive.d.ts +4 -0
  22. package/components/input-time/input-time.module.d.ts +4 -0
  23. package/components/input-time/input-time.options.d.ts +24 -1
  24. package/components/multi-select/multi-select.options.d.ts +2 -1
  25. package/components/select/select.options.d.ts +2 -1
  26. package/components/sheet/sheet-options.d.ts +2 -1
  27. package/components/sheet/sheet-tokens.d.ts +4 -3
  28. package/components/svg/svg-options.d.ts +3 -2
  29. package/components/table-bar/table-bar.options.d.ts +3 -2
  30. package/components/tag/tag.options.d.ts +2 -1
  31. package/components/textarea/textarea.component.d.ts +4 -0
  32. package/components/textarea/textarea.directive.d.ts +4 -0
  33. package/components/textarea/textarea.module.d.ts +4 -0
  34. package/directives/textfield-controller/textfield-appearance.directive.d.ts +2 -1
  35. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +2 -1
  36. package/directives/textfield-controller/textfield-controller.provider.d.ts +2 -1
  37. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +2 -1
  38. package/directives/textfield-controller/textfield-filler.directive.d.ts +2 -1
  39. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +2 -1
  40. package/directives/textfield-controller/textfield-icon.directive.d.ts +2 -1
  41. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +2 -1
  42. package/directives/textfield-controller/textfield-postfix.directive.d.ts +2 -1
  43. package/directives/textfield-controller/textfield-prefix.directive.d.ts +2 -1
  44. package/directives/textfield-controller/textfield-size.directive.d.ts +2 -1
  45. package/directives/textfield-controller/textfield.options.d.ts +2 -1
  46. package/esm2022/components/arrow/arrow.options.mjs +6 -3
  47. package/esm2022/components/arrow/arrow.providers.mjs +6 -3
  48. package/esm2022/components/color-selector/color-selector.options.mjs +9 -7
  49. package/esm2022/components/input-copy/input-copy.options.mjs +6 -3
  50. package/esm2022/components/input-date/input-date.component.mjs +5 -1
  51. package/esm2022/components/input-date/input-date.directive.mjs +5 -1
  52. package/esm2022/components/input-date/input-date.module.mjs +5 -1
  53. package/esm2022/components/input-date/native-date/native-date.component.mjs +5 -1
  54. package/esm2022/components/input-date-range/input-date-range.component.mjs +5 -1
  55. package/esm2022/components/input-date-range/input-date-range.directive.mjs +5 -1
  56. package/esm2022/components/input-date-range/input-date-range.module.mjs +5 -1
  57. package/esm2022/components/input-number/input-number.component.mjs +4 -4
  58. package/esm2022/components/input-number/input-number.options.mjs +6 -3
  59. package/esm2022/components/input-password/input-password.options.mjs +6 -3
  60. package/esm2022/components/input-phone/input-phone.options.mjs +6 -3
  61. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +6 -3
  62. package/esm2022/components/input-tag/input-tag.component.mjs +5 -1
  63. package/esm2022/components/input-tag/input-tag.module.mjs +5 -1
  64. package/esm2022/components/input-tag/input-tag.options.mjs +14 -3
  65. package/esm2022/components/input-time/input-time.component.mjs +5 -1
  66. package/esm2022/components/input-time/input-time.directive.mjs +5 -1
  67. package/esm2022/components/input-time/input-time.module.mjs +5 -1
  68. package/esm2022/components/input-time/input-time.options.mjs +20 -4
  69. package/esm2022/components/input-year/input-year.component.mjs +1 -1
  70. package/esm2022/components/multi-select/multi-select.options.mjs +6 -3
  71. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +2 -2
  72. package/esm2022/components/select/select.options.mjs +6 -3
  73. package/esm2022/components/sheet/sheet-options.mjs +6 -4
  74. package/esm2022/components/sheet/sheet-tokens.mjs +5 -5
  75. package/esm2022/components/svg/svg-options.mjs +13 -11
  76. package/esm2022/components/table-bar/table-bar.options.mjs +9 -4
  77. package/esm2022/components/tag/tag.options.mjs +6 -3
  78. package/esm2022/components/textarea/textarea.component.mjs +5 -1
  79. package/esm2022/components/textarea/textarea.directive.mjs +5 -1
  80. package/esm2022/components/textarea/textarea.module.mjs +5 -1
  81. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +6 -4
  82. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +6 -4
  83. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +3 -4
  84. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +6 -4
  85. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +6 -4
  86. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +6 -4
  87. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +6 -4
  88. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +6 -4
  89. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +6 -4
  90. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +6 -4
  91. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +6 -4
  92. package/esm2022/directives/textfield-controller/textfield.options.mjs +6 -3
  93. package/esm2022/tokens/countries-masks.mjs +250 -248
  94. package/esm2022/tokens/focusable-item-accessor.mjs +4 -3
  95. package/esm2022/tokens/fonts-ready.mjs +5 -4
  96. package/esm2022/tokens/icons.mjs +5 -3
  97. package/esm2022/tokens/is-apple.mjs +5 -4
  98. package/esm2022/tokens/is-chromium.mjs +5 -4
  99. package/esm2022/tokens/is-firefox.mjs +6 -5
  100. package/esm2022/tokens/is-stackblitz.mjs +5 -4
  101. package/esm2022/tokens/month-formatter.mjs +3 -3
  102. package/esm2022/tokens/sanitizer.mjs +3 -3
  103. package/esm2022/tokens/textfield-appearance.mjs +5 -3
  104. package/esm2022/tokens/textfield-host.mjs +4 -3
  105. package/esm2022/tokens/touch-supported.mjs +5 -4
  106. package/esm2022/tokens/value-accessor.mjs +3 -3
  107. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +8 -4
  108. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +8 -7
  110. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +5 -3
  112. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +12 -0
  114. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +16 -0
  116. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +6 -4
  118. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +5 -3
  120. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +5 -3
  122. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +5 -3
  124. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +21 -3
  126. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +31 -4
  128. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +1 -1
  130. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +2 -2
  132. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +5 -3
  134. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-legacy-components-select.mjs +5 -3
  136. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +9 -7
  138. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-legacy-components-svg.mjs +12 -10
  140. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +8 -4
  142. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-legacy-components-tag.mjs +5 -3
  144. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +12 -0
  146. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +36 -14
  148. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-legacy-tokens.mjs +280 -262
  150. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  151. package/package.json +7 -7
  152. package/tokens/countries-masks.d.ts +2 -1
  153. package/tokens/focusable-item-accessor.d.ts +2 -1
  154. package/tokens/fonts-ready.d.ts +2 -1
  155. package/tokens/icons.d.ts +2 -1
  156. package/tokens/is-apple.d.ts +2 -1
  157. package/tokens/is-chromium.d.ts +2 -1
  158. package/tokens/is-firefox.d.ts +2 -1
  159. package/tokens/is-stackblitz.d.ts +2 -1
  160. package/tokens/month-formatter.d.ts +2 -1
  161. package/tokens/sanitizer.d.ts +2 -1
  162. package/tokens/textfield-appearance.d.ts +2 -1
  163. package/tokens/textfield-host.d.ts +2 -1
  164. package/tokens/touch-supported.d.ts +2 -1
  165. package/tokens/value-accessor.d.ts +2 -1
  166. package/utils/icons-path-factory.d.ts +1 -1
@@ -29,6 +29,10 @@ import * as i7 from "@taiga-ui/kit/components/calendar-range";
29
29
  import * as i8 from "@taiga-ui/core/components/icon";
30
30
  import * as i9 from "@taiga-ui/core/directives/appearance";
31
31
  import * as i10 from "@taiga-ui/core/directives/dropdown";
32
+ /**
33
+ * TODO(v5): delete it
34
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
35
+ */
32
36
  class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
33
37
  constructor() {
34
38
  super(...arguments);
@@ -249,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
249
253
  }], maxLength: [{
250
254
  type: Input
251
255
  }], calculateMask: [] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS9pbnB1dC1kYXRlLXJhbmdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxHQUNYLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixlQUFlLEVBQ2YsT0FBTyxHQUNWLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFD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QW1CO3NCQUR6QixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBZ0xFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7TUFTS0lUT19ERUZBVUxUX09QVElPTlN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aURhdGVNb2RlLCBUdWlEYXksIFR1aURheUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCxcbiAgICBSQU5HRV9TRVBBUkFUT1JfQ0hBUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1xuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aU1hcmtlckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0SG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUVUlfREFURV9GT1JNQVQsIFRVSV9ERUZBVUxUX0RBVEVfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1R1aURheVJhbmdlUGVyaW9kfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX0RBVEVfVEVYVFMsXG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyxcbiAgICBUVUlfTU9CSUxFX0NBTEVOREFSLFxuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVIsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICB0dWlBc0NvbnRyb2wgYXMgdHVpQXNMZWdhY3lDb250cm9sLFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9TSVpFfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHR5cGUge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHtUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS91dGlscyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWRhdGUtcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCBhcyBhbnkpLFxuICAgICAgICB0dWlBc0xlZ2FjeUNvbnRyb2woVHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyKFRVSV9EQVRFX1JBTkdFX1ZBTFVFX1RSQU5TRk9STUVSKSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnQpLFxuICAgICAgICBUVUlfTU9CSUxFX0NBTEVOREFSX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpRGF5UmFuZ2U+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVDYWxlbmRhciA9IGluamVjdChUVUlfTU9CSUxFX0NBTEVOREFSLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplID0gaW5qZWN0KFRVSV9URVhURklFTERfU0laRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmVWYWx1ZSA9IHNpZ25hbCgnJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZVRleHRzJCA9IGluamVjdChUVUlfREFURV9URVhUUyk7XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXIgPSBpbmplY3QoXG4gICAgICAgIFRVSV9EQVRFX1JBTkdFX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZUZpbGxlciQgPSB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgbWFwKChkYXRlVGV4dHMpID0+XG4gICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKFxuICAgICAgICAgICAgICAgIGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXQubW9kZV0sXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LnNlcGFyYXRvcixcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBkYXRlRm9ybWF0ID0gVFVJX0RFRkFVTFRfREFURV9GT1JNQVQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGVGb3JtYXQkID0gaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVClcbiAgICAgICAgLnBpcGUodHVpV2F0Y2godGhpcy5jZHIpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZm9ybWF0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgPSBmb3JtYXQ7XG4gICAgICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkQWN0aXZlUGVyaW9kOiBUdWlEYXlSYW5nZVBlcmlvZCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IFRVSV9GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVmYXVsdFZpZXdlZE1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluOiBUdWlEYXkgfCBudWxsID0gdGhpcy5vcHRpb25zLm1pbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heDogVHVpRGF5IHwgbnVsbCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW5MZW5ndGg6IFR1aURheUxpa2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIG9wZW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQ/LmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb21wdXRlZEV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aFxuICAgICAgICAgICAgPyB0aGlzLnRleHRmaWVsZD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXIgfHwgJydcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgbmF0aXZlVmFsdWUsIGFjdGl2ZVBlcmlvZH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChhY3RpdmVQZXJpb2QpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcoYWN0aXZlUGVyaW9kKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgPyB2YWx1ZS5nZXRGb3JtYXR0ZWREYXlSYW5nZSh0aGlzLmRhdGVGb3JtYXQubW9kZSwgdGhpcy5kYXRlRm9ybWF0LnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogbmF0aXZlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlICYmIHRoaXMuaW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc2V0KHZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSAmJiAhdGhpcy5tb2JpbGVDYWxlbmRhcikge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQZXJpb2QpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc2V0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPVxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEggJiYgIXRoaXMuYWN0aXZlUGVyaW9kXG4gICAgICAgICAgICAgICAgPyBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0Lm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGl2ZVBlcmlvZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25SYW5nZUNoYW5nZShyYW5nZTogVHVpRGF5UmFuZ2UgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuXG4gICAgICAgIGlmICghcmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc2V0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSByYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsICYmIHZhbHVlID09PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5zZXQodGhpcy52YWx1ZSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGl2ZVBlcmlvZCA9IHRoaXMuZmluZEFjdGl2ZVBlcmlvZEJ5KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlICYmICEhdGhpcy5tb2JpbGVDYWxlbmRhcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1hc2soKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVQZXJpb2RcbiAgICAgICAgICAgID8gTUFTS0lUT19ERUZBVUxUX09QVElPTlNcbiAgICAgICAgICAgIDogdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0Lm1vZGUsXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICB0aGlzLm1heCxcbiAgICAgICAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgdGhpcy5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBhY3RpdmVQZXJpb2QoKTogVHVpRGF5UmFuZ2VQZXJpb2QgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRBY3RpdmVQZXJpb2QgPz8gdGhpcy5maW5kQWN0aXZlUGVyaW9kQnkodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzaG93VmFsdWVUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiAhdGhpcy5mb2N1c2VkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVQZXJpb2Q/LmNvbnRlbnQgfHwgdGhpcy5jb21wdXRlZFZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaW5uZXJQc2V1ZG9Gb2N1c2VkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMucHNldWRvRm9jdXMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcGVuIHx8IHRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDb21wdXRlZFJhbmdlRmlsbGVyKGRhdGVGaWxsZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZVBlcmlvZCA/ICcnIDogdGhpcy5nZXREYXRlUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSWNvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmludGVyYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFjdGl2ZVpvbmUoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWZvY3VzZWQgJiZcbiAgICAgICAgICAgICF0aGlzLml0ZW1TZWxlY3RlZCAmJlxuICAgICAgICAgICAgKHRoaXMubmF0aXZlVmFsdWUoKS5sZW5ndGggPT09IERBVEVfRklMTEVSX0xFTkdUSCB8fFxuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUoKS5sZW5ndGggPT09XG4gICAgICAgICAgICAgICAgICAgIERBVEVfRklMTEVSX0xFTkdUSCArIFJBTkdFX1NFUEFSQVRPUl9DSEFSLmxlbmd0aClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gVHVpRGF5UmFuZ2Uubm9ybWFsaXplUGFyc2UoXG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSgpLFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdC5tb2RlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG5ld1ZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlOdWxsYWJsZVNhbWUob2xkVmFsdWUsIG5ld1ZhbHVlLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpdGVtU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gU3RyaW5nKGl0ZW0pID09PSB0aGlzLm5hdGl2ZVZhbHVlKCkpICE9PSAtMTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21heC1wYXJhbXMsbWF4LXBhcmFtc1xuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrKFxuICAgICAgICBkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZSxcbiAgICAgICAgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBtaW46IFR1aURheSB8IG51bGwsXG4gICAgICAgIG1heDogVHVpRGF5IHwgbnVsbCxcbiAgICAgICAgbWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICAgICAgbWF4TGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICBkYXRlU2VwYXJhdG9yLFxuICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfTU9ERV9NQVNLSVRPX0FEQVBURVJbZGF0ZUZvcm1hdF0sXG4gICAgICAgICAgICBtaW46IChtaW4gfHwgVFVJX0ZJUlNUX0RBWSkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIG1heDogKG1heCB8fCBUVUlfTEFTVF9EQVkpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICBtaW5MZW5ndGg6IG1pbkxlbmd0aCB8fCB7fSxcbiAgICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoIHx8IHt9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRlUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVGaWxsZXJ9JHtSQU5HRV9TRVBBUkFUT1JfQ0hBUn0ke2RhdGVGaWxsZXJ9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRBY3RpdmVQZXJpb2RCeSh2YWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsKTogVHVpRGF5UmFuZ2VQZXJpb2QgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZmluZCgoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICB0dWlOdWxsYWJsZVNhbWUoXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAoYSwgYikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEuZnJvbS5kYXlTYW1lKGIuZnJvbS5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgYS50by5kYXlTYW1lKGIudG8uZGF5TGltaXQodGhpcy5taW4sIHRoaXMubWF4KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkgPz8gbnVsbFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICB0dWlEcm9wZG93bk9wZW5Nb25pdG9yXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duXCJcbiAgICBbdHVpRHJvcGRvd25FbmFibGVkXT1cImludGVyYWN0aXZlXCJcbiAgICBbdHVpRHJvcGRvd25PcGVuXT1cIm9wZW4gJiYgaW50ZXJhY3RpdmVcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbiAgICAodHVpRHJvcGRvd25PcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgKnR1aUxldD1cImRhdGVGaWxsZXIkIHwgYXN5bmMgYXMgZGF0ZUZpbGxlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbWFza2l0b109XCJjb21wdXRlZE1hc2tcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJpbm5lclBzZXVkb0ZvY3VzZWRcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkRmlsbGVyXT1cImdldENvbXB1dGVkUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlciB8fCAnJylcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb24gJiYgaWNvbkNvbnRlbnRcIlxuICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXB1dGVkQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZX1cIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRlbnQ+XG4gICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNhbGVuZGFySWNvbiBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9faWNvblwiXG4gICAgICAgICAgICB0dWlBcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX3NtYWxsXT1cInNpemUgPT09ICdzJ1wiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtpY29uXT1cInNyYy50b1N0cmluZygpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkljb25DbGljaygpXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1jYWxlbmRhci1yYW5nZVxuICAgICAgICAgICAgW2RlZmF1bHRWaWV3ZWRNb250aF09XCJkZWZhdWx0Vmlld2VkTW9udGhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgW21hcmtlckhhbmRsZXJdPVwibWFya2VySGFuZGxlclwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgICBbbWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgWyhpdGVtKV09XCJzZWxlY3RlZEFjdGl2ZVBlcmlvZFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25SYW5nZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS9pbnB1dC1kYXRlLXJhbmdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxHQUNYLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixlQUFlLEVBQ2YsT0FBTyxHQUNWLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFD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O2dCQWtDbEMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBZ0xFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7TUFTS0lUT19ERUZBVUxUX09QVElPTlN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aURhdGVNb2RlLCBUdWlEYXksIFR1aURheUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCxcbiAgICBSQU5HRV9TRVBBUkFUT1JfQ0hBUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1xuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aU1hcmtlckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0SG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUVUlfREFURV9GT1JNQVQsIFRVSV9ERUZBVUxUX0RBVEVfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1R1aURheVJhbmdlUGVyaW9kfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX0RBVEVfVEVYVFMsXG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyxcbiAgICBUVUlfTU9CSUxFX0NBTEVOREFSLFxuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVIsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICB0dWlBc0NvbnRyb2wgYXMgdHVpQXNMZWdhY3lDb250cm9sLFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9TSVpFfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHR5cGUge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHtUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS91dGlscyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UgVHVpSW5wdXREYXRlUmFuZ2V9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRhdGUtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS1yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50IGFzIGFueSksXG4gICAgICAgIHR1aUFzTGVnYWN5Q29udHJvbChUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIoVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlEYXlSYW5nZT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZUNhbGVuZGFyID0gaW5qZWN0KFRVSV9NT0JJTEVfQ0FMRU5EQVIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZVZhbHVlID0gc2lnbmFsKCcnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRlVGV4dHMkID0gaW5qZWN0KFRVSV9EQVRFX1RFWFRTKTtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lciA9IGluamVjdChcbiAgICAgICAgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRlRmlsbGVyJCA9IHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICBtYXAoKGRhdGVUZXh0cykgPT5cbiAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoXG4gICAgICAgICAgICAgICAgZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdC5tb2RlXSxcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQuc2VwYXJhdG9yLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIGRhdGVGb3JtYXQgPSBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZUZvcm1hdCQgPSBpbmplY3QoVFVJX0RBVEVfRk9STUFUKVxuICAgICAgICAucGlwZSh0dWlXYXRjaCh0aGlzLmNkciksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChmb3JtYXQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IGZvcm1hdDtcbiAgICAgICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgc2VsZWN0ZWRBY3RpdmVQZXJpb2Q6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gVFVJX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWZhdWx0Vmlld2VkTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiByZWFkb25seSBUdWlEYXlSYW5nZVBlcmlvZFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW46IFR1aURheSB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4OiBUdWlEYXkgfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4TGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZD8uZm9jdXNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXB1dGVkRXhhbXBsZVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgICAgICAgICA/IHRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5wbGFjZWhvbGRlciB8fCAnJ1xuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgYWN0aXZlUGVyaW9kfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGFjdGl2ZVBlcmlvZCkge1xuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhhY3RpdmVQZXJpb2QpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICA/IHZhbHVlLmdldEZvcm1hdHRlZERheVJhbmdlKHRoaXMuZGF0ZUZvcm1hdC5tb2RlLCB0aGlzLmRhdGVGb3JtYXQuc2VwYXJhdG9yKVxuICAgICAgICAgICAgOiBuYXRpdmVWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgdGhpcy5pbnRlcmFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5zZXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLm1vYmlsZUNhbGVuZGFyKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVBlcmlvZCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5zZXQoJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9XG4gICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT09IERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCAmJiAhdGhpcy5hY3RpdmVQZXJpb2RcbiAgICAgICAgICAgICAgICA/IFR1aURheVJhbmdlLm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmRhdGVGb3JtYXQubW9kZSlcbiAgICAgICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aXZlUGVyaW9kID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblJhbmdlQ2hhbmdlKHJhbmdlOiBUdWlEYXlSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG5cbiAgICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5zZXQoJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHJhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwgJiYgdmFsdWUgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNldCh0aGlzLnZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJycpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aXZlUGVyaW9kID0gdGhpcy5maW5kQWN0aXZlUGVyaW9kQnkodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgISF0aGlzLm1vYmlsZUNhbGVuZGFyO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsZW5kYXJJY29uKCk6IFR1aUlucHV0RGF0ZU9wdGlvbnNbJ2ljb24nXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkTWFzaygpOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZVBlcmlvZFxuICAgICAgICAgICAgPyBNQVNLSVRPX0RFRkFVTFRfT1BUSU9OU1xuICAgICAgICAgICAgOiB0aGlzLmNhbGN1bGF0ZU1hc2soXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQubW9kZSxcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdC5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICAgICAgICAgICAgdGhpcy5taW5MZW5ndGgsXG4gICAgICAgICAgICAgICAgICB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFjdGl2ZVBlcmlvZCgpOiBUdWlEYXlSYW5nZVBlcmlvZCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEFjdGl2ZVBlcmlvZCA/PyB0aGlzLmZpbmRBY3RpdmVQZXJpb2RCeSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNob3dWYWx1ZVRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmICF0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZVBlcmlvZD8uY29udGVudCB8fCB0aGlzLmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpbm5lclBzZXVkb0ZvY3VzZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5wc2V1ZG9Gb2N1cyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW4gfHwgdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldENvbXB1dGVkUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlUGVyaW9kID8gJycgOiB0aGlzLmdldERhdGVSYW5nZUZpbGxlcihkYXRlRmlsbGVyKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JY29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlICYmIHRoaXMuaW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaXRlbVNlbGVjdGVkICYmXG4gICAgICAgICAgICAodGhpcy5uYXRpdmVWYWx1ZSgpLmxlbmd0aCA9PT0gREFURV9GSUxMRVJfTEVOR1RIIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSgpLmxlbmd0aCA9PT1cbiAgICAgICAgICAgICAgICAgICAgREFURV9GSUxMRVJfTEVOR1RIICsgUkFOR0VfU0VQQVJBVE9SX0NIQVIubGVuZ3RoKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZShcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlKCksXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0Lm1vZGUsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihcbiAgICAgICAgb2xkVmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCxcbiAgICAgICAgbmV3VmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZSwgbmV3VmFsdWUsIChhLCBiKSA9PiBhLmRheVNhbWUoYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGl0ZW1TZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBTdHJpbmcoaXRlbSkgPT09IHRoaXMubmF0aXZlVmFsdWUoKSkgIT09IC0xO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWF4LXBhcmFtcyxtYXgtcGFyYW1zXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2soXG4gICAgICAgIGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIG1pbjogVHVpRGF5IHwgbnVsbCxcbiAgICAgICAgbWF4OiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBtaW5MZW5ndGg6IFR1aURheUxpa2UgfCBudWxsLFxuICAgICAgICBtYXhMZW5ndGg6IFR1aURheUxpa2UgfCBudWxsLFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGRhdGVTZXBhcmF0b3IsXG4gICAgICAgICAgICBtb2RlOiBUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUltkYXRlRm9ybWF0XSxcbiAgICAgICAgICAgIG1pbjogKG1pbiB8fCBUVUlfRklSU1RfREFZKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgbWF4OiAobWF4IHx8IFRVSV9MQVNUX0RBWSkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIG1pbkxlbmd0aDogbWluTGVuZ3RoIHx8IHt9LFxuICAgICAgICAgICAgbWF4TGVuZ3RoOiBtYXhMZW5ndGggfHwge30sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERhdGVSYW5nZUZpbGxlcihkYXRlRmlsbGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7ZGF0ZUZpbGxlcn0ke1JBTkdFX1NFUEFSQVRPUl9DSEFSfSR7ZGF0ZUZpbGxlcn1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEFjdGl2ZVBlcmlvZEJ5KHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwpOiBUdWlEYXlSYW5nZVBlcmlvZCB8IG51bGwge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pdGVtcy5maW5kKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgIHR1aU51bGxhYmxlU2FtZShcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5mcm9tLmRheVNhbWUoYi5mcm9tLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhLnRvLmRheVNhbWUoYi50by5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSA/PyBudWxsXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIHR1aURyb3Bkb3duT3Blbk1vbml0b3JcbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25cIlxuICAgIFt0dWlEcm9wZG93bkVuYWJsZWRdPVwiaW50ZXJhY3RpdmVcIlxuICAgIFt0dWlEcm9wZG93bk9wZW5dPVwib3BlbiAmJiBpbnRlcmFjdGl2ZVwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuICAgICh0dWlEcm9wZG93bk9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAqdHVpTGV0PVwiZGF0ZUZpbGxlciQgfCBhc3luYyBhcyBkYXRlRmlsbGVyXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX190ZXh0ZmllbGRcIlxuICAgICAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFttYXNraXRvXT1cImNvbXB1dGVkTWFza1wiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cImlubmVyUHNldWRvRm9jdXNlZFwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRGaWxsZXJdPVwiZ2V0Q29tcHV0ZWRSYW5nZUZpbGxlcihkYXRlRmlsbGVyIHx8ICcnKVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cImNhbGVuZGFySWNvbiAmJiBpY29uQ29udGVudFwiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93VmFsdWVUZW1wbGF0ZVwiXG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29tcHV0ZWRDb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHZhbHVlfVwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uQ29udGVudD5cbiAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY2FsZW5kYXJJY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX19pY29uXCJcbiAgICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25fc21hbGxdPVwic2l6ZSA9PT0gJ3MnXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25dPVwiIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2ljb25dPVwic3JjLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKClcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICAgICAgICA8dHVpLWNhbGVuZGFyLXJhbmdlXG4gICAgICAgICAgICBbZGVmYXVsdFZpZXdlZE1vbnRoXT1cImRlZmF1bHRWaWV3ZWRNb250aFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgIFttaW5MZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbKGl0ZW0pXT1cInNlbGVjdGVkQWN0aXZlUGVyaW9kXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblJhbmdlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -2,6 +2,10 @@ import { Directive } from '@angular/core';
2
2
  import { AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
3
3
  import { tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * TODO(v5): delete it
7
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
8
+ */
5
9
  class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost {
6
10
  get value() {
7
11
  return this.host.computedValue;
@@ -29,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
33
  providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],
30
34
  }]
31
35
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBSTNELE1BS2EsMEJBQ1QsU0FBUSx3QkFBb0Q7SUFHNUQsSUFBb0IsS0FBSztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRWUsT0FBTyxDQUFDLEtBQXVCO1FBQzNDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDaEY7SUFDTCxDQUFDOytHQXBCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrQ0FGeEIsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDOztTQUVsRCwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLDRCQUE0QixDQUFDO2lCQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtEb0NoZWNrfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlBc1RleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcblxuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS1yYW5nZScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNUZXh0ZmllbGRIb3N0KFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aVRleHRmaWVsZEhvc3Q8VHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnQ+XG4gICAgaW1wbGVtZW50cyBEb0NoZWNrXG57XG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3Qub25WYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaW5wdXQuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5ob3N0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQucGxhY2Vob2xkZXIgPSB0aGlzLmhvc3QuY29tcHV0ZWRFeGFtcGxlVGV4dDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBSTNEOzs7R0FHRztBQUNILE1BS2EsMEJBQ1QsU0FBUSx3QkFBb0Q7SUFHNUQsSUFBb0IsS0FBSztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRWUsT0FBTyxDQUFDLEtBQXVCO1FBQzNDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDaEY7SUFDTCxDQUFDOytHQXBCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrQ0FGeEIsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDOztTQUVsRCwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLDRCQUE0QixDQUFDO2lCQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtEb0NoZWNrfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlBc1RleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcblxuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBUT0RPKHY1KTogZGVsZXRlIGl0XG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZSBUdWlJbnB1dERhdGVSYW5nZX0gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1kYXRlLXJhbmdlJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc1RleHRmaWVsZEhvc3QoVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmVcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpVGV4dGZpZWxkSG9zdDxUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudD5cbiAgICBpbXBsZW1lbnRzIERvQ2hlY2tcbntcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcHJvY2VzcyhpbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpbnB1dC5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG4gICAgfVxuXG4gICAgcHVibGljIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdC5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMuaG9zdC5jb21wdXRlZEV4YW1wbGVUZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -13,6 +13,10 @@ import { TuiInputDateRangeComponent } from './input-date-range.component';
13
13
  import { TuiInputDateRangeDirective } from './input-date-range.directive';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@taiga-ui/core/directives/dropdown";
16
+ /**
17
+ * TODO(v5): delete it
18
+ * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
19
+ */
16
20
  class TuiInputDateRangeModule {
17
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
22
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeModule, declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective], imports: [CommonModule,
@@ -64,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
64
68
  ],
65
69
  }]
66
70
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLHFCQUFxQixHQUN4QixNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFDSCxxQ0FBcUMsRUFDckMsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN6QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFFeEUsTUF3QmEsdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QixpQkFSakIsMEJBQTBCLEVBQUUsMEJBQTBCLGFBZGpFLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsTUFBTTtZQUNOLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHFDQUFxQztZQUNyQyxPQUFPO1lBQ1AsYUFBYSxrVkFLYiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHFCQUFxQjtnSEFJaEIsdUJBQXVCLFlBdEI1QixZQUFZO1lBS1osMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBRXRCLE9BQU87O1NBWUYsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBeEJuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsTUFBTTt3QkFDTixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixxQ0FBcUM7d0JBQ3JDLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixHQUFHLFdBQVc7cUJBQ2pCO29CQUNELFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO29CQUN0RSxPQUFPLEVBQUU7d0JBQ0wsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsR0FBRyxXQUFXO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHtUdWlMZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuaW1wb3J0IHtUdWlJY29ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUNhbGVuZGFyUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5pbXBvcnQge1xuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpTGVnYWN5RHJvcGRvd25PcGVuTW9uaXRvckRpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFR1aVZhbHVlQWNjZXNzb3JNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGV9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQ2FsZW5kYXJSYW5nZSxcbiAgICAgICAgVHVpVmFsdWVBY2Nlc3Nvck1vZHVsZSxcbiAgICAgICAgVHVpTGVnYWN5RHJvcGRvd25PcGVuTW9uaXRvckRpcmVjdGl2ZSxcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpQXBwZWFyYW5jZSxcbiAgICAgICAgLi4uVHVpRHJvcGRvd24sXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCwgVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnQsXG4gICAgICAgIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgIC4uLlR1aURyb3Bkb3duLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlTW9kdWxlIHt9XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLHFCQUFxQixHQUN4QixNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFDSCxxQ0FBcUMsRUFDckMsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN6QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFFeEU7OztHQUdHO0FBQ0gsTUF3QmEsdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QixpQkFSakIsMEJBQTBCLEVBQUUsMEJBQTBCLGFBZGpFLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsTUFBTTtZQUNOLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHFDQUFxQztZQUNyQyxPQUFPO1lBQ1AsYUFBYSxrVkFLYiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHFCQUFxQjtnSEFJaEIsdUJBQXVCLFlBdEI1QixZQUFZO1lBS1osMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBRXRCLE9BQU87O1NBWUYsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBeEJuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsTUFBTTt3QkFDTixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixxQ0FBcUM7d0JBQ3JDLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixHQUFHLFdBQVc7cUJBQ2pCO29CQUNELFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO29CQUN0RSxPQUFPLEVBQUU7d0JBQ0wsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsR0FBRyxXQUFXO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHtUdWlMZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuaW1wb3J0IHtUdWlJY29ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUNhbGVuZGFyUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5pbXBvcnQge1xuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpTGVnYWN5RHJvcGRvd25PcGVuTW9uaXRvckRpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFR1aVZhbHVlQWNjZXNzb3JNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGV9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50JztcbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlIFR1aUlucHV0RGF0ZVJhbmdlfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSBpbnN0ZWFkXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aUxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlDYWxlbmRhclJhbmdlLFxuICAgICAgICBUdWlWYWx1ZUFjY2Vzc29yTW9kdWxlLFxuICAgICAgICBUdWlMZWdhY3lEcm9wZG93bk9wZW5Nb25pdG9yRGlyZWN0aXZlLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlBcHBlYXJhbmNlLFxuICAgICAgICAuLi5UdWlEcm9wZG93bixcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50LCBUdWlJbnB1dERhdGVSYW5nZURpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlJbnB1dERhdGVSYW5nZUNvbXBvbmVudCxcbiAgICAgICAgVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgLi4uVHVpRHJvcGRvd24sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlUmFuZ2VNb2R1bGUge31cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ContentChildren, inject, Input, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, inject, InjectionToken, Input, ViewChild, } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { maskitoInitialCalibrationPlugin } from '@maskito/core';
5
5
  import { maskitoCaretGuard, maskitoNumberOptionsGenerator, maskitoParseNumber, } from '@maskito/kit';
@@ -7,7 +7,7 @@ import { CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY } from '@taiga-ui/cdk/constants';
7
7
  import { tuiWatch } from '@taiga-ui/cdk/observables';
8
8
  import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
9
9
  import { tuiClamp, tuiIsSafeToRound } from '@taiga-ui/cdk/utils/math';
10
- import { tuiCreateToken, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
10
+ import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
11
11
  import { TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
12
12
  import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
13
13
  import { AbstractTuiNullableControl, tuiAsControl } from '@taiga-ui/legacy/classes';
@@ -28,7 +28,7 @@ const DEFAULT_MAX_LENGTH = 18;
28
28
  * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead
29
29
  * TODO(v5): delete it
30
30
  */
31
- export const TUI_NUMBER_VALUE_TRANSFORMER = tuiCreateToken();
31
+ export const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');
32
32
  /**
33
33
  * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead
34
34
  * TODO(v5): delete it
@@ -281,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
281
281
  }], step: [{
282
282
  type: Input
283
283
  }], computeMin: [], computeMax: [], calculateMask: [] } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsY0FBYyxFQUFFLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVB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O0FEdVBZO0lBRFAsT0FBTzt5REFNUDtBQUdPO0lBRFAsT0FBTzt5REFNUDtBQUlPO0lBRFAsT0FBTzs0REF5Q1A7U0FqVFEsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBakJuQyxTQUFTO2lDQUNNLEtBQUssWUFDUCxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCwwQkFBMEIseUJBQXlCO3dCQUNuRCxZQUFZLHlCQUF5Qjt3QkFDckMsNkJBQTZCO3FCQUNoQyxRQUNLO3dCQUNGLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLHFCQUFxQixFQUFFLGdCQUFnQjt3QkFDdkMsbUJBQW1CLEVBQUUsZUFBZTtxQkFDdkM7OEJBT2dCLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQVN0Qix3QkFBd0I7c0JBRDFDLGVBQWU7dUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQWdCakQsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBdU5FLFVBQVUsTUFRVixVQUFVLE1BU1YsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtNYXNraXRvT3B0aW9uc30gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQge21hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW59IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHR5cGUge01hc2tpdG9OdW1iZXJQYXJhbXN9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge1xuICAgIG1hc2tpdG9DYXJldEd1YXJkLFxuICAgIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yLFxuICAgIG1hc2tpdG9QYXJzZU51bWJlcixcbn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB0eXBlIHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUywgRU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpV2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlJc1NhZmVUb1JvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlEZWNpbWFsTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVCwgVFVJX05VTUJFUl9GT1JNQVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUZvcm1hdE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7QWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsIHR1aUFzQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jbGFzc2VzJztcbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzJztcbmltcG9ydCB0eXBlIHtUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcbmltcG9ydCB7dHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHR5cGUge1R1aUlucHV0TnVtYmVyT3B0aW9uc30gZnJvbSAnLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5pbXBvcnQge1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1udW1iZXIgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJ9IChmcm9tIEB0YWlnYS11aS9raXQpIChwcm9wZXJ0eSBgdmFsdWVUcmFuc2Zvcm1lcmApIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIgPVxuICAgIHR1aUNyZWF0ZVRva2VuPFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyIHwgbnVsbD4+KCk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LW51bWJlciBUdWlJbnB1dE51bWJlcn0gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24pJzogJ29uQXJyb3coLXN0ZXApJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXApJzogJ29uQXJyb3coc3RlcCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNJT1MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplID0gaW5qZWN0KFRVSV9URVhURklFTERfU0laRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSB1bmZpbmlzaGVkVmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0LCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQ6IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXIgPSBpbmplY3Q8XG4gICAgICAgIFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyIHwgbnVsbD5cbiAgICA+KFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJvdGVjdGVkIG51bWJlckZvcm1hdCA9IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQkID0gaW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICAucGlwZSh0dWlXYXRjaCh0aGlzLmNkciksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChmb3JtYXQpID0+IHtcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0ID0gZm9ybWF0O1xuICAgICAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbjogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXg6IG51bWJlciB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQ/LmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpbnB1dE1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzTmVnYXRpdmVBbGxvd2VkXG4gICAgICAgICAgICAgICAgPyAndGV4dCcgLy8gaVBob25lIGRvZXMgbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgZXF1YWxzIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgICAgIDogJ2RlY2ltYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNhbXN1bmcgS2V5Ym9hcmQgZG9lcyBub3QgbWludXMgc2lnbiBmb3IgYGlucHV0bW9kZT1kZWNpbWFsYFxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlnYS1mYW1pbHkvdGFpZ2EtdWkvaXNzdWVzLzExMDYxI2lzc3VlY29tbWVudC0yOTM5MTAzNzkyXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gJ251bWVyaWMnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICAhIXRoaXMucHJlY2lzaW9uICYmXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBwcmVjaXNpb24gPSBkZWNpbWFsUGFydCA/IE1hdGgubWluKHRoaXMucHJlY2lzaW9uICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkID8gdGhpcy5uYXRpdmVWYWx1ZSA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UobmF0aXZlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IG1hc2tpdG9QYXJzZU51bWJlcihuYXRpdmVWYWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQpO1xuXG4gICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbnVsbDtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkVmFsdWUgPSBuYXRpdmVWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VkVmFsdWUgPCB0aGlzLmNvbXB1dGVkTWluIHx8IHBhcnNlZFZhbHVlID4gdGhpcy5jb21wdXRlZE1heCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHBhcnNlZFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGljb25zKCk6IFR1aUlucHV0TnVtYmVyT3B0aW9uc1snaWNvbnMnXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWluKHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWF4KHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRNaW4gPCAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IG51bGwgPyB0aGlzLmdldEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUgfHwgMCkgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbkRlY3JlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgKHRoaXMudmFsdWUgfHwgMCkgPiB0aGlzLmNvbXB1dGVkTWluO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FuSW5jcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAodGhpcy52YWx1ZSB8fCAwKSA8IHRoaXMuY29tcHV0ZWRNYXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZFByZWZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnByZWZpeDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkUG9zdGZpeCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7cG9zdGZpeH0gPSB0aGlzLmNvbnRyb2xsZXI7XG5cbiAgICAgICAgcmV0dXJuIHBvc3RmaXggJiYgYCAke3Bvc3RmaXh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IG1hc2soKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5wcmVjaXNpb24sXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsTW9kZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWF4LFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFByZWZpeCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQb3N0Zml4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8udmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3coc3RlcDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0dWlDbGFtcChcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIHx8IDApICsgc3RlcCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWF4LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy51bmZpbmlzaGVkVmFsdWVcbiAgICAgICAgICAgID8gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMudW5maW5pc2hlZFZhbHVlLCB0aGlzLm51bWJlckZvcm1hdClcbiAgICAgICAgICAgIDogdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIGZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbXB1dGVkUHJlZml4ICsgdGhpcy5jb21wdXRlZFBvc3RmaXhcbiAgICAgICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVOdW1iZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFByZWZpeCArXG4gICAgICAgICAgICB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBOdW1iZXIgY2FuIHNhdGlzZnkgaW50ZXJ2YWwgW051bWJlci5NSU5fU0FGRV9JTlRFR0VSOyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUl1cbiAgICAgICAgICAgICAgICAgKiBidXQgaXRzIHJvdW5kaW5nIGNhbiB2aW9sYXRlIGl0LlxuICAgICAgICAgICAgICAgICAqIEJlZm9yZSBCaWdJbnQgc3VwcG9ydCB0aGVyZSBpcyBubyBwZXJmZWN0IHNvbHV0aW9uIOKAkyBvbmx5IHRyYWRlIG9mZi5cbiAgICAgICAgICAgICAgICAgKiBObyByb3VuZGluZyBpcyBiZXR0ZXIgdGhhbiBsb3NlIHByZWNpc2lvbiBhbmQgaW5jb3JyZWN0IG11dGF0aW9uIG9mIGFscmVhZHkgdmFsaWQgdmFsdWUuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiB0dWlJc1NhZmVUb1JvdW5kKHZhbHVlLCB0aGlzLnByZWNpc2lvbilcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnByZWNpc2lvblxuICAgICAgICAgICAgICAgICAgICA6IEluZmluaXR5LFxuICAgICAgICAgICAgfSkucmVwbGFjZShDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUykgK1xuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFBvc3RmaXhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc05hdGl2ZVZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVOdW1iZXJWYWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLmNvbXB1dGVkTWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5jb21wdXRlZE1pbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMubmF0aXZlVmFsdWUsIHRoaXMubnVtYmVyRm9ybWF0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTih0aGlzLm51bWJlckZvcm1hdC5wcmVjaXNpb24pXG4gICAgICAgICAgICA/IDJcbiAgICAgICAgICAgIDogdGhpcy5udW1iZXJGb3JtYXQucHJlY2lzaW9uO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTWluKG1pbjogbnVtYmVyIHwgbnVsbCwgbWF4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1pbikgPz8gbWluID8/IHRoaXMub3B0aW9ucy5taW4sXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWF4KSA/PyBtYXggPz8gdGhpcy5vcHRpb25zLm1heCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZU1heChtaW46IG51bWJlciB8IG51bGwsIG1heDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtaW4pID8/IG1pbiA/PyB0aGlzLm9wdGlvbnMubWluLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1heCkgPz8gbWF4ID8/IHRoaXMub3B0aW9ucy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tYXgtcGFyYW1zLG1heC1wYXJhbXNcbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgcHJlY2lzaW9uOiBudW1iZXIsXG4gICAgICAgIGRlY2ltYWxNb2RlOiBUdWlEZWNpbWFsTW9kZSxcbiAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBtaW46IG51bWJlcixcbiAgICAgICAgbWF4OiBudW1iZXIsXG4gICAgICAgIHByZWZpeDogc3RyaW5nLFxuICAgICAgICBwb3N0Zml4OiBzdHJpbmcsXG4gICAgKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICBjb25zdCBwYXJhbXM6IE1hc2tpdG9OdW1iZXJQYXJhbXMgPSB7XG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICBtYXgsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBwb3N0Zml4LFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBwcmVjaXNpb24sXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyA/IHByZWNpc2lvbiA6IDAsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5vcHRpb25zfSA9IG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbiA9IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4oXG4gICAgICAgICAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgICAgICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAgICAgICAgICAgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9DYXJldEd1YXJkKCh2YWx1ZSkgPT4gW1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggLSBwb3N0Zml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgI3RleHRmaWVsZFxuICAgIHR1aVRleHRmaWVsZFBvc3RmaXg9XCJcIlxuICAgIHR1aVRleHRmaWVsZFByZWZpeD1cIlwiXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbbWFza2l0b109XCJtYXNrXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW3BzZXVkb0ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8bmctY29udGVudFxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5sZW5ndGhcIlxuICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInQtdmFsdWUtY29udGVudFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJ2YWx1ZUNvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbjxzZWN0aW9uXG4gICAgKm5nSWY9XCJzdGVwXCJcbiAgICBjbGFzcz1cInQtYnV0dG9uc1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwidGV4dGZpZWxkLmFwcGVhcmFuY2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkluY3JlbWVudFwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMudXBcIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KHN0ZXApXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgID5cbiAgICAgICAgK1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cInRleHRmaWVsZC5hcHBlYXJhbmNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5EZWNyZW1lbnRcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmRvd25cIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KC1zdGVwKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJuYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgIC1cbiAgICA8L2J1dHRvbj5cbjwvc2VjdGlvbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5jaGFuZ2VzIHwgYXN5bmNcIiAvPlxuXG48bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixrQkFBa0IsR0FDckIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTFELE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVB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QUE2QjtTQUNoQyxtRUFtQmdCLGtCQUFrQiwyRkFSeEIsOEJBQThCLHVFQzlFN0MsMjZEQXlFQTs7QUR5UFk7SUFEUCxPQUFPO3lEQU1QO0FBR087SUFEUCxPQUFPO3lEQU1QO0FBSU87SUFEUCxPQUFPOzREQXlDUDtTQWpUUSx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFqQm5DLFNBQVM7aUNBQ00sS0FBSyxZQUNQLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLDBCQUEwQix5QkFBeUI7d0JBQ25ELFlBQVkseUJBQXlCO3dCQUNyQyw2QkFBNkI7cUJBQ2hDLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIscUJBQXFCLEVBQUUsZ0JBQWdCO3dCQUN2QyxtQkFBbUIsRUFBRSxlQUFlO3FCQUN2Qzs4QkFPZ0IsU0FBUztzQkFEekIsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBU3RCLHdCQUF3QjtzQkFEMUMsZUFBZTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUM7Z0JBZ0JqRCxHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkF1TkUsVUFBVSxNQVFWLFVBQVUsTUFTVixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1F1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbn0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQgdHlwZSB7TWFza2l0b051bWJlclBhcmFtc30gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7XG4gICAgbWFza2l0b0NhcmV0R3VhcmQsXG4gICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsXG4gICAgbWFza2l0b1BhcnNlTnVtYmVyLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHR5cGUge1R1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aUlzU2FmZVRvUm91bmR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGVjaW1hbE1vZGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsIFRVSV9OVU1CRVJfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlGb3JtYXROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge0Fic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLCB0dWlBc0NvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQgdHlwZSB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3Rva2Vucyc7XG5pbXBvcnQge3R1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB0eXBlIHtUdWlJbnB1dE51bWJlck9wdGlvbnN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfSU5QVVRfTlVNQkVSX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5jb25zdCBERUZBVUxUX01BWF9MRU5HVEggPSAxODtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyIHR1aUlucHV0TnVtYmVyT3B0aW9uc1Byb3ZpZGVyfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSAocHJvcGVydHkgYHZhbHVlVHJhbnNmb3JtZXJgKSBpbnN0ZWFkXG4gKiBUT0RPKHY1KTogZGVsZXRlIGl0XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyIHwgbnVsbD5cbj4obmdEZXZNb2RlID8gJ1RVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVInIDogJycpO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1udW1iZXIgVHVpSW5wdXROdW1iZXJ9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbnVtYmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duKSc6ICdvbkFycm93KC1zdGVwKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwKSc6ICdvbkFycm93KHN0ZXApJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzSU9TID0gaW5qZWN0KFRVSV9JU19JT1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZSA9IGluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpO1xuICAgIHByaXZhdGUgdW5maW5pc2hlZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldCwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9seW1vcnBoZXVzVmFsdWVDb250ZW50OiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyID0gaW5qZWN0PFxuICAgICAgICBUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGw+XG4gICAgPihUVUlfTlVNQkVSX1ZBTFVFX1RSQU5TRk9STUVSLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHByb3RlY3RlZCBudW1iZXJGb3JtYXQgPSBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFUO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sbGVyID0gaW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0JCA9IGluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgLnBpcGUodHVpV2F0Y2godGhpcy5jZHIpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZm9ybWF0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdCA9IGZvcm1hdDtcbiAgICAgICAgfSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW46IG51bWJlciB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4OiBudW1iZXIgfCBudWxsID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcDtcblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy50ZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW5wdXRNb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc05lZ2F0aXZlQWxsb3dlZFxuICAgICAgICAgICAgICAgID8gJ3RleHQnIC8vIGlQaG9uZSBkb2VzIG5vdCBoYXZlIG1pbnVzIHNpZ24gaWYgaW5wdXRNb2RlIGVxdWFscyB0byAnbnVtZXJpYycgLyAnZGVjaW1hbCdcbiAgICAgICAgICAgICAgICA6ICdkZWNpbWFsJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTYW1zdW5nIEtleWJvYXJkIGRvZXMgbm90IG1pbnVzIHNpZ24gZm9yIGBpbnB1dG1vZGU9ZGVjaW1hbGBcbiAgICAgICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L3RhaWdhLXVpL2lzc3Vlcy8xMTA2MSNpc3N1ZWNvbW1lbnQtMjkzOTEwMzc5MlxuICAgICAgICAgKi9cbiAgICAgICAgcmV0dXJuICdudW1lcmljJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNhbGN1bGF0ZWRNYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPVxuICAgICAgICAgICAgISF0aGlzLnByZWNpc2lvbiAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyBNYXRoLm1pbih0aGlzLnByZWNpc2lvbiArIDEsIDIwKSA6IDA7XG4gICAgICAgIGNvbnN0IHRha2VUaG91c2FuZCA9IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLnJlcGVhdCg1KS5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIERFRkFVTFRfTUFYX0xFTkdUSCArIHByZWNpc2lvbiArIHRha2VUaG91c2FuZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZCA/IHRoaXMubmF0aXZlVmFsdWUgOiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKG5hdGl2ZVZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBtYXNraXRvUGFyc2VOdW1iZXIobmF0aXZlVmFsdWUsIHRoaXMubnVtYmVyRm9ybWF0KTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbmF0aXZlVmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZFZhbHVlIDwgdGhpcy5jb21wdXRlZE1pbiB8fCBwYXJzZWRWYWx1ZSA+IHRoaXMuY29tcHV0ZWRNYXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBwYXJzZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpY29ucygpOiBUdWlJbnB1dE51bWJlck9wdGlvbnNbJ2ljb25zJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRNaW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZU1pbih0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRNYXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZU1heCh0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNOZWdhdGl2ZUFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkTWluIDwgMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsID8gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApIDogJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjYW5EZWNyZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICh0aGlzLnZhbHVlIHx8IDApID4gdGhpcy5jb21wdXRlZE1pbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbkluY3JlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgKHRoaXMudmFsdWUgfHwgMCkgPCB0aGlzLmNvbXB1dGVkTWF4O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5wcmVmaXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZFBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3Bvc3RmaXh9ID0gdGhpcy5jb250cm9sbGVyO1xuXG4gICAgICAgIHJldHVybiBwb3N0Zml4ICYmIGAgJHtwb3N0Zml4fWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBtYXNrKCk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFzayhcbiAgICAgICAgICAgIHRoaXMucHJlY2lzaW9uLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbE1vZGUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWluLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1heCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQcmVmaXgsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkUG9zdGZpeCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnZhbHVlIHx8ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMudGV4dGZpZWxkIHx8ICF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFycm93KHN0ZXA6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdHVpQ2xhbXAoXG4gICAgICAgICAgICAodGhpcy52YWx1ZSB8fCAwKSArIHN0ZXAsXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWluLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1heCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMudW5maW5pc2hlZFZhbHVlXG4gICAgICAgICAgICA/IG1hc2tpdG9QYXJzZU51bWJlcih0aGlzLnVuZmluaXNoZWRWYWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQpXG4gICAgICAgICAgICA6IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgdGhpcy51bmZpbmlzaGVkVmFsdWUgPSBudWxsO1xuXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4obmF0aXZlTnVtYmVyVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID1cbiAgICAgICAgICAgICAgICBmb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5jb21wdXRlZFByZWZpeCArIHRoaXMuY29tcHV0ZWRQb3N0Zml4XG4gICAgICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmF0aXZlTnVtYmVyVmFsdWU7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQcmVmaXggK1xuICAgICAgICAgICAgdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogTnVtYmVyIGNhbiBzYXRpc2Z5IGludGVydmFsIFtOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjsgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJdXG4gICAgICAgICAgICAgICAgICogYnV0IGl0cyByb3VuZGluZyBjYW4gdmlvbGF0ZSBpdC5cbiAgICAgICAgICAgICAgICAgKiBCZWZvcmUgQmlnSW50IHN1cHBvcnQgdGhlcmUgaXMgbm8gcGVyZmVjdCBzb2x1dGlvbiDigJMgb25seSB0cmFkZSBvZmYuXG4gICAgICAgICAgICAgICAgICogTm8gcm91bmRpbmcgaXMgYmV0dGVyIHRoYW4gbG9zZSBwcmVjaXNpb24gYW5kIGluY29ycmVjdCBtdXRhdGlvbiBvZiBhbHJlYWR5IHZhbGlkIHZhbHVlLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHByZWNpc2lvbjogdHVpSXNTYWZlVG9Sb3VuZCh2YWx1ZSwgdGhpcy5wcmVjaXNpb24pXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgICAgICAgIH0pLnJlcGxhY2UoQ0hBUl9IWVBIRU4sIENIQVJfTUlOVVMpICtcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQb3N0Zml4XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7bmF0aXZlTnVtYmVyVmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gbmF0aXZlTnVtYmVyVmFsdWUgPCAwXG4gICAgICAgICAgICA/IG5hdGl2ZU51bWJlclZhbHVlID4gdGhpcy5jb21wdXRlZE1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMuY29tcHV0ZWRNaW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlTnVtYmVyVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG1hc2tpdG9QYXJzZU51bWJlcih0aGlzLm5hdGl2ZVZhbHVlLCB0aGlzLm51bWJlckZvcm1hdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNOYU4odGhpcy5udW1iZXJGb3JtYXQucHJlY2lzaW9uKVxuICAgICAgICAgICAgPyAyXG4gICAgICAgICAgICA6IHRoaXMubnVtYmVyRm9ybWF0LnByZWNpc2lvbjtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZU1pbihtaW46IG51bWJlciB8IG51bGwsIG1heDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtaW4pID8/IG1pbiA/PyB0aGlzLm9wdGlvbnMubWluLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1heCkgPz8gbWF4ID8/IHRoaXMub3B0aW9ucy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVNYXgobWluOiBudW1iZXIgfCBudWxsLCBtYXg6IG51bWJlciB8IG51bGwpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWluKSA/PyBtaW4gPz8gdGhpcy5vcHRpb25zLm1pbixcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtYXgpID8/IG1heCA/PyB0aGlzLm9wdGlvbnMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWF4LXBhcmFtcyxtYXgtcGFyYW1zXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2soXG4gICAgICAgIHByZWNpc2lvbjogbnVtYmVyLFxuICAgICAgICBkZWNpbWFsTW9kZTogVHVpRGVjaW1hbE1vZGUsXG4gICAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyxcbiAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyxcbiAgICAgICAgbWluOiBudW1iZXIsXG4gICAgICAgIG1heDogbnVtYmVyLFxuICAgICAgICBwcmVmaXg6IHN0cmluZyxcbiAgICAgICAgcG9zdGZpeDogc3RyaW5nLFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBNYXNraXRvTnVtYmVyUGFyYW1zID0ge1xuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgcG9zdGZpeCxcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogcHJlY2lzaW9uLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsTW9kZSA9PT0gJ2Fsd2F5cycgPyBwcmVjaXNpb24gOiAwLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ub3B0aW9uc30gPSBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4gPSBtYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luKFxuICAgICAgICAgICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgICAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbixcbiAgICAgICAgICAgICAgICBtYXNraXRvQ2FyZXRHdWFyZCgodmFsdWUpID0+IFtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoIC0gcG9zdGZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICN0ZXh0ZmllbGRcbiAgICB0dWlUZXh0ZmllbGRQb3N0Zml4PVwiXCJcbiAgICB0dWlUZXh0ZmllbGRQcmVmaXg9XCJcIlxuICAgIHR1aVZhbHVlQWNjZXNzb3JcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW21hc2tpdG9dPVwibWFza1wiXG4gICAgW3BzZXVkb0FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQubGVuZ3RoXCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJ0dWlDb250ZW50XCJcbiAgICAgICAgY2xhc3M9XCJ0LXZhbHVlLWNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidmFsdWVDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG48c2VjdGlvblxuICAgICpuZ0lmPVwic3RlcFwiXG4gICAgY2xhc3M9XCJ0LWJ1dHRvbnNcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cInRleHRmaWVsZC5hcHBlYXJhbmNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5JbmNyZW1lbnRcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLnVwXCJcbiAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25BcnJvdyhzdGVwKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJuYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgICtcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICBbYXBwZWFyYW5jZV09XCJ0ZXh0ZmllbGQuYXBwZWFyYW5jZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRGVjcmVtZW50XCJcbiAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5kb3duXCJcbiAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25BcnJvdygtc3RlcClcIlxuICAgICAgICAobW91c2Vkb3duLnByZXZlbnQpPVwibmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uZm9jdXMoKVwiXG4gICAgPlxuICAgICAgICAtXG4gICAgPC9idXR0b24+XG48L3NlY3Rpb24+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQuY2hhbmdlcyB8IGFzeW5jXCIgLz5cblxuPG5nLXRlbXBsYXRlICN2YWx1ZUNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpQ29udGVudFwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,4 +1,5 @@
1
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
3
  /**
3
4
  * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead
4
5
  * TODO(v5): delete it
@@ -16,7 +17,9 @@ export const TUI_INPUT_NUMBER_DEFAULT_OPTIONS = {
16
17
  * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead
17
18
  * TODO(v5): delete it
18
19
  */
19
- export const TUI_INPUT_NUMBER_OPTIONS = tuiCreateToken(TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
20
+ export const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '', {
21
+ factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,
22
+ });
20
23
  /**
21
24
  * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead
22
25
  * TODO(v5): delete it
@@ -24,4 +27,4 @@ export const TUI_INPUT_NUMBER_OPTIONS = tuiCreateToken(TUI_INPUT_NUMBER_DEFAULT_
24
27
  export function tuiInputNumberOptionsProvider(options) {
25
28
  return tuiProvideOptions(TUI_INPUT_NUMBER_OPTIONS, options, TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
26
29
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBZ0JwRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBMEI7SUFDbkUsS0FBSyxFQUFFO1FBQ0gsRUFBRSxFQUFFLFdBQVc7UUFDZixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLElBQUksRUFBRSxDQUFDO0NBQ1YsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXpGOzs7R0FHRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FDekMsT0FBdUM7SUFFdkMsT0FBTyxpQkFBaUIsQ0FDcEIsd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxnQ0FBZ0MsQ0FDbkMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUdWlJbnB1dE51bWJlck9wdGlvbnN9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb25zOiBSZWFkb25seTx7XG4gICAgICAgIGRvd246IHN0cmluZztcbiAgICAgICAgdXA6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgICByZWFkb25seSBtaW46IG51bWJlcjtcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICB1cDogJ0B0dWkucGx1cycsXG4gICAgICAgIGRvd246ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICBzdGVwOiAwLFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlMpO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJ9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0TnVtYmVyT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXROdW1iZXJPcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWdCcEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTBCO0lBQ25FLEtBQUssRUFBRTtRQUNILEVBQUUsRUFBRSxXQUFXO1FBQ2YsSUFBSSxFQUFFLFlBQVk7S0FDckI7SUFDRCxHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtJQUM1QixHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtJQUM1QixJQUFJLEVBQUUsQ0FBQztDQUNWLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUMzQztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQ0FBZ0M7Q0FDbEQsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxPQUF1QztJQUV2QyxPQUFPLGlCQUFpQixDQUNwQix3QkFBd0IsRUFDeEIsT0FBTyxFQUNQLGdDQUFnQyxDQUNuQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUdWlJbnB1dE51bWJlck9wdGlvbnN9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb25zOiBSZWFkb25seTx7XG4gICAgICAgIGRvd246IHN0cmluZztcbiAgICAgICAgdXA6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgICByZWFkb25seSBtaW46IG51bWJlcjtcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICB1cDogJ0B0dWkucGx1cycsXG4gICAgICAgIGRvd246ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICBzdGVwOiAwLFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIHR1aUlucHV0TnVtYmVyT3B0aW9uc1Byb3ZpZGVyfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSBpbnN0ZWFkXG4gKiBUT0RPKHY1KTogZGVsZXRlIGl0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dE51bWJlck9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0TnVtYmVyT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9OVU1CRVJfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
3
  /**
3
4
  * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
4
5
  */
@@ -11,11 +12,13 @@ export const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS = {
11
12
  /**
12
13
  * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
13
14
  */
14
- export const TUI_INPUT_PASSWORD_OPTIONS = tuiCreateToken(TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
15
+ export const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PASSWORD_OPTIONS' : '', {
16
+ factory: () => TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,
17
+ });
15
18
  /**
16
19
  * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
17
20
  */
18
21
  export function tuiInputPasswordOptionsProvider(options) {
19
22
  return tuiProvideOptions(TUI_INPUT_PASSWORD_OPTIONS, options, TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
20
23
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBY3BGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQTRCO0lBQ3ZFLEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVO1FBQ3RCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjO0tBQzdCO0NBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsY0FBYyxDQUNwRCxrQ0FBa0MsQ0FDckMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQixDQUMzQyxPQUF5QztJQUV6QyxPQUFPLGlCQUFpQixDQUNwQiwwQkFBMEIsRUFDMUIsT0FBTyxFQUNQLGtDQUFrQyxDQUNyQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuLCB0dWlQcm92aWRlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb25zOiBSZWFkb25seTx7XG4gICAgICAgIGhpZGU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPj47XG4gICAgICAgIHNob3c6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPj47XG4gICAgfT47XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BBU1NXT1JEX0RFRkFVTFRfT1BUSU9OUzogVHVpSW5wdXRQYXNzd29yZE9wdGlvbnMgPSB7XG4gICAgaWNvbnM6IHtcbiAgICAgICAgaGlkZTogKCkgPT4gJ0B0dWkuZXllJyxcbiAgICAgICAgc2hvdzogKCkgPT4gJ0B0dWkuZXllLW9mZicsXG4gICAgfSxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbihcbiAgICBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dFBhc3N3b3JkT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRQYXNzd29yZE9wdGlvbnM+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhcbiAgICAgICAgVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9QQVNTV09SRF9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWNwRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN2RSxLQUFLLEVBQUU7UUFDSCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVTtRQUN0QixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYztLQUM3QjtDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCxTQUFTLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGtDQUFrQztDQUNwRCxDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FDM0MsT0FBeUM7SUFFekMsT0FBTyxpQkFBaUIsQ0FDcEIsMEJBQTBCLEVBQzFCLE9BQU8sRUFDUCxrQ0FBa0MsQ0FDckMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgaGlkZTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PjtcbiAgICAgICAgc2hvdzogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PjtcbiAgICB9Pjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICBoaWRlOiAoKSA9PiAnQHR1aS5leWUnLFxuICAgICAgICBzaG93OiAoKSA9PiAnQHR1aS5leWUtb2ZmJyxcbiAgICB9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0UGFzc3dvcmRPcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0lOUFVUX1BBU1NXT1JEX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19
@@ -1,4 +1,5 @@
1
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
3
  export const TUI_INPUT_PHONE_DEFAULT_OPTIONS = {
3
4
  phoneMaskAfterCountryCode: '### ###-##-##',
4
5
  allowText: false,
@@ -8,8 +9,10 @@ export const TUI_INPUT_PHONE_DEFAULT_OPTIONS = {
8
9
  * @deprecated: drop in v5.0
9
10
  * Default parameters for input phone component
10
11
  */
11
- export const TUI_INPUT_PHONE_OPTIONS = tuiCreateToken(TUI_INPUT_PHONE_DEFAULT_OPTIONS);
12
+ export const TUI_INPUT_PHONE_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PHONE_OPTIONS' : '', {
13
+ factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,
14
+ });
12
15
  export function tuiInputPhoneOptionsProvider(options) {
13
16
  return tuiProvideOptions(TUI_INPUT_PHONE_OPTIONS, options, TUI_INPUT_PHONE_DEFAULT_OPTIONS);
14
17
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBob25lL2lucHV0LXBob25lLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBUXBGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUF5QjtJQUNqRSx5QkFBeUIsRUFBRSxlQUFlO0lBQzFDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0NBQ3BCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxjQUFjLENBQUMsK0JBQStCLENBQUMsQ0FBQztBQUV2RixNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLE9BQXNDO0lBRXRDLE9BQU8saUJBQWlCLENBQ3BCLHVCQUF1QixFQUN2QixPQUFPLEVBQ1AsK0JBQStCLENBQ2xDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW4sIHR1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGhvbmVPcHRpb25zIHtcbiAgICByZWFkb25seSBhbGxvd1RleHQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgY291bnRyeUNvZGU6IHN0cmluZztcbiAgICByZWFkb25seSBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEhPTkVfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBob25lT3B0aW9ucyA9IHtcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiAnIyMjICMjIy0jIy0jIycsXG4gICAgYWxsb3dUZXh0OiBmYWxzZSxcbiAgICBjb3VudHJ5Q29kZTogJys3Jyxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMFxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBpbnB1dCBwaG9uZSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QSE9ORV9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0lOUFVUX1BIT05FX0RFRkFVTFRfT1BUSU9OUyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dFBob25lT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRQaG9uZU9wdGlvbnM+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhcbiAgICAgICAgVFVJX0lOUFVUX1BIT05FX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBob25lL2lucHV0LXBob25lLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVFwRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBeUI7SUFDakUseUJBQXlCLEVBQUUsZUFBZTtJQUMxQyxTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQ3JELFNBQVMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDMUM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsK0JBQStCO0NBQ2pELENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSw0QkFBNEIsQ0FDeEMsT0FBc0M7SUFFdEMsT0FBTyxpQkFBaUIsQ0FDcEIsdUJBQXVCLEVBQ3ZCLE9BQU8sRUFDUCwrQkFBK0IsQ0FDbEMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGhvbmVPcHRpb25zIHtcbiAgICByZWFkb25seSBhbGxvd1RleHQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgY291bnRyeUNvZGU6IHN0cmluZztcbiAgICByZWFkb25seSBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEhPTkVfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBob25lT3B0aW9ucyA9IHtcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiAnIyMjICMjIy0jIy0jIycsXG4gICAgYWxsb3dUZXh0OiBmYWxzZSxcbiAgICBjb3VudHJ5Q29kZTogJys3Jyxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMFxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBpbnB1dCBwaG9uZSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QSE9ORV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfUEhPTkVfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9QSE9ORV9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dFBob25lT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRQaG9uZU9wdGlvbnM+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhcbiAgICAgICAgVFVJX0lOUFVUX1BIT05FX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
3
  /**
3
4
  * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
4
5
  * https://taiga-ui.dev/components/input-phone-international
@@ -11,7 +12,9 @@ export const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS = {
11
12
  * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
12
13
  * https://taiga-ui.dev/components/input-phone-international
13
14
  */
14
- export const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateToken(TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS);
15
+ export const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS' : '', {
16
+ factory: () => TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,
17
+ });
15
18
  /**
16
19
  * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
17
20
  * https://taiga-ui.dev/components/input-phone-international
@@ -19,4 +22,4 @@ export const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateToken(TUI_INPUT_PH
19
22
  export function tuiInputPhoneInternationalOptionsProvider(options) {
20
23
  return tuiProvideOptions(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS, options, TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS);
21
24
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBWXBGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUN0RDtJQUNJLFNBQVMsRUFBRSxFQUFFO0lBQ2IsY0FBYyxFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQUVOOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FDL0QsNkNBQTZDLENBQ2hELENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUNBQXlDLENBQ3JELE9BQW1EO0lBRW5ELE9BQU8saUJBQWlCLENBQ3BCLHFDQUFxQyxFQUNyQyxPQUFPLEVBQ1AsNkNBQTZDLENBQ2hELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW4sIHR1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMCB1c2Uge0BsaW5rIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsfVxuICogaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxPcHRpb25zIHtcbiAgICByZWFkb25seSBjb3VudHJpZXM6IHJlYWRvbmx5IFR1aUNvdW50cnlJc29Db2RlW107XG4gICAgcmVhZG9ubHkgY291bnRyeUlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkOiBkcm9wIGluIHY1LjAgdXNlIHtAbGluayBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbH1cbiAqIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnMgPVxuICAgIHtcbiAgICAgICAgY291bnRyaWVzOiBbXSxcbiAgICAgICAgY291bnRyeUlzb0NvZGU6ICdSVScsXG4gICAgfTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wIHVzZSB7QGxpbmsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWx9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWxcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbihcbiAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlMsXG4pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiBkcm9wIGluIHY1LjAgdXNlIHtAbGluayBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbH1cbiAqIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxPcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnM+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhcbiAgICAgICAgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVlwRTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2Q0FBNkMsR0FDdEQ7SUFDSSxTQUFTLEVBQUUsRUFBRTtJQUNiLGNBQWMsRUFBRSxJQUFJO0NBQ3ZCLENBQUM7QUFFTjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLGNBQWMsQ0FDbkUsU0FBUyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN4RDtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw2Q0FBNkM7Q0FDL0QsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlDQUF5QyxDQUNyRCxPQUFtRDtJQUVuRCxPQUFPLGlCQUFpQixDQUNwQixxQ0FBcUMsRUFDckMsT0FBTyxFQUNQLDZDQUE2QyxDQUNoRCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wIHVzZSB7QGxpbmsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWx9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGNvdW50cmllczogcmVhZG9ubHkgVHVpQ291bnRyeUlzb0NvZGVbXTtcbiAgICByZWFkb25seSBjb3VudHJ5SXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGU7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMCB1c2Uge0BsaW5rIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsfVxuICogaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyA9XG4gICAge1xuICAgICAgICBjb3VudHJpZXM6IFtdLFxuICAgICAgICBjb3VudHJ5SXNvQ29kZTogJ1JVJyxcbiAgICB9O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiBkcm9wIGluIHY1LjAgdXNlIHtAbGluayBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbH1cbiAqIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wIHVzZSB7QGxpbmsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWx9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxPcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19