@taiga-ui/core 3.72.0 → 3.73.0-canary.dbe7e81

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 (55) hide show
  1. package/abstract/accessors.d.ts +3 -0
  2. package/abstract/index.d.ts +1 -0
  3. package/abstract/position-accessor.d.ts +1 -1
  4. package/abstract/rect-accessor.d.ts +2 -1
  5. package/bundles/taiga-ui-core-abstract.umd.js +16 -9
  6. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-expand.umd.js +4 -2
  8. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -1
  10. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +2 -1
  12. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  15. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-directives-dropdown.umd.js +100 -101
  17. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-directives-hint.umd.js +150 -151
  19. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  20. package/components/expand/expand.component.d.ts +1 -1
  21. package/components/primitive-textfield/textfield/textfield.component.d.ts +1 -1
  22. package/constants/cache-basting-payload.d.ts +1 -1
  23. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  24. package/directives/dropdown/dropdown-selection.directive.d.ts +15 -15
  25. package/directives/hint/hint-position.directive.d.ts +1 -1
  26. package/esm2015/abstract/accessors.js +6 -0
  27. package/esm2015/abstract/index.js +2 -1
  28. package/esm2015/abstract/position-accessor.js +9 -5
  29. package/esm2015/abstract/rect-accessor.js +6 -8
  30. package/esm2015/components/expand/expand.component.js +5 -3
  31. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  32. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +3 -2
  33. package/esm2015/components/root/root.component.js +1 -1
  34. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  35. package/esm2015/directives/dropdown/dropdown-position.directive.js +4 -5
  36. package/esm2015/directives/dropdown/dropdown-selection.directive.js +8 -8
  37. package/esm2015/directives/dropdown/dropdown.component.js +4 -3
  38. package/esm2015/directives/hint/hint-position.directive.js +4 -5
  39. package/esm2015/directives/hint/hint.component.js +4 -3
  40. package/fesm2015/taiga-ui-core-abstract.js +17 -11
  41. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  42. package/fesm2015/taiga-ui-core-components-expand.js +4 -2
  43. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  44. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +1 -1
  45. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  46. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -1
  47. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  48. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  49. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  50. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  51. package/fesm2015/taiga-ui-core-directives-dropdown.js +93 -94
  52. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  53. package/fesm2015/taiga-ui-core-directives-hint.js +103 -104
  54. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  55. package/package.json +42 -42
@@ -1,4 +1,5 @@
1
- import { SkipSelf } from '@angular/core';
1
+ import { Optional, SkipSelf } from '@angular/core';
2
+ import { tuiFallbackAccessor } from './accessors';
2
3
  // TODO: Rename to getBoundingClientRect to match the DOM API
3
4
  // eslint-disable-next-line @typescript-eslint/naming-convention
4
5
  export class TuiRectAccessor {
@@ -6,14 +7,11 @@ export class TuiRectAccessor {
6
7
  export function tuiRectAccessorFor(type, fallback) {
7
8
  return {
8
9
  provide: TuiRectAccessor,
9
- deps: [[new SkipSelf(), TuiRectAccessor], fallback],
10
- useFactory: tuiFallbackRectAccessor(type),
10
+ deps: [[new SkipSelf(), new Optional(), TuiRectAccessor], fallback],
11
+ useFactory: tuiFallbackAccessor(type),
11
12
  };
12
13
  }
13
- export function tuiFallbackRectAccessor(type) {
14
- return (accessors, fallback) => accessors.find(accessor => accessor !== fallback && accessor.type === type) ||
15
- fallback;
16
- }
14
+ export const tuiFallbackRectAccessor = tuiFallbackAccessor;
17
15
  export function tuiAsRectAccessor(useExisting) {
18
16
  return {
19
17
  provide: TuiRectAccessor,
@@ -21,4 +19,4 @@ export function tuiAsRectAccessor(useExisting) {
21
19
  useExisting,
22
20
  };
23
21
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYWJzdHJhY3QvcmVjdC1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFFBQVEsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUVoRiw2REFBNkQ7QUFDN0QsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBZ0IsZUFBZTtDQUdwQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsSUFBWSxFQUNaLFFBQStCO0lBRS9CLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQ25ELFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7S0FDNUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ25DLElBQVk7SUFFWixPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQzNCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQzNFLFFBQVEsQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQWtDO0lBQ2hFLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVc7S0FDZCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhpc3RpbmdQcm92aWRlciwgRmFjdG9yeVByb3ZpZGVyLCBTa2lwU2VsZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIFRPRE86IFJlbmFtZSB0byBnZXRCb3VuZGluZ0NsaWVudFJlY3QgdG8gbWF0Y2ggdGhlIERPTSBBUElcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlSZWN0QWNjZXNzb3Ige1xuICAgIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZWN0QWNjZXNzb3JGb3IoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZhbGxiYWNrOiBUeXBlPFR1aVJlY3RBY2Nlc3Nvcj4sXG4pOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgZGVwczogW1tuZXcgU2tpcFNlbGYoKSwgVHVpUmVjdEFjY2Vzc29yXSwgZmFsbGJhY2tdLFxuICAgICAgICB1c2VGYWN0b3J5OiB0dWlGYWxsYmFja1JlY3RBY2Nlc3Nvcih0eXBlKSxcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpRmFsbGJhY2tSZWN0QWNjZXNzb3IoXG4gICAgdHlwZTogc3RyaW5nLFxuKTogKGFjY2Vzc29yczogcmVhZG9ubHkgVHVpUmVjdEFjY2Vzc29yW10sIGZhbGxiYWNrOiBUdWlSZWN0QWNjZXNzb3IpID0+IFR1aVJlY3RBY2Nlc3NvciB7XG4gICAgcmV0dXJuIChhY2Nlc3NvcnMsIGZhbGxiYWNrKSA9PlxuICAgICAgICBhY2Nlc3NvcnMuZmluZChhY2Nlc3NvciA9PiBhY2Nlc3NvciAhPT0gZmFsbGJhY2sgJiYgYWNjZXNzb3IudHlwZSA9PT0gdHlwZSkgfHxcbiAgICAgICAgZmFsbGJhY2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc1JlY3RBY2Nlc3Nvcih1c2VFeGlzdGluZzogVHlwZTxUdWlSZWN0QWNjZXNzb3I+KTogRXhpc3RpbmdQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgdXNlRXhpc3RpbmcsXG4gICAgfTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYWJzdHJhY3QvcmVjdC1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFFBQVEsRUFBRSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRWhELDZEQUE2RDtBQUM3RCxnRUFBZ0U7QUFDaEUsTUFBTSxPQUFnQixlQUFlO0NBR3BDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixJQUFZLEVBQ1osUUFBK0I7SUFFL0IsT0FBTztRQUNILE9BQU8sRUFBRSxlQUFlO1FBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUNuRSxVQUFVLEVBQUUsbUJBQW1CLENBQWtCLElBQUksQ0FBQztLQUN6RCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDO0FBRTNELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUFrQztJQUNoRSxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXO0tBQ2QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4aXN0aW5nUHJvdmlkZXIsIEZhY3RvcnlQcm92aWRlciwgT3B0aW9uYWwsIFNraXBTZWxmLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHt0dWlGYWxsYmFja0FjY2Vzc29yfSBmcm9tICcuL2FjY2Vzc29ycyc7XG5cbi8vIFRPRE86IFJlbmFtZSB0byBnZXRCb3VuZGluZ0NsaWVudFJlY3QgdG8gbWF0Y2ggdGhlIERPTSBBUElcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlSZWN0QWNjZXNzb3Ige1xuICAgIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZWN0QWNjZXNzb3JGb3IoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZhbGxiYWNrOiBUeXBlPFR1aVJlY3RBY2Nlc3Nvcj4sXG4pOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgZGVwczogW1tuZXcgU2tpcFNlbGYoKSwgbmV3IE9wdGlvbmFsKCksIFR1aVJlY3RBY2Nlc3Nvcl0sIGZhbGxiYWNrXSxcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpRmFsbGJhY2tBY2Nlc3NvcjxUdWlSZWN0QWNjZXNzb3I+KHR5cGUpLFxuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCB0dWlGYWxsYmFja1JlY3RBY2Nlc3NvciA9IHR1aUZhbGxiYWNrQWNjZXNzb3I7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc1JlY3RBY2Nlc3Nvcih1c2VFeGlzdGluZzogVHlwZTxUdWlSZWN0QWNjZXNzb3I+KTogRXhpc3RpbmdQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgdXNlRXhpc3RpbmcsXG4gICAgfTtcbn1cbiJdfQ==
@@ -62,8 +62,10 @@ export class TuiExpandComponent {
62
62
  get contentVisible() {
63
63
  return this.expanded || this.state !== State.Idle;
64
64
  }
65
- onTransitionEnd({ propertyName }) {
66
- if (propertyName === 'opacity' && this.state === State.Animated) {
65
+ onTransitionEnd({ propertyName, pseudoElement }) {
66
+ if (propertyName === 'opacity' &&
67
+ !pseudoElement &&
68
+ this.state === State.Animated) {
67
69
  this.state = State.Idle;
68
70
  }
69
71
  }
@@ -140,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
140
142
  type: HostListener,
141
143
  args: [TUI_EXPAND_LOADED, ['$event']]
142
144
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBYSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUVyRSxNQUFNLEtBQUssR0FBRztJQUNWLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsQ0FBQztJQUNYLFFBQVEsRUFBRSxDQUFDO0NBQ0wsQ0FBQztBQUVYLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQVV6QixNQUFNLE9BQU8sa0JBQWtCO0lBbUMzQixZQUNnRCxHQUFzQixFQUNkLFFBQTBCO1FBRGxDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFqQzFFLFVBQUssR0FBOEIsS0FBSyxDQUFDLElBQUksQ0FBQztRQUd0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QUFDLGlCQUFpQjs7c0JBQzdCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQVM3QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQStCOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZDb250ZXh0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9QQVJFTlRfQU5JTUFUSU9OLCBUdWlEZXN0cm95U2VydmljZSwgVHVpVmFsdWVzT2Z9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFN0YXRlID0ge1xuICAgIElkbGU6IDAsXG4gICAgTG9hZGluZzogMSxcbiAgICBQcmVwYXJlZDogMixcbiAgICBBbmltYXRlZDogMyxcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IExPQURFUl9IRUlHSFQgPSA0ODtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZXhwYW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhwYW5kLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4cGFuZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgIGFuaW1hdGlvbnM6IFtUVUlfUEFSRU5UX0FOSU1BVElPTl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUV4cGFuZENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnd3JhcHBlcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50V3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBzdGF0ZTogVHVpVmFsdWVzT2Y8dHlwZW9mIFN0YXRlPiA9IFN0YXRlLklkbGU7XG5cbiAgICBASW5wdXQoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBASW5wdXQoJ2V4cGFuZGVkJylcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gU3RhdGUuQW5pbWF0ZWQ7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgdGhpcy5yZXRyaWdnZXIodGhpcy5hc3luYyAmJiBleHBhbmRlZCA/IFN0YXRlLkxvYWRpbmcgOiBTdGF0ZS5BbmltYXRlZCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPE5nSWZDb250ZXh0PGJvb2xlYW4+PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICkge31cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX292ZXJmbG93JylcbiAgICBnZXQgb3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xvYWRpbmcnKVxuICAgIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmV4cGFuZGVkICYmIHRoaXMuYXN5bmMgJiYgdGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpXG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2V4cGFuZGVkLCBzdGF0ZSwgY29udGVudFdyYXBwZXJ9ID0gdGhpcztcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLlByZXBhcmVkKSB8fFxuICAgICAgICAgICAgKCFleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuQW5pbWF0ZWQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjb250ZW50V3JhcHBlciAmJlxuICAgICAgICAgICAgKCghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLlByZXBhcmVkKSB8fFxuICAgICAgICAgICAgICAgIChleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuQW5pbWF0ZWQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb250ZW50V3JhcHBlciAmJiBleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KGNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0LCBMT0FERVJfSEVJR0hUKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQgfHwgdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kLnNlbGYnLCBbJyRldmVudCddKVxuICAgIG9uVHJhbnNpdGlvbkVuZCh7cHJvcGVydHlOYW1lfTogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdvcGFjaXR5JyAmJiB0aGlzLnN0YXRlID09PSBTdGF0ZS5BbmltYXRlZCkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFR1aVZhbHVlc09mPHR5cGVvZiBTdGF0ZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLlByZXBhcmVkO1xuXG4gICAgICAgIHRpbWVyKDApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJlLXRyaWdnZXIgQ1NTIGhlaWdodCB0cmFuc2l0aW9uIGZyb20gdGhlIGNvcnJlY3QgbnVtYmVyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLlByZXBhcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI3dyYXBwZXJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgQHR1aVBhcmVudEFuaW1hdGlvblxuICAgIFtALmRpc2FibGVkXT1cIm92ZXJmbG93XCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFZpc2libGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgKm5nSWY9XCJhc3luYzsgZWxzZSBjb250ZW50XCJcbiAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwibG9hZGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBYSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUVyRSxNQUFNLEtBQUssR0FBRztJQUNWLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsQ0FBQztJQUNYLFFBQVEsRUFBRSxDQUFDO0NBQ0wsQ0FBQztBQUVYLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQVV6QixNQUFNLE9BQU8sa0JBQWtCO0lBbUMzQixZQUNnRCxHQUFzQixFQUNkLFFBQTBCO1FBRGxDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFqQzFFLFVBQUssR0FBOEIsS0FBSyxDQUFDLElBQUksQ0FBQztRQUd0RCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBc0JkLFlBQU8sR0FBNkMsSUFBSSxDQUFDO1FBSXpELGFBQVEsR0FBbUIsSUFBSSxDQUFDO0lBSzdCLENBQUM7SUE3QkosSUFDSSxjQUFjLENBQUMsUUFBd0I7UUFDdkMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUV6QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFFNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFjRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ04sTUFBTSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRS9DLElBQ0ksQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDdEMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUN6QztZQUNFLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7UUFFRCxJQUNJLGNBQWM7WUFDZCxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQ3BDLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDN0M7WUFDRSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxjQUFjLElBQUksUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUM3RTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFHRCxlQUFlLENBQUMsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFrQjtRQUMxRCxJQUNJLFlBQVksS0FBSyxTQUFTO1lBQzFCLENBQUMsYUFBYTtZQUNkLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFDL0I7WUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBR0QsY0FBYyxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFnQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFNUIsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWiw0RUFBNEU7WUFDNUUsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQy9CLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOztnSEFsSFEsa0JBQWtCLGtCQW9DZixpQkFBaUIsYUFDVCxpQkFBaUI7b0dBckM1QixrQkFBa0IsNmFBSGhCLENBQUMsaUJBQWlCLENBQUMsK0RBK0JoQix5QkFBeUIsMkJBQVMsV0FBVyx3SUNuRS9ELGllQWtCQSxxdUJEbUJnQixDQUFDLG9CQUFvQixDQUFDOzRGQUV6QixrQkFBa0I7a0JBUjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzlCLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNyQzs7MEJBcUNRLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7NENBbkNwQixjQUFjO3NCQUQ5QixTQUFTO3VCQUFDLFNBQVM7Z0JBTXBCLEtBQUs7c0JBREosS0FBSztnQkFJRixjQUFjO3NCQURqQixLQUFLO3VCQUFDLFVBQVU7Z0JBb0JqQixPQUFPO3NCQUROLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUs1RCxRQUFRO3NCQUZQLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBUzdCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBK0I5QixlQUFlO3NCQURkLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWTlDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX1BBUkVOVF9BTklNQVRJT04sIFR1aURlc3Ryb3lTZXJ2aWNlLCBUdWlWYWx1ZXNPZn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9FWFBBTkRfTE9BREVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUV4cGFuZENvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vZXhwYW5kLWNvbnRlbnQuZGlyZWN0aXZlJztcblxuY29uc3QgU3RhdGUgPSB7XG4gICAgSWRsZTogMCxcbiAgICBMb2FkaW5nOiAxLFxuICAgIFByZXBhcmVkOiAyLFxuICAgIEFuaW1hdGVkOiAzLFxufSBhcyBjb25zdDtcblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW1RVSV9QQVJFTlRfQU5JTUFUSU9OXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlOiBUdWlWYWx1ZXNPZjx0eXBlb2YgU3RhdGU+ID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYXN5bmMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgnZXhwYW5kZWQnKVxuICAgIHNldCBleHBhbmRlZFNldHRlcihleHBhbmRlZDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudDogVGVtcGxhdGVSZWY8TmdJZkNvbnRleHQ8Ym9vbGVhbj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGV4cGFuZGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb3ZlcmZsb3cnKVxuICAgIGdldCBvdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbG9hZGluZycpXG4gICAgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZXhwYW5kZWQgJiYgdGhpcy5hc3luYyAmJiB0aGlzLnN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZXhwYW5kZWQsIHN0YXRlLCBjb250ZW50V3JhcHBlcn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNvbnRlbnRXcmFwcGVyICYmXG4gICAgICAgICAgICAoKCFleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRlbnRXcmFwcGVyICYmIGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsIExPQURFUl9IRUlHSFQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRlZCB8fCB0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQuc2VsZicsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKHtwcm9wZXJ0eU5hbWUsIHBzZXVkb0VsZW1lbnR9OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgICFwc2V1ZG9FbGVtZW50ICYmXG4gICAgICAgICAgICB0aGlzLnN0YXRlID09PSBTdGF0ZS5BbmltYXRlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5JZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihUVUlfRVhQQU5EX0xPQURFRCwgWyckZXZlbnQnXSlcbiAgICBvbkV4cGFuZExvYWRlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cmlnZ2VyKFN0YXRlLkFuaW1hdGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlnZ2VyKHN0YXRlOiBUdWlWYWx1ZXNPZjx0eXBlb2YgU3RhdGU+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICB0aW1lcigwKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCBkZWxheSB0byByZS10cmlnZ2VyIENTUyBoZWlnaHQgdHJhbnNpdGlvbiBmcm9tIHRoZSBjb3JyZWN0IG51bWJlclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBTdGF0ZS5QcmVwYXJlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICN3cmFwcGVyXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIEB0dWlQYXJlbnRBbmltYXRpb25cbiAgICBbQC5kaXNhYmxlZF09XCJvdmVyZmxvd1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRWaXNpYmxlXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiYXN5bmM7IGVsc2UgY29udGVudFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImxvYWRpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktbG9hZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -190,7 +190,7 @@ TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
190
190
  provide: TUI_HOSTED_DROPDOWN_COMPONENT,
191
191
  useExisting: TuiHostedDropdownComponent,
192
192
  },
193
- ], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiDropdownSided]=\"sided\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiObscured)=\"onHostObscured($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n class=\"t-dropdown\"\n (keydown)=\"onKeydown($event)\"\n >\n <div\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}.t-dropdown{height:100%}.t-primitive{padding:1rem}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiAccessorProxyDirective, selector: "[tuiAccessorProxy]" }, { type: i3.TuiDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i4.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i4.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i4.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i5.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
+ ], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"(open$ | async) ?? openChange.value as isOpen\"\n #activeZone=\"tuiActiveZone\"\n tuiAccessorProxy\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiDropdownSided]=\"sided\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiObscured)=\"onHostObscured($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n class=\"t-dropdown\"\n (keydown)=\"onKeydown($event)\"\n >\n <div\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}.t-dropdown{height:100%}.t-primitive{padding:1rem}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiAccessorProxyDirective, selector: "[tuiAccessorProxy]" }, { type: i3.TuiDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i4.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i4.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i4.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i4.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i5.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
194
194
  __decorate([
195
195
  shouldCall(shouldClose)
196
196
  ], TuiHostedDropdownComponent.prototype, "onKeyDownEsc", null);
@@ -18,7 +18,8 @@ export class TuiTextfieldComponent {
18
18
  return this.el.nativeElement.id || this.idService.generate();
19
19
  }
20
20
  get inputMode() {
21
- return this.el.nativeElement.inputMode || this.host.inputMode;
21
+ const mode = this.el.nativeElement.inputMode || this.host.inputMode;
22
+ return mode === 'text' ? null : mode;
22
23
  }
23
24
  }
24
25
  TuiTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldComponent, deps: [{ token: TUI_TEXTFIELD_HOST }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: ElementRef }, { token: TuiIdService }, { token: TUI_LEGACY_MASK, optional: true }], target: i0.ɵɵFactoryTarget.Component });
@@ -61,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
61
62
  type: Inject,
62
63
  args: [TUI_LEGACY_MASK]
63
64
  }] }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FFbkMsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQjFFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDeUMsSUFBc0IsRUFFbEQsVUFBa0MsRUFDTixFQUFnQyxFQUVwRCxTQUF1QixFQUcvQixVQUEwQjtRQVJFLFNBQUksR0FBSixJQUFJLENBQWtCO1FBRWxELGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ04sT0FBRSxHQUFGLEVBQUUsQ0FBOEI7UUFFcEQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUcvQixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNsRSxDQUFDOzttSEFyQlEscUJBQXFCLGtCQUVsQixrQkFBa0IsYUFDbEIsZ0NBQWdDLGFBRWhDLFVBQVUsYUFDVixZQUFZLGFBR1osZUFBZTt1R0FUbEIscUJBQXFCLDRhQWJuQixDQUFDLDZCQUE2QixDQUFDLDBCQUhoQyxFQUFFOzRGQWdCSCxxQkFBcUI7a0JBbEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsTUFBTTt3QkFDWixXQUFXLEVBQUUsSUFBSTt3QkFDakIsa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMsaUJBQWlCLEVBQUUsdUJBQXVCO3dCQUMxQyxZQUFZLEVBQUUseUJBQXlCO3dCQUN2QyxZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLFlBQVk7d0JBQ3ZCLFNBQVMsRUFBRSx3REFBd0Q7cUJBQ3RFO2lCQUNKOzswQkFHUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsZ0NBQWdDOzswQkFFdkMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxZQUFZOzswQkFFbkIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9MRUdBQ1lfTUFTSywgVFVJX1RFWFRGSUVMRF9IT1NUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVRleHRmaWVsZF0sIHRleHRhcmVhW3R1aVRleHRmaWVsZF0nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0ZmllbGQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1RFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5pbnB1dE1vZGVdJzogJ2lucHV0TW9kZScsXG4gICAgICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2hvc3QuaW52YWxpZCcsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnaG9zdC5kaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1t0YWJJbmRleF0nOiAnaG9zdC5mb2N1c2FibGUgPyAwIDogLTEnLFxuICAgICAgICAnW3JlYWRPbmx5XSc6ICdob3N0LnJlYWRPbmx5JyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAnaG9zdC52YWx1ZScsXG4gICAgICAgICcoaW5wdXQpJzogJyFsZWdhY3lNYXNrICYmIGhvc3Qub25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0hPU1QpIHJlYWRvbmx5IGhvc3Q6IFR1aVRleHRmaWVsZEhvc3QsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlJZFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaWRTZXJ2aWNlOiBUdWlJZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0xFR0FDWV9NQVNLKVxuICAgICAgICByZWFkb25seSBsZWdhY3lNYXNrOiBib29sZWFuIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5ob3N0LnByb2Nlc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbnB1dE1vZGUgfHwgdGhpcy5ob3N0LmlucHV0TW9kZTtcbiAgICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FFbkMsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQjFFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDeUMsSUFBc0IsRUFFbEQsVUFBa0MsRUFDTixFQUFnQyxFQUVwRCxTQUF1QixFQUcvQixVQUEwQjtRQVJFLFNBQUksR0FBSixJQUFJLENBQWtCO1FBRWxELGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ04sT0FBRSxHQUFGLEVBQUUsQ0FBOEI7UUFFcEQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUcvQixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFcEUsT0FBTyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6QyxDQUFDOzttSEF2QlEscUJBQXFCLGtCQUVsQixrQkFBa0IsYUFDbEIsZ0NBQWdDLGFBRWhDLFVBQVUsYUFDVixZQUFZLGFBR1osZUFBZTt1R0FUbEIscUJBQXFCLDRhQWJuQixDQUFDLDZCQUE2QixDQUFDLDBCQUhoQyxFQUFFOzRGQWdCSCxxQkFBcUI7a0JBbEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsTUFBTTt3QkFDWixXQUFXLEVBQUUsSUFBSTt3QkFDakIsa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMsaUJBQWlCLEVBQUUsdUJBQXVCO3dCQUMxQyxZQUFZLEVBQUUseUJBQXlCO3dCQUN2QyxZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLFlBQVk7d0JBQ3ZCLFNBQVMsRUFBRSx3REFBd0Q7cUJBQ3RFO2lCQUNKOzswQkFHUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsZ0NBQWdDOzswQkFFdkMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxZQUFZOzswQkFFbkIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9MRUdBQ1lfTUFTSywgVFVJX1RFWFRGSUVMRF9IT1NUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVRleHRmaWVsZF0sIHRleHRhcmVhW3R1aVRleHRmaWVsZF0nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0ZmllbGQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1RFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5pbnB1dE1vZGVdJzogJ2lucHV0TW9kZScsXG4gICAgICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2hvc3QuaW52YWxpZCcsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnaG9zdC5kaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1t0YWJJbmRleF0nOiAnaG9zdC5mb2N1c2FibGUgPyAwIDogLTEnLFxuICAgICAgICAnW3JlYWRPbmx5XSc6ICdob3N0LnJlYWRPbmx5JyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAnaG9zdC52YWx1ZScsXG4gICAgICAgICcoaW5wdXQpJzogJyFsZWdhY3lNYXNrICYmIGhvc3Qub25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0hPU1QpIHJlYWRvbmx5IGhvc3Q6IFR1aVRleHRmaWVsZEhvc3QsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlJZFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaWRTZXJ2aWNlOiBUdWlJZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0xFR0FDWV9NQVNLKVxuICAgICAgICByZWFkb25seSBsZWdhY3lNYXNrOiBib29sZWFuIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5ob3N0LnByb2Nlc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5wdXRNb2RlIHx8IHRoaXMuaG9zdC5pbnB1dE1vZGU7XG5cbiAgICAgICAgcmV0dXJuIG1vZGUgPT09ICd0ZXh0JyA/IG51bGwgOiBtb2RlO1xuICAgIH1cbn1cbiJdfQ==
@@ -29,7 +29,7 @@ export class TuiRootComponent {
29
29
  }
30
30
  }
31
31
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
32
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.72.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
32
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.73.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{
@@ -34,7 +34,7 @@ export class TuiTooltipComponent extends TuiHintOptionsDirective {
34
34
  }
35
35
  }
36
36
  TuiTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTooltipComponent, deps: [{ token: TuiDestroyService, self: true }, { token: TUI_MODE }, { token: TUI_HINT_OPTIONS }, { token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Component });
37
- TuiTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTooltipComponent, selector: "tui-tooltip", inputs: { content: "content", direction: "direction", appearance: "appearance", showDelay: "showDelay", hideDelay: "hideDelay", describeId: "describeId", context: "context" }, host: { listeners: { "mousedown": "stopOnMobile($event)" }, properties: { "attr.data-appearance": "this.computedAppearance" } }, providers: [TuiDestroyService, MODE_PROVIDER], viewQueries: [{ propertyName: "driver$", first: true, predicate: TuiHintHoverDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n #driver=\"tuiHintHover\"\n appearance=\"icon\"\n automation-id=\"tui-tooltip__icon\"\n tuiWrapper\n class=\"t-tooltip-icon\"\n [hover]=\"(driver | async) || null\"\n [tuiHint]=\"content\"\n [tuiHintAppearance]=\"computedAppearance\"\n [tuiHintContext]=\"context\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintShowDelay]=\"showDelay\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src\"\n [src]=\"src\"\n ></tui-svg>\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;pointer-events:auto;cursor:pointer;color:var(--tui-text-01)}:host[data-appearance=error]{color:var(--tui-error-fill)}.t-tooltip-icon{display:inline-block;width:100%;height:100%;color:inherit}:host-context([tuiWrapper][data-appearance=\"textfield\"][data-state=\"disabled\"]) .t-tooltip-icon{opacity:1}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition]):not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ TuiTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTooltipComponent, selector: "tui-tooltip", inputs: { content: "content", direction: "direction", appearance: "appearance", showDelay: "showDelay", hideDelay: "hideDelay", describeId: "describeId", context: "context" }, host: { listeners: { "mousedown": "stopOnMobile($event)" }, properties: { "attr.data-appearance": "this.computedAppearance" } }, providers: [TuiDestroyService, MODE_PROVIDER], viewQueries: [{ propertyName: "driver$", first: true, predicate: TuiHintHoverDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n #driver=\"tuiHintHover\"\n appearance=\"icon\"\n automation-id=\"tui-tooltip__icon\"\n tuiWrapper\n class=\"t-tooltip-icon\"\n [hover]=\"(driver | async) || null\"\n [tuiHint]=\"content\"\n [tuiHintAppearance]=\"computedAppearance\"\n [tuiHintContext]=\"context\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintShowDelay]=\"showDelay\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src\"\n [src]=\"src\"\n ></tui-svg>\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;pointer-events:auto;cursor:pointer;color:var(--tui-text-01)}:host[data-appearance=error]{color:var(--tui-error-fill)}.t-tooltip-icon{display:inline-block;width:100%;height:100%;color:inherit}:host-context([tuiWrapper][data-appearance=\"textfield\"][data-state=\"disabled\"]) .t-tooltip-icon{opacity:1}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTooltipComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Directive, Inject } from '@angular/core';
3
3
  import { EMPTY_CLIENT_RECT, tuiPure } from '@taiga-ui/cdk';
4
- import { tuiAsPositionAccessor, tuiFallbackRectAccessor, TuiPositionAccessor, TuiRectAccessor, } from '@taiga-ui/core/abstract';
4
+ import { tuiFallbackRectAccessor, TuiPositionAccessor, TuiRectAccessor, } from '@taiga-ui/core/abstract';
5
5
  import { TUI_VIEWPORT } from '@taiga-ui/core/tokens';
6
6
  import { TuiDropdownDirective } from './dropdown.directive';
7
7
  import { TUI_DROPDOWN_OPTIONS } from './dropdown-options.directive';
@@ -61,15 +61,14 @@ export class TuiDropdownPositionDirective extends TuiPositionAccessor {
61
61
  }
62
62
  }
63
63
  TuiDropdownPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownPositionDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: TUI_VIEWPORT }, { token: TuiRectAccessor }, { token: TuiDropdownDirective }], target: i0.ɵɵFactoryTarget.Directive });
64
- TuiDropdownPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])", providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)], usesInheritance: true, ngImport: i0 });
64
+ TuiDropdownPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownPositionDirective, selector: "[tuiDropdown]", usesInheritance: true, ngImport: i0 });
65
65
  __decorate([
66
66
  tuiPure
67
67
  ], TuiDropdownPositionDirective.prototype, "accessor", null);
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDropdownPositionDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
- selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',
72
- providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],
71
+ selector: '[tuiDropdown]',
73
72
  }]
74
73
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
75
74
  type: Inject,
@@ -84,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
84
83
  type: Inject,
85
84
  args: [TuiDropdownDirective]
86
85
  }] }]; }, propDecorators: { accessor: [] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsZUFBZSxHQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFNdEYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQUtqRSxZQUNtRCxPQUEyQixFQUNuQyxRQUF5QixFQUN0QixTQUFxQyxFQUNoQyxTQUErQjtRQUU5RSxLQUFLLEVBQUUsQ0FBQztRQUx1QyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUE0QjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQU56RSxTQUFJLEdBQUcsVUFBVSxDQUFDO0lBUzNCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFhOztRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1NBQzdCO1FBRUQsTUFBTSxR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SUFBSSxRQUFRO1FBQ1IsT0FBTyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRSxDQUFDOzswSEEvRFEsNEJBQTRCLGtCQU16QixvQkFBb0IsYUFDcEIsWUFBWSxhQUNaLGVBQWUsYUFDZixvQkFBb0I7OEdBVHZCLDRCQUE0QixpR0FGMUIsQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBK0RoRTtJQURDLE9BQU87NERBR1A7NEZBL0RRLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0VBQXdFO29CQUNsRixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsOEJBQThCLENBQUM7aUJBQ25FOzswQkFPUSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsWUFBWTs7MEJBQ25CLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsb0JBQW9COzRDQW9ENUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVCwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzUG9zaXRpb25BY2Nlc3NvcixcbiAgICB0dWlGYWxsYmFja1JlY3RBY2Nlc3NvcixcbiAgICBUdWlQb3NpdGlvbkFjY2Vzc29yLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUVUlfVklFV1BPUlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aVBvaW50LCBUdWlWZXJ0aWNhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl06bm90KFt0dWlEcm9wZG93bkN1c3RvbVBvc2l0aW9uXSk6bm90KFt0dWlEcm9wZG93blNpZGVkXSknLFxuICAgIHByb3ZpZGVyczogW3R1aUFzUG9zaXRpb25BY2Nlc3NvcihUdWlEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUgZXh0ZW5kcyBUdWlQb3NpdGlvbkFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHByZXZpb3VzPzogVHVpVmVydGljYWxEaXJlY3Rpb247XG5cbiAgICByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURyb3Bkb3duT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfVklFV1BPUlQpIHByaXZhdGUgcmVhZG9ubHkgdmlld3BvcnQ6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3JzOiByZWFkb25seSBUdWlSZWN0QWNjZXNzb3JbXSxcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RpdmU6IFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldFBvc2l0aW9uKHt3aWR0aCwgaGVpZ2h0fTogQ2xpZW50UmVjdCk6IFR1aVBvaW50IHtcbiAgICAgICAgaWYgKCF3aWR0aCAmJiAhaGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmFjY2Vzc29yPy5nZXRDbGllbnRSZWN0KCkgPz8gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0UmVjdCA9IHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7bWluSGVpZ2h0LCBhbGlnbiwgZGlyZWN0aW9uLCBvZmZzZXQsIGxpbWl0V2lkdGh9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHtcbiAgICAgICAgICAgIHRvcDogdmlld3BvcnRSZWN0LnRvcCAtIG9mZnNldCxcbiAgICAgICAgICAgIGJvdHRvbTogdmlld3BvcnRSZWN0LmJvdHRvbSArIG9mZnNldCxcbiAgICAgICAgICAgIHJpZ2h0OiB2aWV3cG9ydFJlY3QucmlnaHQgLSBvZmZzZXQsXG4gICAgICAgICAgICBsZWZ0OiB2aWV3cG9ydFJlY3QubGVmdCArIG9mZnNldCxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnByZXZpb3VzIHx8IGRpcmVjdGlvbiB8fCAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0ge1xuICAgICAgICAgICAgdG9wOiBob3N0UmVjdC50b3AgLSAyICogb2Zmc2V0IC0gdmlld3BvcnQudG9wLFxuICAgICAgICAgICAgYm90dG9tOiB2aWV3cG9ydC5ib3R0b20gLSBob3N0UmVjdC5ib3R0b20gLSAyICogb2Zmc2V0LFxuICAgICAgICB9IGFzIGNvbnN0O1xuICAgICAgICBjb25zdCByZWN0V2lkdGggPSBsaW1pdFdpZHRoID09PSAnZml4ZWQnID8gaG9zdFJlY3Qud2lkdGggOiB3aWR0aDtcbiAgICAgICAgY29uc3QgcmlnaHQgPSBNYXRoLm1heChob3N0UmVjdC5yaWdodCAtIHJlY3RXaWR0aCwgb2Zmc2V0KTtcbiAgICAgICAgY29uc3QgbGVmdCA9IGhvc3RSZWN0LmxlZnQgKyB3aWR0aCA8IHZpZXdwb3J0LnJpZ2h0ID8gaG9zdFJlY3QubGVmdCA6IHJpZ2h0O1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIHRvcDogaG9zdFJlY3QudG9wIC0gb2Zmc2V0IC0gaGVpZ2h0LFxuICAgICAgICAgICAgYm90dG9tOiBob3N0UmVjdC5ib3R0b20gKyBvZmZzZXQsXG4gICAgICAgICAgICByaWdodDogTWF0aC5tYXgodmlld3BvcnQubGVmdCwgcmlnaHQpLFxuICAgICAgICAgICAgY2VudGVyOlxuICAgICAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgKyB3aWR0aCAvIDIgPCB2aWV3cG9ydC5yaWdodFxuICAgICAgICAgICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSB3aWR0aCAvIDJcbiAgICAgICAgICAgICAgICAgICAgOiByaWdodCxcbiAgICAgICAgICAgIGxlZnQ6IE1hdGgubWF4KHZpZXdwb3J0LmxlZnQsIGxlZnQpLFxuICAgICAgICB9IGFzIGNvbnN0O1xuICAgICAgICBjb25zdCBiZXR0ZXIgPSBhdmFpbGFibGUudG9wID4gYXZhaWxhYmxlLmJvdHRvbSA/ICd0b3AnIDogJ2JvdHRvbSc7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGF2YWlsYWJsZVtwcmV2aW91c10gPiBtaW5IZWlnaHQgJiYgZGlyZWN0aW9uKSB8fFxuICAgICAgICAgICAgYXZhaWxhYmxlW3ByZXZpb3VzXSA+IGhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbcG9zaXRpb25bcHJldmlvdXNdLCBwb3NpdGlvblthbGlnbl1dO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IGJldHRlcjtcblxuICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW2JldHRlcl0sIHBvc2l0aW9uW2FsaWduXV07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgYWNjZXNzb3IoKTogVHVpUmVjdEFjY2Vzc29yIHtcbiAgICAgICAgcmV0dXJuIHR1aUZhbGxiYWNrUmVjdEFjY2Vzc29yKCdkcm9wZG93bicpKHRoaXMuYWNjZXNzb3JzLCB0aGlzLmRpcmVjdGl2ZSk7XG4gICAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixlQUFlLEdBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUt0RixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBS2pFLFlBQ21ELE9BQTJCLEVBQ25DLFFBQXlCLEVBQ3RCLFNBQXFDLEVBQ2hDLFNBQStCO1FBRTlFLEtBQUssRUFBRSxDQUFDO1FBTHVDLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQTRCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBTnpFLFNBQUksR0FBRyxVQUFVLENBQUM7SUFTM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQWE7O1FBQ25DLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7U0FDN0I7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFB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UixPQUFPLHVCQUF1QixDQUFrQixVQUFVLENBQUMsQ0FDdkQsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUNqQixDQUFDO0lBQ04sQ0FBQzs7MEhBbEVRLDRCQUE0QixrQkFNekIsb0JBQW9CLGFBQ3BCLFlBQVksYUFDWixlQUFlLGFBQ2Ysb0JBQW9COzhHQVR2Qiw0QkFBNEI7QUE2RHJDO0lBREMsT0FBTzs0REFNUDs0RkFsRVEsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO2lCQUM1Qjs7MEJBT1EsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLG9CQUFvQjs0Q0FvRDVCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfQ0xJRU5UX1JFQ1QsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICB0dWlGYWxsYmFja1JlY3RBY2Nlc3NvcixcbiAgICBUdWlQb3NpdGlvbkFjY2Vzc29yLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUVUlfVklFV1BPUlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aVBvaW50LCBUdWlWZXJ0aWNhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlIGV4dGVuZHMgVHVpUG9zaXRpb25BY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSBwcmV2aW91cz86IFR1aVZlcnRpY2FsRGlyZWN0aW9uO1xuXG4gICAgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX1ZJRVdQT1JUKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdwb3J0OiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yczogcmVhZG9ubHkgVHVpUmVjdEFjY2Vzc29yW10sXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aXZlOiBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXRQb3NpdGlvbih7d2lkdGgsIGhlaWdodH06IENsaWVudFJlY3QpOiBUdWlQb2ludCB7XG4gICAgICAgIGlmICghd2lkdGggJiYgIWhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5hY2Nlc3Nvcj8uZ2V0Q2xpZW50UmVjdCgpID8/IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgICAgICBjb25zdCB2aWV3cG9ydFJlY3QgPSB0aGlzLnZpZXdwb3J0LmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge21pbkhlaWdodCwgYWxpZ24sIGRpcmVjdGlvbiwgb2Zmc2V0LCBsaW1pdFdpZHRofSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSB7XG4gICAgICAgICAgICB0b3A6IHZpZXdwb3J0UmVjdC50b3AgLSBvZmZzZXQsXG4gICAgICAgICAgICBib3R0b206IHZpZXdwb3J0UmVjdC5ib3R0b20gKyBvZmZzZXQsXG4gICAgICAgICAgICByaWdodDogdmlld3BvcnRSZWN0LnJpZ2h0IC0gb2Zmc2V0LFxuICAgICAgICAgICAgbGVmdDogdmlld3BvcnRSZWN0LmxlZnQgKyBvZmZzZXQsXG4gICAgICAgIH0gYXMgY29uc3Q7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5wcmV2aW91cyB8fCBkaXJlY3Rpb24gfHwgJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IHtcbiAgICAgICAgICAgIHRvcDogaG9zdFJlY3QudG9wIC0gMiAqIG9mZnNldCAtIHZpZXdwb3J0LnRvcCxcbiAgICAgICAgICAgIGJvdHRvbTogdmlld3BvcnQuYm90dG9tIC0gaG9zdFJlY3QuYm90dG9tIC0gMiAqIG9mZnNldCxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgcmVjdFdpZHRoID0gbGltaXRXaWR0aCA9PT0gJ2ZpeGVkJyA/IGhvc3RSZWN0LndpZHRoIDogd2lkdGg7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gTWF0aC5tYXgoaG9zdFJlY3QucmlnaHQgLSByZWN0V2lkdGgsIG9mZnNldCk7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBob3N0UmVjdC5sZWZ0ICsgd2lkdGggPCB2aWV3cG9ydC5yaWdodCA/IGhvc3RSZWN0LmxlZnQgOiByaWdodDtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7XG4gICAgICAgICAgICB0b3A6IGhvc3RSZWN0LnRvcCAtIG9mZnNldCAtIGhlaWdodCxcbiAgICAgICAgICAgIGJvdHRvbTogaG9zdFJlY3QuYm90dG9tICsgb2Zmc2V0LFxuICAgICAgICAgICAgcmlnaHQ6IE1hdGgubWF4KHZpZXdwb3J0LmxlZnQsIHJpZ2h0KSxcbiAgICAgICAgICAgIGNlbnRlcjpcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyICsgd2lkdGggLyAyIDwgdmlld3BvcnQucmlnaHRcbiAgICAgICAgICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gd2lkdGggLyAyXG4gICAgICAgICAgICAgICAgICAgIDogcmlnaHQsXG4gICAgICAgICAgICBsZWZ0OiBNYXRoLm1heCh2aWV3cG9ydC5sZWZ0LCBsZWZ0KSxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgYmV0dGVyID0gYXZhaWxhYmxlLnRvcCA+IGF2YWlsYWJsZS5ib3R0b20gPyAndG9wJyA6ICdib3R0b20nO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChhdmFpbGFibGVbcHJldmlvdXNdID4gbWluSGVpZ2h0ICYmIGRpcmVjdGlvbikgfHxcbiAgICAgICAgICAgIGF2YWlsYWJsZVtwcmV2aW91c10gPiBoZWlnaHRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW3ByZXZpb3VzXSwgcG9zaXRpb25bYWxpZ25dXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXMgPSBiZXR0ZXI7XG5cbiAgICAgICAgcmV0dXJuIFtwb3NpdGlvbltiZXR0ZXJdLCBwb3NpdGlvblthbGlnbl1dO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGFjY2Vzc29yKCk6IFR1aVJlY3RBY2Nlc3NvciB7XG4gICAgICAgIHJldHVybiB0dWlGYWxsYmFja1JlY3RBY2Nlc3NvcjxUdWlSZWN0QWNjZXNzb3I+KCdkcm9wZG93bicpKFxuICAgICAgICAgICAgdGhpcy5hY2Nlc3NvcnMsXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -69,13 +69,6 @@ export class TuiDropdownSelectionDirective extends TuiDriver {
69
69
  : ((selection === null || selection === void 0 ? void 0 : selection.rangeCount) && selection.getRangeAt(0)) || this.range;
70
70
  return range.cloneRange();
71
71
  }
72
- /**
73
- * Check if Node is inside dropdown
74
- */
75
- boxContains(node) {
76
- var _a;
77
- return !!((_a = this.dropdown.dropdownBoxRef) === null || _a === void 0 ? void 0 : _a.location.nativeElement.contains(node));
78
- }
79
72
  /**
80
73
  * Check if given range is at least partially inside dropdown
81
74
  */
@@ -102,6 +95,13 @@ export class TuiDropdownSelectionDirective extends TuiDriver {
102
95
  range.setEnd(ghost.firstChild, selectionEnd || 0);
103
96
  return range;
104
97
  }
98
+ /**
99
+ * Check if Node is inside dropdown
100
+ */
101
+ boxContains(node) {
102
+ var _a;
103
+ return !!((_a = this.dropdown.dropdownBoxRef) === null || _a === void 0 ? void 0 : _a.location.nativeElement.contains(node));
104
+ }
105
105
  /**
106
106
  * Create an invisible DIV styled exactly like input/textarea element inside directive
107
107
  */
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
159
159
  }], tuiDropdownSelection: [{
160
160
  type: Input
161
161
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsYUFBYSxFQUNiLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixTQUFTLEdBRVosTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUzFELE1BQU0sT0FBTyw2QkFDVCxTQUFRLFNBQVM7SUE0Q2pCLFlBQytCLEtBQVksRUFDSixHQUFhLEVBQ0QsVUFBK0IsRUFDekMsRUFBMkIsRUFDckIsR0FBcUIsRUFDakIsUUFBOEI7UUFFN0UsS0FBSyxDQUFD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aEIsb0JBQW9COytHQW5EdkIsNkJBQTZCLGdMQUwzQjtRQUNQLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQztRQUMxQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQztLQUNuRDs0RkFFUSw2QkFBNkI7a0JBUHpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLFdBQVcsK0JBQStCO3dCQUMxQyxpQkFBaUIsK0JBQStCO3FCQUNuRDtpQkFDSjswREErQ3lDLEtBQUs7MEJBQXRDLE1BQU07MkJBQUMsU0FBUzs4QkFDdUIsUUFBUTswQkFBL0MsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxvQkFBb0I7NENBakJoQyxRQUFRO3NCQURQLEtBQUs7dUJBQUMsOEJBQThCO2dCQUlqQyxvQkFBb0I7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgQ0hBUl9aRVJPX1dJRFRIX1NQQUNFLFxuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIFRVSV9SQU5HRSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlHZXROYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc1N0cmluZyxcbiAgICB0dWlJc1RleHRmaWVsZCxcbiAgICB0dWlJc1RleHROb2RlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNEcml2ZXIsXG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUVUlfU0VMRUNUSU9OX1NUUkVBTX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0V29yZFJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25TZWxlY3Rpb25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25TZWxlY3Rpb25EaXJlY3RpdmUpLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93blNlbGVjdGlvbkRpcmVjdGl2ZSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25TZWxlY3Rpb25EaXJlY3RpdmVcbiAgICBleHRlbmRzIFR1aURyaXZlclxuICAgIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4+KFxuICAgICAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5oYW5kbGVyJCxcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24kLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRSYW5nZSgpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICh4LCB5KSA9PiB4LnN0YXJ0T2Zmc2V0ID09PSB5LnN0YXJ0T2Zmc2V0ICYmIHguZW5kT2Zmc2V0ID09PSB5LmVuZE9mZnNldCxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbaGFuZGxlciwgcmFuZ2VdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoXG4gICAgICAgICAgICAgICAgcmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnJhbmdlID1cbiAgICAgICAgICAgICAgICBjb250YWluZWQgJiYgdHVpSXNUZXh0Tm9kZShyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyByYW5nZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgIHJldHVybiAoY29udGFpbmVkICYmIGhhbmRsZXIodGhpcy5yYW5nZSkpIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSk7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoJ3R1aURyb3Bkb3duU2VsZWN0aW9uUG9zaXRpb24nKVxuICAgIHBvc2l0aW9uOiAnc2VsZWN0aW9uJyB8ICd0YWcnIHwgJ3dvcmQnID0gJ3NlbGVjdGlvbic7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbih2aXNpYmxlOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0dWlJc1N0cmluZyh2aXNpYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfUkFOR0UpIHByaXZhdGUgcmFuZ2U6IFJhbmdlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX1NFTEVDVElPTl9TVFJFQU0pIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKSBwcml2YXRlIHJlYWRvbmx5IHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bjogVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgZ2V0Q2xpZW50UmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2NvbW1vbkFuY2VzdG9yQ29udGFpbmVyfSA9IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHR1aUlzRWxlbWVudChjb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyBjb21tb25BbmNlc3RvckNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICA6IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLnBhcmVudE5vZGU7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudCAmJiB0dWlJc0VsZW1lbnQoZWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgPyBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgICAgICAgICAgICAgIDogRU1QVFlfQ0xJRU5UX1JFQ1Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICd3b3JkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHVpR2V0V29yZFJhbmdlKHRoaXMucmFuZ2UpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5naG9zdCkge1xuICAgICAgICAgICAgdGhpcy52Y3IuZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZ2hvc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSYW5nZSgpOiBSYW5nZSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZSA9IHR1aUdldE5hdGl2ZUZvY3VzZWQodGhpcy5kb2MpO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmRvYy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPVxuICAgICAgICAgICAgYWN0aXZlICYmIHR1aUlzVGV4dGZpZWxkKGFjdGl2ZSkgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGFjdGl2ZSlcbiAgICAgICAgICAgICAgICA/IHRoaXMudmVyeVZlcnlTYWRJbnB1dEZpeChhY3RpdmUpXG4gICAgICAgICAgICAgICAgOiAoc2VsZWN0aW9uPy5yYW5nZUNvdW50ICYmIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApKSB8fCB0aGlzLnJhbmdlO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5jbG9uZVJhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgTm9kZSBpcyBpbnNpZGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwcml2YXRlIGJveENvbnRhaW5zKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bi5kcm9wZG93bkJveFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jb250YWlucyhub2RlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbDtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZW5kQ29udGFpbmVyKTtcblxuICAgICAgICByZXR1cm4gaW5Ecm9wZG93biB8fCBob3N0VG9Ecm9wZG93biB8fCBkcm9wZG93blRvSG9zdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnlWZXJ5U2FkSW5wdXRGaXgoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBSYW5nZSB7XG4gICAgICAgIGNvbnN0IHtnaG9zdCA9IHRoaXMuaW5pdEdob3N0KGVsZW1lbnQpfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHt0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHR9ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3NlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQsIHZhbHVlfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2MuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgZ2hvc3Quc3R5bGUudG9wID0gdHVpUHgodG9wIC0gaG9zdFJlY3QudG9wKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQgLSBob3N0UmVjdC5sZWZ0KTtcbiAgICAgICAgZ2hvc3Quc3R5bGUud2lkdGggPSB0dWlQeCh3aWR0aCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmhlaWdodCA9IHR1aVB4KGhlaWdodCk7XG4gICAgICAgIGdob3N0LnRleHRDb250ZW50ID0gQ0hBUl9aRVJPX1dJRFRIX1NQQUNFICsgdmFsdWUgKyBDSEFSX05PX0JSRUFLX1NQQUNFO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGdob3N0LmZpcnN0Q2hpbGQgYXMgTm9kZSwgc2VsZWN0aW9uU3RhcnQgfHwgMCk7XG4gICAgICAgIHJhbmdlLnNldEVuZChnaG9zdC5maXJzdENoaWxkIGFzIE5vZGUsIHNlbGVjdGlvbkVuZCB8fCAwKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuIGludmlzaWJsZSBESVYgc3R5bGVkIGV4YWN0bHkgbGlrZSBpbnB1dC90ZXh0YXJlYSBlbGVtZW50IGluc2lkZSBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRHaG9zdChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZ2hvc3QgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge2ZvbnQsIGxldHRlclNwYWNpbmcsIHRleHRUcmFuc2Zvcm0sIHBhZGRpbmd9ID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgICAgICBnaG9zdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGdob3N0LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlLXdyYXAnO1xuICAgICAgICBnaG9zdC5zdHlsZS5mb250ID0gZm9udDtcbiAgICAgICAgZ2hvc3Quc3R5bGUubGV0dGVyU3BhY2luZyA9IGxldHRlclNwYWNpbmc7XG4gICAgICAgIGdob3N0LnN0eWxlLnRleHRUcmFuc2Zvcm0gPSB0ZXh0VHJhbnNmb3JtO1xuICAgICAgICBnaG9zdC5zdHlsZS5wYWRkaW5nID0gcGFkZGluZztcblxuICAgICAgICB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsYUFBYSxFQUNiLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixTQUFTLEdBRVosTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUzFELE1BQU0sT0FBTyw2QkFDVCxTQUFRLFNBQVM7SUE0Q2pCLFlBQ2lDLEtBQVksRUFDSixHQUFhLEVBQ0QsVUFBK0IsRUFDekMsRUFBMkIsRUFDckIsR0FBcUIsRUFDakIsUUFBOEI7UUFFL0UsS0FBSyxDQUFD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Q2hCLG9CQUFvQjsrR0FuRHZCLDZCQUE2QixnTEFMM0I7UUFDUCxXQUFXLENBQUMsNkJBQTZCLENBQUM7UUFDMUMsaUJBQWlCLENBQUMsNkJBQTZCLENBQUM7S0FDbkQ7NEZBRVEsNkJBQTZCO2tCQVB6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCxXQUFXLCtCQUErQjt3QkFDMUMsaUJBQWlCLCtCQUErQjtxQkFDbkQ7aUJBQ0o7MERBK0MyQyxLQUFLOzBCQUF4QyxNQUFNOzJCQUFDLFNBQVM7OEJBQ3lCLFFBQVE7MEJBQWpELE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsb0JBQW9COzRDQWpCaEMsUUFBUTtzQkFEUCxLQUFLO3VCQUFDLDhCQUE4QjtnQkFJakMsb0JBQW9CO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBFTVBUWV9DTElFTlRfUkVDVCxcbiAgICBUVUlfUkFOR0UsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpR2V0TmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgdHVpSXNUZXh0ZmllbGQsXG4gICAgdHVpSXNUZXh0Tm9kZSxcbiAgICB0dWlQeCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzRHJpdmVyLFxuICAgIHR1aUFzUmVjdEFjY2Vzc29yLFxuICAgIFR1aURyaXZlcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VFVJX1NFTEVDVElPTl9TVFJFQU19IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldFdvcmRSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25dW3R1aURyb3Bkb3duU2VsZWN0aW9uXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25TZWxlY3Rpb25EaXJlY3RpdmUpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBUdWlEcml2ZXJcbiAgICBpbXBsZW1lbnRzIFR1aVJlY3RBY2Nlc3NvciwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSBnaG9zdD86IEhUTUxFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4+KFxuICAgICAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RyZWFtJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmhhbmRsZXIkLFxuICAgICAgICB0aGlzLnNlbGVjdGlvbiQucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFJhbmdlKCkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgKHgsIHkpID0+IHguc3RhcnRPZmZzZXQgPT09IHkuc3RhcnRPZmZzZXQgJiYgeC5lbmRPZmZzZXQgPT09IHkuZW5kT2Zmc2V0LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtoYW5kbGVyLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgICAgICByYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcixcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMucmFuZ2UgPVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAmJiB0dWlJc1RleHROb2RlKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKVxuICAgICAgICAgICAgICAgICAgICA/IHJhbmdlXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5yYW5nZTtcblxuICAgICAgICAgICAgcmV0dXJuIChjb250YWluZWQgJiYgaGFuZGxlcih0aGlzLnJhbmdlKSkgfHwgdGhpcy5pbkRyb3Bkb3duKHJhbmdlKTtcbiAgICAgICAgfSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcG9zaXRpb246ICdzZWxlY3Rpb24nIHwgJ3RhZycgfCAnd29yZCcgPSAnc2VsZWN0aW9uJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHR1aURyb3Bkb3duU2VsZWN0aW9uKHZpc2libGU6IFR1aUJvb2xlYW5IYW5kbGVyPFJhbmdlPiB8IHN0cmluZykge1xuICAgICAgICBpZiAoIXR1aUlzU3RyaW5nKHZpc2libGUpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXIkLm5leHQodmlzaWJsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9SQU5HRSkgcHJvdGVjdGVkIHJhbmdlOiBSYW5nZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX1NFTEVDVElPTl9TVFJFQU0pIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3Rpb24kOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByb3RlY3RlZCByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVmlld0NvbnRhaW5lclJlZikgcHJvdGVjdGVkIHJlYWRvbmx5IHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duOiBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLnN0cmVhbSQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICBnZXRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBzd2l0Y2ggKHRoaXMucG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RhZyc6IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7Y29tbW9uQW5jZXN0b3JDb250YWluZXJ9ID0gdGhpcy5yYW5nZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdHVpSXNFbGVtZW50KGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKVxuICAgICAgICAgICAgICAgICAgICA/IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIDogY29tbW9uQW5jZXN0b3JDb250YWluZXIucGFyZW50Tm9kZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50ICYmIHR1aUlzRWxlbWVudChlbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICA/IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgICAgICAgICAgICAgOiBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3dvcmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0dWlHZXRXb3JkUmFuZ2UodGhpcy5yYW5nZSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5naG9zdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UmFuZ2UoKTogUmFuZ2Uge1xuICAgICAgICBjb25zdCBhY3RpdmUgPSB0dWlHZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5kb2MuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID1cbiAgICAgICAgICAgIGFjdGl2ZSAmJiB0dWlJc1RleHRmaWVsZChhY3RpdmUpICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhhY3RpdmUpXG4gICAgICAgICAgICAgICAgPyB0aGlzLnZlcnlWZXJ5U2FkSW5wdXRGaXgoYWN0aXZlKVxuICAgICAgICAgICAgICAgIDogKHNlbGVjdGlvbj8ucmFuZ2VDb3VudCAmJiBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSkgfHwgdGhpcy5yYW5nZTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UuY2xvbmVSYW5nZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGdpdmVuIHJhbmdlIGlzIGF0IGxlYXN0IHBhcnRpYWxseSBpbnNpZGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5Ecm9wZG93bihyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3N0YXJ0Q29udGFpbmVyLCBlbmRDb250YWluZXJ9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IGluRHJvcGRvd24gPSB0aGlzLmJveENvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaG9zdFRvRHJvcGRvd24gPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhlbmRDb250YWluZXIpICYmIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoc3RhcnRDb250YWluZXIpO1xuICAgICAgICBjb25zdCBkcm9wZG93blRvSG9zdCA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKSAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVuZENvbnRhaW5lcik7XG5cbiAgICAgICAgcmV0dXJuIGluRHJvcGRvd24gfHwgaG9zdFRvRHJvcGRvd24gfHwgZHJvcGRvd25Ub0hvc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdChlbGVtZW50KX0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kLCB2YWx1ZX0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnRvcCA9IHR1aVB4KHRvcCAtIGhvc3RSZWN0LnRvcCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmxlZnQgPSB0dWlQeChsZWZ0IC0gaG9zdFJlY3QubGVmdCk7XG4gICAgICAgIGdob3N0LnN0eWxlLndpZHRoID0gdHVpUHgod2lkdGgpO1xuICAgICAgICBnaG9zdC5zdHlsZS5oZWlnaHQgPSB0dWlQeChoZWlnaHQpO1xuICAgICAgICBnaG9zdC50ZXh0Q29udGVudCA9IENIQVJfWkVST19XSURUSF9TUEFDRSArIHZhbHVlICsgQ0hBUl9OT19CUkVBS19TUEFDRTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChnaG9zdC5maXJzdENoaWxkIGFzIE5vZGUsIHNlbGVjdGlvblN0YXJ0IHx8IDApO1xuICAgICAgICByYW5nZS5zZXRFbmQoZ2hvc3QuZmlyc3RDaGlsZCBhcyBOb2RlLCBzZWxlY3Rpb25FbmQgfHwgMCk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIE5vZGUgaXMgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBib3hDb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24uZHJvcGRvd25Cb3hSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobm9kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuIGludmlzaWJsZSBESVYgc3R5bGVkIGV4YWN0bHkgbGlrZSBpbnB1dC90ZXh0YXJlYSBlbGVtZW50IGluc2lkZSBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRHaG9zdChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZ2hvc3QgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge2ZvbnQsIGxldHRlclNwYWNpbmcsIHRleHRUcmFuc2Zvcm0sIHBhZGRpbmd9ID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgICAgICBnaG9zdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGdob3N0LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlLXdyYXAnO1xuICAgICAgICBnaG9zdC5zdHlsZS5mb250ID0gZm9udDtcbiAgICAgICAgZ2hvc3Quc3R5bGUubGV0dGVyU3BhY2luZyA9IGxldHRlclNwYWNpbmc7XG4gICAgICAgIGdob3N0LnN0eWxlLnRleHRUcmFuc2Zvcm0gPSB0ZXh0VHJhbnNmb3JtO1xuICAgICAgICBnaG9zdC5zdHlsZS5wYWRkaW5nID0gcGFkZGluZztcblxuICAgICAgICB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
@@ -10,6 +10,7 @@ import { map, takeUntil } from 'rxjs/operators';
10
10
  import { TuiDropdownDirective } from './dropdown.directive';
11
11
  import { TuiDropdownHoverDirective } from './dropdown-hover.directive';
12
12
  import { TUI_DROPDOWN_OPTIONS } from './dropdown-options.directive';
13
+ import { TuiDropdownPositionDirective } from './dropdown-position.directive';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@taiga-ui/core/components/scrollbar";
15
16
  import * as i2 from "@taiga-ui/cdk";
@@ -109,7 +110,7 @@ TuiDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", ver
109
110
  TuiDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownComponent, selector: "tui-dropdown", host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "@tuiDropdownAnimation": "animation", "attr.data-appearance": "options.appearance" } }, providers: [
110
111
  TuiDestroyService,
111
112
  TuiPositionService,
112
- tuiPositionAccessorFor('dropdown'),
113
+ tuiPositionAccessorFor('dropdown', TuiDropdownPositionDirective),
113
114
  tuiRectAccessorFor('dropdown', TuiDropdownDirective),
114
115
  MODE_PROVIDER,
115
116
  ], ngImport: i0, template: "<tui-scrollbar\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-scroll\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-dropdown);background:var(--tui-elevation-02);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-04);box-sizing:border-box;max-width:calc(100% - 8px);isolation:isolate;pointer-events:auto}:host.ng-animating{pointer-events:none}:host:not([style*=\"top\"]){visibility:hidden}:host[data-mode=onDark]{--tui-text-01: var(--tui-text-01-night);--tui-clear: var(--tui-clear-inverse);background:#222;border:1px solid #808080}.t-scroll{flex-grow:1;max-width:100%}.t-primitive{padding:1rem}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i2.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiDropdownAnimation], changeDetection: i0.ChangeDetectionStrategy.Default });
@@ -125,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
125
126
  providers: [
126
127
  TuiDestroyService,
127
128
  TuiPositionService,
128
- tuiPositionAccessorFor('dropdown'),
129
+ tuiPositionAccessorFor('dropdown', TuiDropdownPositionDirective),
129
130
  tuiRectAccessorFor('dropdown', TuiDropdownDirective),
130
131
  MODE_PROVIDER,
131
132
  ],
@@ -174,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
174
175
  type: Inject,
175
176
  args: [TuiDropdownHoverDirective]
176
177
  }] }]; } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixrQkFBa0IsR0FDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR3RFLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFD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QUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHt0dWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1R1aVBvc2l0aW9uU2VydmljZSwgVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0RST1BET1dOX09QVElPTlMsIFR1aURyb3Bkb3duT3B0aW9uc30gZnJvbSAnLi9kcm9wZG93bi1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uOlxuICogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBzaG93IHRlbXBsYXRlIGluIGEgcG9ydGFsXG4gKiB1c2luZyBkZWZhdWx0IHN0eWxlIG9mIHdoaXRlIHJvdW5kZWQgYm94IHdpdGggYSBzaGFkb3dcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5zdHlsZS5sZXNzJ10sXG4gICAgLy8gQGJhZCBUT0RPOiBPblB1c2hcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgICAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdkcm9wZG93bicpLFxuICAgICAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJywgVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW0B0dWlEcm9wZG93bkFuaW1hdGlvbl0nOiAnYW5pbWF0aW9uJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtYXBwZWFyYW5jZV0nOiAnb3B0aW9ucy5hcHBlYXJhbmNlJyxcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbdHVpRHJvcGRvd25BbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlKSB2aXN1YWxWaWV3cG9ydFNlcnZpY2U6IFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpIHBvc2l0aW9uJDogT2JzZXJ2YWJsZTxUdWlQb2ludD4sXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSByZWFkb25seSBhbmltYXRpb246IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yOiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURyb3Bkb3duT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyRGlyZWN0aXZlOiBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgcG9zaXRpb24kXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocG9pbnQgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmUucG9zaXRpb24gPT09ICdmaXhlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdmlzdWFsVmlld3BvcnRTZXJ2aWNlLmNvcnJlY3QocG9pbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHBvaW50LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFt0b3AsIGxlZnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGUodG9wLCBsZWZ0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCkud2lkdGgpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG92ZXJEaXJlY3RpdmU/LnRvZ2dsZShob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvblRvcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Cb3R0b21Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNPdXRzaWRlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtyaWdodH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHttYXhIZWlnaHQsIG1pbkhlaWdodCwgb2Zmc2V0fSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3Qge2lubmVySGVpZ2h0fSA9IHRoaXMud2luO1xuICAgICAgICBjb25zdCBjbGllbnRSZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtwb3NpdGlvbn0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py5sZWZ0IHx8IDApO1xuICAgICAgICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py50b3AgfHwgMCk7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBpc0ludGVyc2VjdGluZyA9XG4gICAgICAgICAgICBsZWZ0IDwgcmVjdC5yaWdodCAmJiByaWdodCA+IHJlY3QubGVmdCAmJiB0b3AgPCBvZmZzZXRZICsgMiAqIG9mZnNldDtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gaXNJbnRlcnNlY3RpbmdcbiAgICAgICAgICAgID8gcmVjdC50b3AgLSAyICogb2Zmc2V0XG4gICAgICAgICAgICA6IG9mZnNldFkgKyBpbm5lckhlaWdodCAtIHRvcCAtIG9mZnNldDtcblxuICAgICAgICBjb25zdCBzaWRlZCA9IHJpZ2h0IDw9IHJlY3QubGVmdCB8fCBsZWZ0ID49IHJlY3QucmlnaHQ7XG5cbiAgICAgICAgc3R5bGUucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgc3R5bGUudG9wID0gdHVpUHgoTWF0aC5tYXgodG9wLCBvZmZzZXRZICsgb2Zmc2V0KSk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSB0dWlQeChsZWZ0KTtcbiAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gc2lkZWRcbiAgICAgICAgICAgID8gYCR7bWF4SGVpZ2h0fXB4YFxuICAgICAgICAgICAgOiB0dWlQeChNYXRoLm1pbihtYXhIZWlnaHQsIE1hdGgubWF4KGF2YWlsYWJsZSwgbWluSGVpZ2h0KSkpO1xuICAgICAgICBzdHlsZS53aWR0aCA9ICcnO1xuICAgICAgICBzdHlsZS5taW5XaWR0aCA9ICcnO1xuXG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgocmVjdC53aWR0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVXaWR0aCh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLm9wdGlvbnMubGltaXRXaWR0aCkge1xuICAgICAgICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpeGVkJzpcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2F1dG8nOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlRm9jdXNPdXRzaWRlKHByZXZpb3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZGlyZWN0aXZlLmVsO1xuICAgICAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBuYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByb290ID0gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuYm9keSA6IG5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGxldCBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBuYXRpdmVFbGVtZW50LCByb290LCBwcmV2aW91c30pO1xuXG4gICAgICAgIHdoaWxlIChmb2N1c2FibGUgIT09IG51bGwgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhmb2N1c2FibGUpKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBmb2N1c2FibGUsIHJvb3QsIHByZXZpb3VzfSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb2N1c2FibGU/LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPHR1aS1zY3JvbGxiYXJcbiAgICAjYWN0aXZlWm9uZT1cInR1aUFjdGl2ZVpvbmVcIlxuICAgIHR1aUFjdGl2ZVpvbmVcbiAgICB0dWlPdmVyc2Nyb2xsPVwiYWxsXCJcbiAgICBjbGFzcz1cInQtc2Nyb2xsXCJcbiAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkhvdmVyZWRDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoZm9jdXMpPVwib25Ub3BGb2N1cygpXCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGlyZWN0aXZlLmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogYWN0aXZlWm9uZX1cIlxuICAgICAgICBjbGFzcz1cInQtcHJpbWl0aXZlXCJcbiAgICA+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkJvdHRvbUZvY3VzKClcIlxuICAgID48L2Rpdj5cbjwvdHVpLXNjcm9sbGJhcj5cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixrQkFBa0IsR0FDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR3RFLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFD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QUNqQixNQUFNOzJCQUFDLGVBQWU7OEJBQ2UsTUFBTTswQkFBM0MsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHt0dWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1R1aVBvc2l0aW9uU2VydmljZSwgVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0RST1BET1dOX09QVElPTlMsIFR1aURyb3Bkb3duT3B0aW9uc30gZnJvbSAnLi9kcm9wZG93bi1vcHRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb246XG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWxcbiAqIHVzaW5nIGRlZmF1bHQgc3R5bGUgb2Ygd2hpdGUgcm91bmRlZCBib3ggd2l0aCBhIHNoYWRvd1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICAvLyBAYmFkIFRPRE86IE9uUHVzaFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlQb3NpdGlvblNlcnZpY2UsXG4gICAgICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJywgVHVpRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSksXG4gICAgICAgIHR1aVJlY3RBY2Nlc3NvckZvcignZHJvcGRvd24nLCBUdWlEcm9wZG93bkRpcmVjdGl2ZSksXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aURyb3Bkb3duQW5pbWF0aW9uXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW2F0dHIuZGF0YS1hcHBlYXJhbmNlXSc6ICdvcHRpb25zLmFwcGVhcmFuY2UnLFxuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFt0dWlEcm9wZG93bkFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpIHZpc3VhbFZpZXdwb3J0U2VydmljZTogVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSkgcG9zaXRpb24kOiBPYnNlcnZhYmxlPFR1aVBvaW50PixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSkgcmVhZG9ubHkgZGlyZWN0aXZlOiBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcmVhZG9ubHkgb3B0aW9uczogVHVpRHJvcGRvd25PcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJEaXJlY3RpdmU6IFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBwb3NpdGlvbiRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChwb2ludCA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB2aXN1YWxWaWV3cG9ydFNlcnZpY2UuY29ycmVjdChwb2ludClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcG9pbnQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZSh0b3AsIGxlZnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKS53aWR0aCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3ZlckRpcmVjdGl2ZT8udG9nZ2xlKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3JpZ2h0fSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge21heEhlaWdodCwgbWluSGVpZ2h0LCBvZmZzZXR9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHR9ID0gdGhpcy53aW47XG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3Bvc2l0aW9ufSA9IHRoaXMuZGlyZWN0aXZlO1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldFggPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtKGNsaWVudFJlY3Q/LmxlZnQgfHwgMCk7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtKGNsaWVudFJlY3Q/LnRvcCB8fCAwKTtcblxuICAgICAgICB0b3AgKz0gb2Zmc2V0WTtcbiAgICAgICAgbGVmdCArPSBvZmZzZXRYO1xuXG4gICAgICAgIGNvbnN0IGlzSW50ZXJzZWN0aW5nID1cbiAgICAgICAgICAgIGxlZnQgPCByZWN0LnJpZ2h0ICYmIHJpZ2h0ID4gcmVjdC5sZWZ0ICYmIHRvcCA8IG9mZnNldFkgKyAyICogb2Zmc2V0O1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBpc0ludGVyc2VjdGluZ1xuICAgICAgICAgICAgPyByZWN0LnRvcCAtIDIgKiBvZmZzZXRcbiAgICAgICAgICAgIDogb2Zmc2V0WSArIGlubmVySGVpZ2h0IC0gdG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIGNvbnN0IHNpZGVkID0gcmlnaHQgPD0gcmVjdC5sZWZ0IHx8IGxlZnQgPj0gcmVjdC5yaWdodDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBzdHlsZS50b3AgPSB0dWlQeChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQpO1xuICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSBzaWRlZFxuICAgICAgICAgICAgPyBgJHttYXhIZWlnaHR9cHhgXG4gICAgICAgICAgICA6IHR1aVB4KE1hdGgubWluKG1heEhlaWdodCwgTWF0aC5tYXgoYXZhaWxhYmxlLCBtaW5IZWlnaHQpKSk7XG4gICAgICAgIHN0eWxlLndpZHRoID0gJyc7XG4gICAgICAgIHN0eWxlLm1pbldpZHRoID0gJyc7XG5cbiAgICAgICAgdGhpcy51cGRhdGVXaWR0aChyZWN0LndpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdpZHRoKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5saW1pdFdpZHRoKSB7XG4gICAgICAgICAgICBjYXNlICdtaW4nOlxuICAgICAgICAgICAgICAgIHN0eWxlLm1pbldpZHRoID0gdHVpUHgod2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZml4ZWQnOlxuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gdHVpUHgod2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXV0byc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5kaXJlY3RpdmUuZWw7XG4gICAgICAgIGNvbnN0IHtvd25lckRvY3VtZW50fSA9IG5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5ib2R5IDogbmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGZvY3VzYWJsZSA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWw6IG5hdGl2ZUVsZW1lbnQsIHJvb3QsIHByZXZpb3VzfSk7XG5cbiAgICAgICAgd2hpbGUgKGZvY3VzYWJsZSAhPT0gbnVsbCAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGZvY3VzYWJsZSkpIHtcbiAgICAgICAgICAgIGZvY3VzYWJsZSA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWw6IGZvY3VzYWJsZSwgcm9vdCwgcHJldmlvdXN9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbGJhclxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgdHVpQWN0aXZlWm9uZVxuICAgIHR1aU92ZXJzY3JvbGw9XCJhbGxcIlxuICAgIGNsYXNzPVwidC1zY3JvbGxcIlxuICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZENoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChmb2N1cyk9XCJvblRvcEZvY3VzKClcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkaXJlY3RpdmUuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBhY3RpdmVab25lfVwiXG4gICAgICAgIGNsYXNzPVwidC1wcmltaXRpdmVcIlxuICAgID5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uQm90dG9tRm9jdXMoKVwiXG4gICAgPjwvZGl2PlxuPC90dWktc2Nyb2xsYmFyPlxuIl19