@paperless/angular 0.1.0-alpha.37 → 0.1.0-alpha.371

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 (116) hide show
  1. package/README.md +9 -1
  2. package/esm2020/lib/animations/fade.mjs +22 -0
  3. package/esm2020/lib/animations/index.mjs +3 -0
  4. package/esm2020/lib/animations/slide.mjs +20 -0
  5. package/esm2020/lib/base/form.component.mjs +105 -0
  6. package/esm2020/lib/base/index.mjs +3 -1
  7. package/esm2020/lib/base/upload.component.mjs +57 -0
  8. package/esm2020/lib/base/value-accessor.mjs +8 -8
  9. package/esm2020/lib/directives/index.mjs +15 -4
  10. package/esm2020/lib/directives/p-datepicker.directive.mjs +39 -0
  11. package/esm2020/lib/directives/p-page-size-select.directive.mjs +42 -0
  12. package/esm2020/lib/directives/p-pagination.directive.mjs +42 -0
  13. package/esm2020/lib/directives/p-select.directive.mjs +37 -0
  14. package/esm2020/lib/modules/index.mjs +8 -0
  15. package/esm2020/lib/modules/overlay/index.mjs +4 -0
  16. package/esm2020/lib/modules/overlay/overlay.module.mjs +38 -0
  17. package/esm2020/lib/modules/overlay/overlay.ref.mjs +12 -0
  18. package/esm2020/lib/modules/overlay/services/index.mjs +4 -0
  19. package/esm2020/lib/modules/overlay/services/overlay.service.mjs +74 -0
  20. package/esm2020/lib/modules/table/base/index.mjs +2 -0
  21. package/esm2020/lib/modules/table/base/table.component.mjs +201 -0
  22. package/esm2020/lib/modules/table/components/index.mjs +8 -0
  23. package/esm2020/lib/modules/table/components/table/constants.mjs +3 -0
  24. package/esm2020/lib/modules/table/components/table/table.component.mjs +658 -0
  25. package/esm2020/lib/modules/table/components/table-cell/table-cell.component.mjs +167 -0
  26. package/esm2020/lib/modules/table/components/table-column/table-column.component.mjs +37 -0
  27. package/esm2020/lib/modules/table/directives/index.mjs +21 -0
  28. package/esm2020/lib/modules/table/directives/p-table-custom-filter.directive.mjs +13 -0
  29. package/esm2020/lib/modules/table/directives/p-table-filter-modal.directive.mjs +13 -0
  30. package/esm2020/lib/modules/table/directives/p-table-footer.directive.mjs +52 -0
  31. package/esm2020/lib/modules/table/directives/p-table-header.directive.mjs +60 -0
  32. package/esm2020/lib/modules/table/directives/p-table-ngx.directive.mjs +121 -0
  33. package/esm2020/lib/modules/table/directives/p-table.directive.mjs +78 -0
  34. package/esm2020/lib/modules/table/index.mjs +6 -0
  35. package/esm2020/lib/modules/table/table.module.mjs +29 -0
  36. package/esm2020/lib/modules/table/utils.mjs +23 -0
  37. package/esm2020/lib/modules/toast/components/index.mjs +4 -0
  38. package/esm2020/lib/modules/toast/components/toast-container/toast-container.component.mjs +36 -0
  39. package/esm2020/lib/modules/toast/directives/index.mjs +4 -0
  40. package/esm2020/lib/modules/toast/directives/toast.directive.mjs +51 -0
  41. package/esm2020/lib/modules/toast/index.mjs +6 -0
  42. package/esm2020/lib/modules/toast/services/index.mjs +4 -0
  43. package/esm2020/lib/modules/toast/services/toast.service.mjs +53 -0
  44. package/esm2020/lib/modules/toast/toast.module.mjs +22 -0
  45. package/esm2020/lib/modules/toast/types.mjs +10 -0
  46. package/esm2020/lib/paperless.module.mjs +32 -11
  47. package/esm2020/lib/pipes/currency.pipe.mjs +20 -0
  48. package/esm2020/lib/pipes/date.pipe.mjs +20 -0
  49. package/esm2020/lib/pipes/index.mjs +8 -0
  50. package/esm2020/lib/pipes/safe.pipe.mjs +33 -0
  51. package/esm2020/lib/stencil/angular-component-lib/utils.mjs +6 -8
  52. package/esm2020/lib/stencil/components.mjs +1110 -145
  53. package/esm2020/lib/stencil/index.mjs +39 -1
  54. package/esm2020/lib/stencil.module.mjs +17 -0
  55. package/esm2020/public-api.mjs +6 -1
  56. package/fesm2015/paperless-angular.mjs +3266 -246
  57. package/fesm2015/paperless-angular.mjs.map +1 -1
  58. package/fesm2020/paperless-angular.mjs +3279 -246
  59. package/fesm2020/paperless-angular.mjs.map +1 -1
  60. package/lib/animations/fade.d.ts +2 -0
  61. package/lib/animations/index.d.ts +2 -0
  62. package/lib/animations/slide.d.ts +2 -0
  63. package/lib/base/form.component.d.ts +15 -0
  64. package/lib/base/index.d.ts +2 -0
  65. package/lib/base/upload.component.d.ts +16 -0
  66. package/lib/base/value-accessor.d.ts +6 -6
  67. package/lib/directives/index.d.ts +6 -3
  68. package/lib/directives/p-datepicker.directive.d.ts +9 -0
  69. package/lib/directives/p-page-size-select.directive.d.ts +10 -0
  70. package/lib/directives/{pagination.directive.d.ts → p-pagination.directive.d.ts} +3 -3
  71. package/lib/directives/p-select.directive.d.ts +9 -0
  72. package/lib/modules/index.d.ts +5 -0
  73. package/lib/modules/overlay/index.d.ts +3 -0
  74. package/lib/modules/overlay/overlay.module.d.ts +12 -0
  75. package/lib/modules/overlay/overlay.ref.d.ts +9 -0
  76. package/lib/modules/overlay/services/index.d.ts +3 -0
  77. package/lib/modules/overlay/services/overlay.service.d.ts +24 -0
  78. package/lib/modules/table/base/index.d.ts +1 -0
  79. package/lib/modules/table/base/table.component.d.ts +58 -0
  80. package/lib/modules/table/components/index.d.ts +7 -0
  81. package/lib/modules/table/components/table/constants.d.ts +2 -0
  82. package/lib/modules/table/components/table/table.component.d.ts +240 -0
  83. package/lib/modules/table/components/table-cell/table-cell.component.d.ts +45 -0
  84. package/lib/modules/table/components/table-column/table-column.component.d.ts +17 -0
  85. package/lib/modules/table/directives/index.d.ts +12 -0
  86. package/lib/modules/table/directives/p-table-custom-filter.directive.d.ts +5 -0
  87. package/lib/modules/table/directives/p-table-filter-modal.directive.d.ts +5 -0
  88. package/lib/modules/table/directives/p-table-footer.directive.d.ts +11 -0
  89. package/lib/modules/table/directives/p-table-header.directive.d.ts +17 -0
  90. package/lib/modules/table/directives/p-table-ngx.directive.d.ts +27 -0
  91. package/lib/modules/table/directives/p-table.directive.d.ts +22 -0
  92. package/lib/modules/table/index.d.ts +5 -0
  93. package/lib/modules/table/table.module.d.ts +17 -0
  94. package/lib/modules/table/utils.d.ts +10 -0
  95. package/lib/modules/toast/components/index.d.ts +3 -0
  96. package/lib/modules/toast/components/toast-container/toast-container.component.d.ts +17 -0
  97. package/lib/modules/toast/directives/index.d.ts +3 -0
  98. package/lib/modules/toast/directives/toast.directive.d.ts +16 -0
  99. package/lib/modules/toast/index.d.ts +5 -0
  100. package/lib/modules/toast/services/index.d.ts +3 -0
  101. package/lib/modules/toast/services/toast.service.d.ts +12 -0
  102. package/lib/modules/toast/toast.module.d.ts +10 -0
  103. package/lib/modules/toast/types.d.ts +31 -0
  104. package/lib/paperless.module.d.ts +15 -3
  105. package/lib/pipes/currency.pipe.d.ts +10 -0
  106. package/lib/pipes/date.pipe.d.ts +10 -0
  107. package/lib/pipes/index.d.ts +7 -0
  108. package/lib/pipes/safe.pipe.d.ts +10 -0
  109. package/lib/stencil/components.d.ts +489 -43
  110. package/lib/stencil/index.d.ts +1 -1
  111. package/lib/stencil.module.d.ts +7 -0
  112. package/package.json +8 -6
  113. package/paperless.css +436 -0
  114. package/public-api.d.ts +5 -0
  115. package/esm2020/lib/directives/pagination.directive.mjs +0 -42
  116. /package/{paperless-angular.d.ts → index.d.ts} +0 -0
@@ -4,6 +4,58 @@ import { __decorate } from "tslib";
4
4
  import { ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
6
  import * as i0 from "@angular/core";
7
+ let PAccordion = class PAccordion {
8
+ constructor(c, r, z) {
9
+ this.z = z;
10
+ c.detach();
11
+ this.el = r.nativeElement;
12
+ proxyOutputs(this, this.el, ['isOpen']);
13
+ }
14
+ };
15
+ PAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
16
+ PAccordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PAccordion, selector: "p-accordion", inputs: { closeable: "closeable", header: "header", open: "open", openable: "openable" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ PAccordion = __decorate([
18
+ ProxyCmp({
19
+ inputs: ['closeable', 'header', 'open', 'openable']
20
+ })
21
+ ], PAccordion);
22
+ export { PAccordion };
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAccordion, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'p-accordion',
27
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
+ template: '<ng-content></ng-content>',
29
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
30
+ inputs: ['closeable', 'header', 'open', 'openable'],
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
33
+ let PAttachment = class PAttachment {
34
+ constructor(c, r, z) {
35
+ this.z = z;
36
+ c.detach();
37
+ this.el = r.nativeElement;
38
+ proxyOutputs(this, this.el, ['download', 'delete']);
39
+ }
40
+ };
41
+ PAttachment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAttachment, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
42
+ PAttachment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PAttachment, selector: "p-attachment", inputs: { error: "error", loading: "loading", mode: "mode" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ PAttachment = __decorate([
44
+ ProxyCmp({
45
+ inputs: ['error', 'loading', 'mode']
46
+ })
47
+ ], PAttachment);
48
+ export { PAttachment };
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAttachment, decorators: [{
50
+ type: Component,
51
+ args: [{
52
+ selector: 'p-attachment',
53
+ changeDetection: ChangeDetectionStrategy.OnPush,
54
+ template: '<ng-content></ng-content>',
55
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
56
+ inputs: ['error', 'loading', 'mode'],
57
+ }]
58
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
7
59
  let PAvatar = class PAvatar {
8
60
  constructor(c, r, z) {
9
61
  this.z = z;
@@ -11,22 +63,73 @@ let PAvatar = class PAvatar {
11
63
  this.el = r.nativeElement;
12
64
  }
13
65
  };
14
- PAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
15
- PAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PAvatar, selector: "p-avatar", inputs: { defaultImage: "defaultImage", size: "size", src: "src", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
+ PAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
67
+ PAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PAvatar, selector: "p-avatar", inputs: { defaultImage: "defaultImage", size: "size", src: "src", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
68
  PAvatar = __decorate([
17
69
  ProxyCmp({
18
- defineCustomElementFn: undefined,
19
70
  inputs: ['defaultImage', 'size', 'src', 'variant']
20
71
  })
21
72
  ], PAvatar);
22
73
  export { PAvatar };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PAvatar, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAvatar, decorators: [{
24
75
  type: Component,
25
76
  args: [{
26
77
  selector: 'p-avatar',
27
78
  changeDetection: ChangeDetectionStrategy.OnPush,
28
79
  template: '<ng-content></ng-content>',
29
- inputs: ['defaultImage', 'size', 'src', 'variant']
80
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
81
+ inputs: ['defaultImage', 'size', 'src', 'variant'],
82
+ }]
83
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
84
+ let PAvatarGroup = class PAvatarGroup {
85
+ constructor(c, r, z) {
86
+ this.z = z;
87
+ c.detach();
88
+ this.el = r.nativeElement;
89
+ }
90
+ };
91
+ PAvatarGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAvatarGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
92
+ PAvatarGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PAvatarGroup, selector: "p-avatar-group", inputs: { extra: "extra" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
+ PAvatarGroup = __decorate([
94
+ ProxyCmp({
95
+ inputs: ['extra']
96
+ })
97
+ ], PAvatarGroup);
98
+ export { PAvatarGroup };
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PAvatarGroup, decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ selector: 'p-avatar-group',
103
+ changeDetection: ChangeDetectionStrategy.OnPush,
104
+ template: '<ng-content></ng-content>',
105
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
106
+ inputs: ['extra'],
107
+ }]
108
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
109
+ let PBackdrop = class PBackdrop {
110
+ constructor(c, r, z) {
111
+ this.z = z;
112
+ c.detach();
113
+ this.el = r.nativeElement;
114
+ proxyOutputs(this, this.el, ['clicked']);
115
+ }
116
+ };
117
+ PBackdrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PBackdrop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
118
+ PBackdrop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PBackdrop, selector: "p-backdrop", inputs: { applyBlur: "applyBlur", closing: "closing", scrollLock: "scrollLock", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
+ PBackdrop = __decorate([
120
+ ProxyCmp({
121
+ inputs: ['applyBlur', 'closing', 'scrollLock', 'variant']
122
+ })
123
+ ], PBackdrop);
124
+ export { PBackdrop };
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PBackdrop, decorators: [{
126
+ type: Component,
127
+ args: [{
128
+ selector: 'p-backdrop',
129
+ changeDetection: ChangeDetectionStrategy.OnPush,
130
+ template: '<ng-content></ng-content>',
131
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
132
+ inputs: ['applyBlur', 'closing', 'scrollLock', 'variant'],
30
133
  }]
31
134
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
32
135
  let PButton = class PButton {
@@ -37,22 +140,148 @@ let PButton = class PButton {
37
140
  proxyOutputs(this, this.el, ['onClick']);
38
141
  }
39
142
  };
40
- PButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
41
- PButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PButton, selector: "p-button", inputs: { chevron: "chevron", disabled: "disabled", href: "href", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", loading: "loading", size: "size", target: "target", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ PButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
144
+ PButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PButton, selector: "p-button", inputs: { chevron: "chevron", chevronPosition: "chevronPosition", disabled: "disabled", href: "href", icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconPosition: "iconPosition", iconRotate: "iconRotate", inheritText: "inheritText", loading: "loading", size: "size", target: "target", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
145
  PButton = __decorate([
43
146
  ProxyCmp({
44
- defineCustomElementFn: undefined,
45
- inputs: ['chevron', 'disabled', 'href', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading', 'size', 'target', 'variant']
147
+ inputs: ['chevron', 'chevronPosition', 'disabled', 'href', 'icon', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'loading', 'size', 'target', 'variant']
46
148
  })
47
149
  ], PButton);
48
150
  export { PButton };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PButton, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PButton, decorators: [{
50
152
  type: Component,
51
153
  args: [{
52
154
  selector: 'p-button',
53
155
  changeDetection: ChangeDetectionStrategy.OnPush,
54
156
  template: '<ng-content></ng-content>',
55
- inputs: ['chevron', 'disabled', 'href', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading', 'size', 'target', 'variant']
157
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
158
+ inputs: ['chevron', 'chevronPosition', 'disabled', 'href', 'icon', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'loading', 'size', 'target', 'variant'],
159
+ }]
160
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
161
+ let PCalendar = class PCalendar {
162
+ constructor(c, r, z) {
163
+ this.z = z;
164
+ c.detach();
165
+ this.el = r.nativeElement;
166
+ proxyOutputs(this, this.el, ['valueChange']);
167
+ }
168
+ };
169
+ PCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCalendar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
170
+ PCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PCalendar, selector: "p-calendar", inputs: { disableWeekends: "disableWeekends", disabledDates: "disabledDates", maxDate: "maxDate", minDate: "minDate", mode: "mode", preselectToday: "preselectToday", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
171
+ PCalendar = __decorate([
172
+ ProxyCmp({
173
+ inputs: ['disableWeekends', 'disabledDates', 'maxDate', 'minDate', 'mode', 'preselectToday', 'value', 'variant']
174
+ })
175
+ ], PCalendar);
176
+ export { PCalendar };
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCalendar, decorators: [{
178
+ type: Component,
179
+ args: [{
180
+ selector: 'p-calendar',
181
+ changeDetection: ChangeDetectionStrategy.OnPush,
182
+ template: '<ng-content></ng-content>',
183
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
184
+ inputs: ['disableWeekends', 'disabledDates', 'maxDate', 'minDate', 'mode', 'preselectToday', 'value', 'variant'],
185
+ }]
186
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
187
+ let PCardBody = class PCardBody {
188
+ constructor(c, r, z) {
189
+ this.z = z;
190
+ c.detach();
191
+ this.el = r.nativeElement;
192
+ }
193
+ };
194
+ PCardBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
195
+ PCardBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PCardBody, selector: "p-card-body", inputs: { inheritText: "inheritText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
+ PCardBody = __decorate([
197
+ ProxyCmp({
198
+ inputs: ['inheritText']
199
+ })
200
+ ], PCardBody);
201
+ export { PCardBody };
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardBody, decorators: [{
203
+ type: Component,
204
+ args: [{
205
+ selector: 'p-card-body',
206
+ changeDetection: ChangeDetectionStrategy.OnPush,
207
+ template: '<ng-content></ng-content>',
208
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
209
+ inputs: ['inheritText'],
210
+ }]
211
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
212
+ let PCardContainer = class PCardContainer {
213
+ constructor(c, r, z) {
214
+ this.z = z;
215
+ c.detach();
216
+ this.el = r.nativeElement;
217
+ }
218
+ };
219
+ PCardContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
220
+ PCardContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PCardContainer, selector: "p-card-container", inputs: { hoverable: "hoverable", shadow: "shadow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
221
+ PCardContainer = __decorate([
222
+ ProxyCmp({
223
+ inputs: ['hoverable', 'shadow']
224
+ })
225
+ ], PCardContainer);
226
+ export { PCardContainer };
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardContainer, decorators: [{
228
+ type: Component,
229
+ args: [{
230
+ selector: 'p-card-container',
231
+ changeDetection: ChangeDetectionStrategy.OnPush,
232
+ template: '<ng-content></ng-content>',
233
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
234
+ inputs: ['hoverable', 'shadow'],
235
+ }]
236
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
237
+ let PCardHeader = class PCardHeader {
238
+ constructor(c, r, z) {
239
+ this.z = z;
240
+ c.detach();
241
+ this.el = r.nativeElement;
242
+ }
243
+ };
244
+ PCardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
245
+ PCardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PCardHeader, selector: "p-card-header", inputs: { arrow: "arrow", header: "header" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
246
+ PCardHeader = __decorate([
247
+ ProxyCmp({
248
+ inputs: ['arrow', 'header']
249
+ })
250
+ ], PCardHeader);
251
+ export { PCardHeader };
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCardHeader, decorators: [{
253
+ type: Component,
254
+ args: [{
255
+ selector: 'p-card-header',
256
+ changeDetection: ChangeDetectionStrategy.OnPush,
257
+ template: '<ng-content></ng-content>',
258
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
259
+ inputs: ['arrow', 'header'],
260
+ }]
261
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
262
+ let PContentSlider = class PContentSlider {
263
+ constructor(c, r, z) {
264
+ this.z = z;
265
+ c.detach();
266
+ this.el = r.nativeElement;
267
+ }
268
+ };
269
+ PContentSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PContentSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
270
+ PContentSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PContentSlider, selector: "p-content-slider", inputs: { disableAutoCenter: "disableAutoCenter", disableDrag: "disableDrag", disableIndicatorClick: "disableIndicatorClick", hideMobileIndicator: "hideMobileIndicator" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
271
+ PContentSlider = __decorate([
272
+ ProxyCmp({
273
+ inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator']
274
+ })
275
+ ], PContentSlider);
276
+ export { PContentSlider };
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PContentSlider, decorators: [{
278
+ type: Component,
279
+ args: [{
280
+ selector: 'p-content-slider',
281
+ changeDetection: ChangeDetectionStrategy.OnPush,
282
+ template: '<ng-content></ng-content>',
283
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
284
+ inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator'],
56
285
  }]
57
286
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
58
287
  let PCounter = class PCounter {
@@ -62,20 +291,48 @@ let PCounter = class PCounter {
62
291
  this.el = r.nativeElement;
63
292
  }
64
293
  };
65
- PCounter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PCounter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
66
- PCounter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PCounter, selector: "p-counter", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
294
+ PCounter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCounter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
295
+ PCounter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PCounter, selector: "p-counter", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
296
  PCounter = __decorate([
68
297
  ProxyCmp({
69
- defineCustomElementFn: undefined
298
+ inputs: ['size', 'variant']
70
299
  })
71
300
  ], PCounter);
72
301
  export { PCounter };
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PCounter, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PCounter, decorators: [{
74
303
  type: Component,
75
304
  args: [{
76
305
  selector: 'p-counter',
77
306
  changeDetection: ChangeDetectionStrategy.OnPush,
78
- template: '<ng-content></ng-content>'
307
+ template: '<ng-content></ng-content>',
308
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
309
+ inputs: ['size', 'variant'],
310
+ }]
311
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
312
+ let PDatepicker = class PDatepicker {
313
+ constructor(c, r, z) {
314
+ this.z = z;
315
+ c.detach();
316
+ this.el = r.nativeElement;
317
+ proxyOutputs(this, this.el, ['valueChange']);
318
+ }
319
+ };
320
+ PDatepicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDatepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
321
+ PDatepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDatepicker, selector: "p-datepicker", inputs: { disableWeekends: "disableWeekends", disabled: "disabled", disabledDates: "disabledDates", error: "error", format: "format", helper: "helper", label: "label", maxDate: "maxDate", minDate: "minDate", mode: "mode", placeholder: "placeholder", prefix: "prefix", preselectToday: "preselectToday", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
322
+ PDatepicker = __decorate([
323
+ ProxyCmp({
324
+ inputs: ['disableWeekends', 'disabled', 'disabledDates', 'error', 'format', 'helper', 'label', 'maxDate', 'minDate', 'mode', 'placeholder', 'prefix', 'preselectToday', 'size', 'value']
325
+ })
326
+ ], PDatepicker);
327
+ export { PDatepicker };
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDatepicker, decorators: [{
329
+ type: Component,
330
+ args: [{
331
+ selector: 'p-datepicker',
332
+ changeDetection: ChangeDetectionStrategy.OnPush,
333
+ template: '<ng-content></ng-content>',
334
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
335
+ inputs: ['disableWeekends', 'disabled', 'disabledDates', 'error', 'format', 'helper', 'label', 'maxDate', 'minDate', 'mode', 'placeholder', 'prefix', 'preselectToday', 'size', 'value'],
79
336
  }]
80
337
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
81
338
  let PDivider = class PDivider {
@@ -85,20 +342,122 @@ let PDivider = class PDivider {
85
342
  this.el = r.nativeElement;
86
343
  }
87
344
  };
88
- PDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
89
- PDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PDivider, selector: "p-divider", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
345
+ PDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
346
+ PDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDivider, selector: "p-divider", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
347
  PDivider = __decorate([
91
- ProxyCmp({
92
- defineCustomElementFn: undefined
93
- })
348
+ ProxyCmp({})
94
349
  ], PDivider);
95
350
  export { PDivider };
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDivider, decorators: [{
351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDivider, decorators: [{
97
352
  type: Component,
98
353
  args: [{
99
354
  selector: 'p-divider',
100
355
  changeDetection: ChangeDetectionStrategy.OnPush,
101
- template: '<ng-content></ng-content>'
356
+ template: '<ng-content></ng-content>',
357
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
358
+ inputs: [],
359
+ }]
360
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
361
+ let PDrawer = class PDrawer {
362
+ constructor(c, r, z) {
363
+ this.z = z;
364
+ c.detach();
365
+ this.el = r.nativeElement;
366
+ proxyOutputs(this, this.el, ['closeClicked', 'closed']);
367
+ }
368
+ };
369
+ PDrawer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
370
+ PDrawer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDrawer, selector: "p-drawer", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", canClose: "canClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
371
+ PDrawer = __decorate([
372
+ ProxyCmp({
373
+ inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose']
374
+ })
375
+ ], PDrawer);
376
+ export { PDrawer };
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawer, decorators: [{
378
+ type: Component,
379
+ args: [{
380
+ selector: 'p-drawer',
381
+ changeDetection: ChangeDetectionStrategy.OnPush,
382
+ template: '<ng-content></ng-content>',
383
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
384
+ inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose'],
385
+ }]
386
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
387
+ let PDrawerBody = class PDrawerBody {
388
+ constructor(c, r, z) {
389
+ this.z = z;
390
+ c.detach();
391
+ this.el = r.nativeElement;
392
+ }
393
+ };
394
+ PDrawerBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
395
+ PDrawerBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDrawerBody, selector: "p-drawer-body", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
396
+ PDrawerBody = __decorate([
397
+ ProxyCmp({
398
+ inputs: ['variant']
399
+ })
400
+ ], PDrawerBody);
401
+ export { PDrawerBody };
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerBody, decorators: [{
403
+ type: Component,
404
+ args: [{
405
+ selector: 'p-drawer-body',
406
+ changeDetection: ChangeDetectionStrategy.OnPush,
407
+ template: '<ng-content></ng-content>',
408
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
409
+ inputs: ['variant'],
410
+ }]
411
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
412
+ let PDrawerContainer = class PDrawerContainer {
413
+ constructor(c, r, z) {
414
+ this.z = z;
415
+ c.detach();
416
+ this.el = r.nativeElement;
417
+ }
418
+ };
419
+ PDrawerContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
420
+ PDrawerContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDrawerContainer, selector: "p-drawer-container", inputs: { closing: "closing" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
421
+ PDrawerContainer = __decorate([
422
+ ProxyCmp({
423
+ inputs: ['closing']
424
+ })
425
+ ], PDrawerContainer);
426
+ export { PDrawerContainer };
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerContainer, decorators: [{
428
+ type: Component,
429
+ args: [{
430
+ selector: 'p-drawer-container',
431
+ changeDetection: ChangeDetectionStrategy.OnPush,
432
+ template: '<ng-content></ng-content>',
433
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
434
+ inputs: ['closing'],
435
+ }]
436
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
437
+ let PDrawerHeader = class PDrawerHeader {
438
+ constructor(c, r, z) {
439
+ this.z = z;
440
+ c.detach();
441
+ this.el = r.nativeElement;
442
+ proxyOutputs(this, this.el, ['close']);
443
+ }
444
+ };
445
+ PDrawerHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
446
+ PDrawerHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDrawerHeader, selector: "p-drawer-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
447
+ PDrawerHeader = __decorate([
448
+ ProxyCmp({
449
+ inputs: ['showClose']
450
+ })
451
+ ], PDrawerHeader);
452
+ export { PDrawerHeader };
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDrawerHeader, decorators: [{
454
+ type: Component,
455
+ args: [{
456
+ selector: 'p-drawer-header',
457
+ changeDetection: ChangeDetectionStrategy.OnPush,
458
+ template: '<ng-content></ng-content>',
459
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
460
+ inputs: ['showClose'],
102
461
  }]
103
462
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
104
463
  let PDropdown = class PDropdown {
@@ -109,22 +468,22 @@ let PDropdown = class PDropdown {
109
468
  proxyOutputs(this, this.el, ['isOpen']);
110
469
  }
111
470
  };
112
- PDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
113
- PDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PDropdown, selector: "p-dropdown", inputs: { disableTriggerClick: "disableTriggerClick", insideClick: "insideClick", placement: "placement", show: "show" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
471
+ PDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
472
+ PDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDropdown, selector: "p-dropdown", inputs: { applyFullWidth: "applyFullWidth", applyMaxWidth: "applyMaxWidth", calculateWidth: "calculateWidth", chevronDirection: "chevronDirection", chevronPosition: "chevronPosition", disableTriggerClick: "disableTriggerClick", insideClick: "insideClick", placement: "placement", show: "show", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
473
  PDropdown = __decorate([
115
474
  ProxyCmp({
116
- defineCustomElementFn: undefined,
117
- inputs: ['disableTriggerClick', 'insideClick', 'placement', 'show']
475
+ inputs: ['applyFullWidth', 'applyMaxWidth', 'calculateWidth', 'chevronDirection', 'chevronPosition', 'disableTriggerClick', 'insideClick', 'placement', 'show', 'strategy']
118
476
  })
119
477
  ], PDropdown);
120
478
  export { PDropdown };
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdown, decorators: [{
479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdown, decorators: [{
122
480
  type: Component,
123
481
  args: [{
124
482
  selector: 'p-dropdown',
125
483
  changeDetection: ChangeDetectionStrategy.OnPush,
126
484
  template: '<ng-content></ng-content>',
127
- inputs: ['disableTriggerClick', 'insideClick', 'placement', 'show']
485
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
486
+ inputs: ['applyFullWidth', 'applyMaxWidth', 'calculateWidth', 'chevronDirection', 'chevronPosition', 'disableTriggerClick', 'insideClick', 'placement', 'show', 'strategy'],
128
487
  }]
129
488
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
130
489
  let PDropdownMenuContainer = class PDropdownMenuContainer {
@@ -134,20 +493,22 @@ let PDropdownMenuContainer = class PDropdownMenuContainer {
134
493
  this.el = r.nativeElement;
135
494
  }
136
495
  };
137
- PDropdownMenuContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdownMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
138
- PDropdownMenuContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PDropdownMenuContainer, selector: "p-dropdown-menu-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
496
+ PDropdownMenuContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdownMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
497
+ PDropdownMenuContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDropdownMenuContainer, selector: "p-dropdown-menu-container", inputs: { fullWidth: "fullWidth", maxWidth: "maxWidth" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
139
498
  PDropdownMenuContainer = __decorate([
140
499
  ProxyCmp({
141
- defineCustomElementFn: undefined
500
+ inputs: ['fullWidth', 'maxWidth']
142
501
  })
143
502
  ], PDropdownMenuContainer);
144
503
  export { PDropdownMenuContainer };
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdownMenuContainer, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdownMenuContainer, decorators: [{
146
505
  type: Component,
147
506
  args: [{
148
507
  selector: 'p-dropdown-menu-container',
149
508
  changeDetection: ChangeDetectionStrategy.OnPush,
150
- template: '<ng-content></ng-content>'
509
+ template: '<ng-content></ng-content>',
510
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
511
+ inputs: ['fullWidth', 'maxWidth'],
151
512
  }]
152
513
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
153
514
  let PDropdownMenuItem = class PDropdownMenuItem {
@@ -157,22 +518,22 @@ let PDropdownMenuItem = class PDropdownMenuItem {
157
518
  this.el = r.nativeElement;
158
519
  }
159
520
  };
160
- PDropdownMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdownMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
161
- PDropdownMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PDropdownMenuItem, selector: "p-dropdown-menu-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
521
+ PDropdownMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdownMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
522
+ PDropdownMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PDropdownMenuItem, selector: "p-dropdown-menu-item", inputs: { active: "active", enableHover: "enableHover", icon: "icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
523
  PDropdownMenuItem = __decorate([
163
524
  ProxyCmp({
164
- defineCustomElementFn: undefined,
165
- inputs: ['active']
525
+ inputs: ['active', 'enableHover', 'icon']
166
526
  })
167
527
  ], PDropdownMenuItem);
168
528
  export { PDropdownMenuItem };
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDropdownMenuItem, decorators: [{
529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PDropdownMenuItem, decorators: [{
170
530
  type: Component,
171
531
  args: [{
172
532
  selector: 'p-dropdown-menu-item',
173
533
  changeDetection: ChangeDetectionStrategy.OnPush,
174
534
  template: '<ng-content></ng-content>',
175
- inputs: ['active']
535
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
536
+ inputs: ['active', 'enableHover', 'icon'],
176
537
  }]
177
538
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
178
539
  let PHelper = class PHelper {
@@ -182,20 +543,22 @@ let PHelper = class PHelper {
182
543
  this.el = r.nativeElement;
183
544
  }
184
545
  };
185
- PHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PHelper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
186
- PHelper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PHelper, selector: "p-helper", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
546
+ PHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PHelper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
547
+ PHelper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PHelper, selector: "p-helper", inputs: { placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
187
548
  PHelper = __decorate([
188
549
  ProxyCmp({
189
- defineCustomElementFn: undefined
550
+ inputs: ['placement']
190
551
  })
191
552
  ], PHelper);
192
553
  export { PHelper };
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PHelper, decorators: [{
554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PHelper, decorators: [{
194
555
  type: Component,
195
556
  args: [{
196
557
  selector: 'p-helper',
197
558
  changeDetection: ChangeDetectionStrategy.OnPush,
198
- template: '<ng-content></ng-content>'
559
+ template: '<ng-content></ng-content>',
560
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
561
+ inputs: ['placement'],
199
562
  }]
200
563
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
201
564
  let PIcon = class PIcon {
@@ -205,22 +568,22 @@ let PIcon = class PIcon {
205
568
  this.el = r.nativeElement;
206
569
  }
207
570
  };
208
- PIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
209
- PIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PIcon, selector: "p-icon", inputs: { flip: "flip", rotate: "rotate", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
571
+ PIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
572
+ PIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PIcon, selector: "p-icon", inputs: { flip: "flip", rotate: "rotate", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
210
573
  PIcon = __decorate([
211
574
  ProxyCmp({
212
- defineCustomElementFn: undefined,
213
575
  inputs: ['flip', 'rotate', 'size', 'variant']
214
576
  })
215
577
  ], PIcon);
216
578
  export { PIcon };
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIcon, decorators: [{
579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PIcon, decorators: [{
218
580
  type: Component,
219
581
  args: [{
220
582
  selector: 'p-icon',
221
583
  changeDetection: ChangeDetectionStrategy.OnPush,
222
584
  template: '<ng-content></ng-content>',
223
- inputs: ['flip', 'rotate', 'size', 'variant']
585
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
586
+ inputs: ['flip', 'rotate', 'size', 'variant'],
224
587
  }]
225
588
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
226
589
  let PIllustration = class PIllustration {
@@ -230,22 +593,22 @@ let PIllustration = class PIllustration {
230
593
  this.el = r.nativeElement;
231
594
  }
232
595
  };
233
- PIllustration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIllustration, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
234
- PIllustration.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PIllustration, selector: "p-illustration", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
596
+ PIllustration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PIllustration, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
597
+ PIllustration.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PIllustration, selector: "p-illustration", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
235
598
  PIllustration = __decorate([
236
599
  ProxyCmp({
237
- defineCustomElementFn: undefined,
238
600
  inputs: ['variant']
239
601
  })
240
602
  ], PIllustration);
241
603
  export { PIllustration };
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIllustration, decorators: [{
604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PIllustration, decorators: [{
243
605
  type: Component,
244
606
  args: [{
245
607
  selector: 'p-illustration',
246
608
  changeDetection: ChangeDetectionStrategy.OnPush,
247
609
  template: '<ng-content></ng-content>',
248
- inputs: ['variant']
610
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
611
+ inputs: ['variant'],
249
612
  }]
250
613
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
251
614
  let PInfoPanel = class PInfoPanel {
@@ -255,221 +618,823 @@ let PInfoPanel = class PInfoPanel {
255
618
  this.el = r.nativeElement;
256
619
  }
257
620
  };
258
- PInfoPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PInfoPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
259
- PInfoPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PInfoPanel, selector: "p-info-panel", inputs: { closeable: "closeable", content: "content", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
621
+ PInfoPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInfoPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
622
+ PInfoPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PInfoPanel, selector: "p-info-panel", inputs: { closeable: "closeable", content: "content", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
260
623
  PInfoPanel = __decorate([
261
624
  ProxyCmp({
262
- defineCustomElementFn: undefined,
263
625
  inputs: ['closeable', 'content', 'header', 'variant']
264
626
  })
265
627
  ], PInfoPanel);
266
628
  export { PInfoPanel };
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PInfoPanel, decorators: [{
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInfoPanel, decorators: [{
268
630
  type: Component,
269
631
  args: [{
270
632
  selector: 'p-info-panel',
271
633
  changeDetection: ChangeDetectionStrategy.OnPush,
272
634
  template: '<ng-content></ng-content>',
273
- inputs: ['closeable', 'content', 'header', 'variant']
635
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
636
+ inputs: ['closeable', 'content', 'header', 'variant'],
274
637
  }]
275
638
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
276
- let PLoader = class PLoader {
639
+ let PInputError = class PInputError {
277
640
  constructor(c, r, z) {
278
641
  this.z = z;
279
642
  c.detach();
280
643
  this.el = r.nativeElement;
281
644
  }
282
645
  };
283
- PLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
284
- PLoader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PLoader, selector: "p-loader", inputs: { color: "color", modalDescription: "modalDescription", modalTitle: "modalTitle", show: "show", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
285
- PLoader = __decorate([
646
+ PInputError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInputError, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
647
+ PInputError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PInputError, selector: "p-input-error", inputs: { error: "error", forceShowTooltip: "forceShowTooltip" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
648
+ PInputError = __decorate([
286
649
  ProxyCmp({
287
- defineCustomElementFn: undefined,
288
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
650
+ inputs: ['error', 'forceShowTooltip']
289
651
  })
290
- ], PLoader);
291
- export { PLoader };
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PLoader, decorators: [{
652
+ ], PInputError);
653
+ export { PInputError };
654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInputError, decorators: [{
293
655
  type: Component,
294
656
  args: [{
295
- selector: 'p-loader',
657
+ selector: 'p-input-error',
296
658
  changeDetection: ChangeDetectionStrategy.OnPush,
297
659
  template: '<ng-content></ng-content>',
298
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
660
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
661
+ inputs: ['error', 'forceShowTooltip'],
299
662
  }]
300
663
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
301
- let PNavigationItem = class PNavigationItem {
664
+ let PInputGroup = class PInputGroup {
302
665
  constructor(c, r, z) {
303
666
  this.z = z;
304
667
  c.detach();
305
668
  this.el = r.nativeElement;
306
669
  }
307
670
  };
308
- PNavigationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
309
- PNavigationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PNavigationItem, selector: "p-navigation-item", inputs: { active: "active", counter: "counter", href: "href", icon: "icon", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
310
- PNavigationItem = __decorate([
671
+ PInputGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInputGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
672
+ PInputGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PInputGroup, selector: "p-input-group", inputs: { disabled: "disabled", error: "error", focused: "focused", helper: "helper", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", label: "label", prefix: "prefix", required: "required", size: "size", suffix: "suffix" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
673
+ PInputGroup = __decorate([
311
674
  ProxyCmp({
312
- defineCustomElementFn: undefined,
313
- inputs: ['active', 'counter', 'href', 'icon', 'target']
675
+ inputs: ['disabled', 'error', 'focused', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'label', 'prefix', 'required', 'size', 'suffix']
314
676
  })
315
- ], PNavigationItem);
316
- export { PNavigationItem };
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PNavigationItem, decorators: [{
677
+ ], PInputGroup);
678
+ export { PInputGroup };
679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PInputGroup, decorators: [{
318
680
  type: Component,
319
681
  args: [{
320
- selector: 'p-navigation-item',
682
+ selector: 'p-input-group',
321
683
  changeDetection: ChangeDetectionStrategy.OnPush,
322
684
  template: '<ng-content></ng-content>',
323
- inputs: ['active', 'counter', 'href', 'icon', 'target']
685
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
686
+ inputs: ['disabled', 'error', 'focused', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'label', 'prefix', 'required', 'size', 'suffix'],
324
687
  }]
325
688
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
326
- let PPagination = class PPagination {
689
+ let PLabel = class PLabel {
327
690
  constructor(c, r, z) {
328
691
  this.z = z;
329
692
  c.detach();
330
693
  this.el = r.nativeElement;
331
- proxyOutputs(this, this.el, ['pageChange']);
332
694
  }
333
695
  };
334
- PPagination.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
335
- PPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PPagination, selector: "p-pagination", inputs: { page: "page", pageSize: "pageSize", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
336
- PPagination = __decorate([
696
+ PLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
697
+ PLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PLabel, selector: "p-label", inputs: { behavior: "behavior", icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate", keepMobileContent: "keepMobileContent", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
698
+ PLabel = __decorate([
337
699
  ProxyCmp({
338
- defineCustomElementFn: undefined,
339
- inputs: ['page', 'pageSize', 'total']
700
+ inputs: ['behavior', 'icon', 'iconFlip', 'iconRotate', 'keepMobileContent', 'size', 'variant']
340
701
  })
341
- ], PPagination);
342
- export { PPagination };
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPagination, decorators: [{
702
+ ], PLabel);
703
+ export { PLabel };
704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLabel, decorators: [{
344
705
  type: Component,
345
706
  args: [{
346
- selector: 'p-pagination',
707
+ selector: 'p-label',
347
708
  changeDetection: ChangeDetectionStrategy.OnPush,
348
709
  template: '<ng-content></ng-content>',
349
- inputs: ['page', 'pageSize', 'total']
710
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
711
+ inputs: ['behavior', 'icon', 'iconFlip', 'iconRotate', 'keepMobileContent', 'size', 'variant'],
350
712
  }]
351
713
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
352
- let PPaginationItem = class PPaginationItem {
714
+ let PLayout = class PLayout {
353
715
  constructor(c, r, z) {
354
716
  this.z = z;
355
717
  c.detach();
356
718
  this.el = r.nativeElement;
357
719
  }
358
720
  };
359
- PPaginationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPaginationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
360
- PPaginationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PPaginationItem, selector: "p-pagination-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
361
- PPaginationItem = __decorate([
721
+ PLayout.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLayout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
722
+ PLayout.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PLayout, selector: "p-layout", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
723
+ PLayout = __decorate([
362
724
  ProxyCmp({
363
- defineCustomElementFn: undefined,
364
- inputs: ['active']
725
+ inputs: ['variant']
365
726
  })
366
- ], PPaginationItem);
367
- export { PPaginationItem };
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPaginationItem, decorators: [{
727
+ ], PLayout);
728
+ export { PLayout };
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLayout, decorators: [{
369
730
  type: Component,
370
731
  args: [{
371
- selector: 'p-pagination-item',
732
+ selector: 'p-layout',
372
733
  changeDetection: ChangeDetectionStrategy.OnPush,
373
734
  template: '<ng-content></ng-content>',
374
- inputs: ['active']
735
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
736
+ inputs: ['variant'],
375
737
  }]
376
738
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
377
- let PSegmentContainer = class PSegmentContainer {
739
+ let PLoader = class PLoader {
378
740
  constructor(c, r, z) {
379
741
  this.z = z;
380
742
  c.detach();
381
743
  this.el = r.nativeElement;
382
744
  }
383
745
  };
384
- PSegmentContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PSegmentContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
385
- PSegmentContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PSegmentContainer, selector: "p-segment-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
386
- PSegmentContainer = __decorate([
746
+ PLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
747
+ PLoader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PLoader, selector: "p-loader", inputs: { color: "color", modalDescription: "modalDescription", modalTitle: "modalTitle", show: "show", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
748
+ PLoader = __decorate([
387
749
  ProxyCmp({
388
- defineCustomElementFn: undefined
750
+ inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
389
751
  })
390
- ], PSegmentContainer);
391
- export { PSegmentContainer };
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PSegmentContainer, decorators: [{
752
+ ], PLoader);
753
+ export { PLoader };
754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PLoader, decorators: [{
393
755
  type: Component,
394
756
  args: [{
395
- selector: 'p-segment-container',
757
+ selector: 'p-loader',
396
758
  changeDetection: ChangeDetectionStrategy.OnPush,
397
- template: '<ng-content></ng-content>'
759
+ template: '<ng-content></ng-content>',
760
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
761
+ inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant'],
398
762
  }]
399
763
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
400
- let PSegmentItem = class PSegmentItem {
764
+ let PModal = class PModal {
401
765
  constructor(c, r, z) {
402
766
  this.z = z;
403
767
  c.detach();
404
768
  this.el = r.nativeElement;
769
+ proxyOutputs(this, this.el, ['closeClicked', 'closed']);
405
770
  }
406
771
  };
407
- PSegmentItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PSegmentItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
408
- PSegmentItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PSegmentItem, selector: "p-segment-item", inputs: { active: "active", icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
409
- PSegmentItem = __decorate([
772
+ PModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
773
+ PModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PModal, selector: "p-modal", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose", showMobileFooter: "showMobileFooter", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
774
+ PModal = __decorate([
410
775
  ProxyCmp({
411
- defineCustomElementFn: undefined,
412
- inputs: ['active', 'icon', 'iconFlip', 'iconRotate']
776
+ inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size', 'variant']
413
777
  })
414
- ], PSegmentItem);
415
- export { PSegmentItem };
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PSegmentItem, decorators: [{
778
+ ], PModal);
779
+ export { PModal };
780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModal, decorators: [{
417
781
  type: Component,
418
782
  args: [{
419
- selector: 'p-segment-item',
783
+ selector: 'p-modal',
420
784
  changeDetection: ChangeDetectionStrategy.OnPush,
421
785
  template: '<ng-content></ng-content>',
422
- inputs: ['active', 'icon', 'iconFlip', 'iconRotate']
786
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
787
+ inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size', 'variant'],
423
788
  }]
424
789
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
425
- let PStatus = class PStatus {
790
+ let PModalBody = class PModalBody {
426
791
  constructor(c, r, z) {
427
792
  this.z = z;
428
793
  c.detach();
429
794
  this.el = r.nativeElement;
430
795
  }
431
796
  };
432
- PStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
433
- PStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PStatus, selector: "p-status", inputs: { icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
434
- PStatus = __decorate([
797
+ PModalBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
798
+ PModalBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PModalBody, selector: "p-modal-body", inputs: { rounded: "rounded", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
799
+ PModalBody = __decorate([
435
800
  ProxyCmp({
436
- defineCustomElementFn: undefined,
437
- inputs: ['icon', 'iconFlip', 'iconRotate', 'variant']
801
+ inputs: ['rounded', 'variant']
438
802
  })
439
- ], PStatus);
440
- export { PStatus };
441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PStatus, decorators: [{
803
+ ], PModalBody);
804
+ export { PModalBody };
805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalBody, decorators: [{
442
806
  type: Component,
443
807
  args: [{
444
- selector: 'p-status',
808
+ selector: 'p-modal-body',
445
809
  changeDetection: ChangeDetectionStrategy.OnPush,
446
810
  template: '<ng-content></ng-content>',
447
- inputs: ['icon', 'iconFlip', 'iconRotate', 'variant']
811
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
812
+ inputs: ['rounded', 'variant'],
448
813
  }]
449
814
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
450
- let PTooltip = class PTooltip {
815
+ let PModalContainer = class PModalContainer {
451
816
  constructor(c, r, z) {
452
817
  this.z = z;
453
818
  c.detach();
454
819
  this.el = r.nativeElement;
455
820
  }
456
821
  };
457
- PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
458
- PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", placement: "placement", popover: "popover", show: "show", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
822
+ PModalContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
823
+ PModalContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PModalContainer, selector: "p-modal-container", inputs: { closing: "closing", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
824
+ PModalContainer = __decorate([
825
+ ProxyCmp({
826
+ inputs: ['closing', 'size']
827
+ })
828
+ ], PModalContainer);
829
+ export { PModalContainer };
830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalContainer, decorators: [{
831
+ type: Component,
832
+ args: [{
833
+ selector: 'p-modal-container',
834
+ changeDetection: ChangeDetectionStrategy.OnPush,
835
+ template: '<ng-content></ng-content>',
836
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
837
+ inputs: ['closing', 'size'],
838
+ }]
839
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
840
+ let PModalFooter = class PModalFooter {
841
+ constructor(c, r, z) {
842
+ this.z = z;
843
+ c.detach();
844
+ this.el = r.nativeElement;
845
+ }
846
+ };
847
+ PModalFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
848
+ PModalFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PModalFooter, selector: "p-modal-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
849
+ PModalFooter = __decorate([
850
+ ProxyCmp({})
851
+ ], PModalFooter);
852
+ export { PModalFooter };
853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalFooter, decorators: [{
854
+ type: Component,
855
+ args: [{
856
+ selector: 'p-modal-footer',
857
+ changeDetection: ChangeDetectionStrategy.OnPush,
858
+ template: '<ng-content></ng-content>',
859
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
860
+ inputs: [],
861
+ }]
862
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
863
+ let PModalHeader = class PModalHeader {
864
+ constructor(c, r, z) {
865
+ this.z = z;
866
+ c.detach();
867
+ this.el = r.nativeElement;
868
+ proxyOutputs(this, this.el, ['close']);
869
+ }
870
+ };
871
+ PModalHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
872
+ PModalHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PModalHeader, selector: "p-modal-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
873
+ PModalHeader = __decorate([
874
+ ProxyCmp({
875
+ inputs: ['showClose']
876
+ })
877
+ ], PModalHeader);
878
+ export { PModalHeader };
879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PModalHeader, decorators: [{
880
+ type: Component,
881
+ args: [{
882
+ selector: 'p-modal-header',
883
+ changeDetection: ChangeDetectionStrategy.OnPush,
884
+ template: '<ng-content></ng-content>',
885
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
886
+ inputs: ['showClose'],
887
+ }]
888
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
889
+ let PNavbar = class PNavbar {
890
+ constructor(c, r, z) {
891
+ this.z = z;
892
+ c.detach();
893
+ this.el = r.nativeElement;
894
+ }
895
+ };
896
+ PNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PNavbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
897
+ PNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PNavbar, selector: "p-navbar", inputs: { closeText: "closeText", menuText: "menuText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
898
+ PNavbar = __decorate([
899
+ ProxyCmp({
900
+ inputs: ['closeText', 'menuText']
901
+ })
902
+ ], PNavbar);
903
+ export { PNavbar };
904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PNavbar, decorators: [{
905
+ type: Component,
906
+ args: [{
907
+ selector: 'p-navbar',
908
+ changeDetection: ChangeDetectionStrategy.OnPush,
909
+ template: '<ng-content></ng-content>',
910
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
911
+ inputs: ['closeText', 'menuText'],
912
+ }]
913
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
914
+ let PNavigationItem = class PNavigationItem {
915
+ constructor(c, r, z) {
916
+ this.z = z;
917
+ c.detach();
918
+ this.el = r.nativeElement;
919
+ }
920
+ };
921
+ PNavigationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
922
+ PNavigationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PNavigationItem, selector: "p-navigation-item", inputs: { active: "active", counter: "counter", href: "href", icon: "icon", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
923
+ PNavigationItem = __decorate([
924
+ ProxyCmp({
925
+ inputs: ['active', 'counter', 'href', 'icon', 'target']
926
+ })
927
+ ], PNavigationItem);
928
+ export { PNavigationItem };
929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PNavigationItem, decorators: [{
930
+ type: Component,
931
+ args: [{
932
+ selector: 'p-navigation-item',
933
+ changeDetection: ChangeDetectionStrategy.OnPush,
934
+ template: '<ng-content></ng-content>',
935
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
936
+ inputs: ['active', 'counter', 'href', 'icon', 'target'],
937
+ }]
938
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
939
+ let PPageSizeSelect = class PPageSizeSelect {
940
+ constructor(c, r, z) {
941
+ this.z = z;
942
+ c.detach();
943
+ this.el = r.nativeElement;
944
+ proxyOutputs(this, this.el, ['sizeChange']);
945
+ }
946
+ };
947
+ PPageSizeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPageSizeSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
948
+ PPageSizeSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PPageSizeSelect, selector: "p-page-size-select", inputs: { buttonSize: "buttonSize", buttonTemplate: "buttonTemplate", chevronPosition: "chevronPosition", hidden: "hidden", itemTemplate: "itemTemplate", size: "size", sizeOptions: "sizeOptions" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
949
+ PPageSizeSelect = __decorate([
950
+ ProxyCmp({
951
+ inputs: ['buttonSize', 'buttonTemplate', 'chevronPosition', 'hidden', 'itemTemplate', 'size', 'sizeOptions']
952
+ })
953
+ ], PPageSizeSelect);
954
+ export { PPageSizeSelect };
955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPageSizeSelect, decorators: [{
956
+ type: Component,
957
+ args: [{
958
+ selector: 'p-page-size-select',
959
+ changeDetection: ChangeDetectionStrategy.OnPush,
960
+ template: '<ng-content></ng-content>',
961
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
962
+ inputs: ['buttonSize', 'buttonTemplate', 'chevronPosition', 'hidden', 'itemTemplate', 'size', 'sizeOptions'],
963
+ }]
964
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
965
+ let PPagination = class PPagination {
966
+ constructor(c, r, z) {
967
+ this.z = z;
968
+ c.detach();
969
+ this.el = r.nativeElement;
970
+ proxyOutputs(this, this.el, ['pageChange']);
971
+ }
972
+ };
973
+ PPagination.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
974
+ PPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PPagination, selector: "p-pagination", inputs: { hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
975
+ PPagination = __decorate([
976
+ ProxyCmp({
977
+ inputs: ['hideOnSinglePage', 'page', 'pageSize', 'total']
978
+ })
979
+ ], PPagination);
980
+ export { PPagination };
981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPagination, decorators: [{
982
+ type: Component,
983
+ args: [{
984
+ selector: 'p-pagination',
985
+ changeDetection: ChangeDetectionStrategy.OnPush,
986
+ template: '<ng-content></ng-content>',
987
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
988
+ inputs: ['hideOnSinglePage', 'page', 'pageSize', 'total'],
989
+ }]
990
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
991
+ let PPaginationItem = class PPaginationItem {
992
+ constructor(c, r, z) {
993
+ this.z = z;
994
+ c.detach();
995
+ this.el = r.nativeElement;
996
+ }
997
+ };
998
+ PPaginationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPaginationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
999
+ PPaginationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PPaginationItem, selector: "p-pagination-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1000
+ PPaginationItem = __decorate([
1001
+ ProxyCmp({
1002
+ inputs: ['active']
1003
+ })
1004
+ ], PPaginationItem);
1005
+ export { PPaginationItem };
1006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PPaginationItem, decorators: [{
1007
+ type: Component,
1008
+ args: [{
1009
+ selector: 'p-pagination-item',
1010
+ changeDetection: ChangeDetectionStrategy.OnPush,
1011
+ template: '<ng-content></ng-content>',
1012
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1013
+ inputs: ['active'],
1014
+ }]
1015
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1016
+ let PProfile = class PProfile {
1017
+ constructor(c, r, z) {
1018
+ this.z = z;
1019
+ c.detach();
1020
+ this.el = r.nativeElement;
1021
+ }
1022
+ };
1023
+ PProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PProfile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1024
+ PProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PProfile, selector: "p-profile", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1025
+ PProfile = __decorate([
1026
+ ProxyCmp({
1027
+ inputs: ['size', 'variant']
1028
+ })
1029
+ ], PProfile);
1030
+ export { PProfile };
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PProfile, decorators: [{
1032
+ type: Component,
1033
+ args: [{
1034
+ selector: 'p-profile',
1035
+ changeDetection: ChangeDetectionStrategy.OnPush,
1036
+ template: '<ng-content></ng-content>',
1037
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1038
+ inputs: ['size', 'variant'],
1039
+ }]
1040
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1041
+ let PSegmentContainer = class PSegmentContainer {
1042
+ constructor(c, r, z) {
1043
+ this.z = z;
1044
+ c.detach();
1045
+ this.el = r.nativeElement;
1046
+ }
1047
+ };
1048
+ PSegmentContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSegmentContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1049
+ PSegmentContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PSegmentContainer, selector: "p-segment-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1050
+ PSegmentContainer = __decorate([
1051
+ ProxyCmp({})
1052
+ ], PSegmentContainer);
1053
+ export { PSegmentContainer };
1054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSegmentContainer, decorators: [{
1055
+ type: Component,
1056
+ args: [{
1057
+ selector: 'p-segment-container',
1058
+ changeDetection: ChangeDetectionStrategy.OnPush,
1059
+ template: '<ng-content></ng-content>',
1060
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1061
+ inputs: [],
1062
+ }]
1063
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1064
+ let PSegmentItem = class PSegmentItem {
1065
+ constructor(c, r, z) {
1066
+ this.z = z;
1067
+ c.detach();
1068
+ this.el = r.nativeElement;
1069
+ }
1070
+ };
1071
+ PSegmentItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSegmentItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1072
+ PSegmentItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PSegmentItem, selector: "p-segment-item", inputs: { active: "active", icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1073
+ PSegmentItem = __decorate([
1074
+ ProxyCmp({
1075
+ inputs: ['active', 'icon', 'iconFlip', 'iconRotate']
1076
+ })
1077
+ ], PSegmentItem);
1078
+ export { PSegmentItem };
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSegmentItem, decorators: [{
1080
+ type: Component,
1081
+ args: [{
1082
+ selector: 'p-segment-item',
1083
+ changeDetection: ChangeDetectionStrategy.OnPush,
1084
+ template: '<ng-content></ng-content>',
1085
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1086
+ inputs: ['active', 'icon', 'iconFlip', 'iconRotate'],
1087
+ }]
1088
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1089
+ let PSelect = class PSelect {
1090
+ constructor(c, r, z) {
1091
+ this.z = z;
1092
+ c.detach();
1093
+ this.el = r.nativeElement;
1094
+ proxyOutputs(this, this.el, ['queryChange', 'valueChange', 'dropdownShown']);
1095
+ }
1096
+ };
1097
+ PSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1098
+ PSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PSelect, selector: "p-select", inputs: { asyncFilter: "asyncFilter", autoSelectFirst: "autoSelectFirst", autocompletePlaceholder: "autocompletePlaceholder", disabled: "disabled", displayKey: "displayKey", enableAutocomplete: "enableAutocomplete", error: "error", helper: "helper", icon: "icon", identifierKey: "identifierKey", items: "items", label: "label", loading: "loading", maxDisplayedItems: "maxDisplayedItems", placeholder: "placeholder", prefix: "prefix", query: "query", queryKey: "queryKey", showChevron: "showChevron", size: "size", value: "value", valueKey: "valueKey" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1099
+ PSelect = __decorate([
1100
+ ProxyCmp({
1101
+ inputs: ['asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'disabled', 'displayKey', 'enableAutocomplete', 'error', 'helper', 'icon', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'placeholder', 'prefix', 'query', 'queryKey', 'showChevron', 'size', 'value', 'valueKey']
1102
+ })
1103
+ ], PSelect);
1104
+ export { PSelect };
1105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSelect, decorators: [{
1106
+ type: Component,
1107
+ args: [{
1108
+ selector: 'p-select',
1109
+ changeDetection: ChangeDetectionStrategy.OnPush,
1110
+ template: '<ng-content></ng-content>',
1111
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1112
+ inputs: ['asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'disabled', 'displayKey', 'enableAutocomplete', 'error', 'helper', 'icon', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'placeholder', 'prefix', 'query', 'queryKey', 'showChevron', 'size', 'value', 'valueKey'],
1113
+ }]
1114
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1115
+ let PSliderIndicator = class PSliderIndicator {
1116
+ constructor(c, r, z) {
1117
+ this.z = z;
1118
+ c.detach();
1119
+ this.el = r.nativeElement;
1120
+ }
1121
+ };
1122
+ PSliderIndicator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSliderIndicator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1123
+ PSliderIndicator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PSliderIndicator, selector: "p-slider-indicator", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1124
+ PSliderIndicator = __decorate([
1125
+ ProxyCmp({
1126
+ inputs: ['active']
1127
+ })
1128
+ ], PSliderIndicator);
1129
+ export { PSliderIndicator };
1130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PSliderIndicator, decorators: [{
1131
+ type: Component,
1132
+ args: [{
1133
+ selector: 'p-slider-indicator',
1134
+ changeDetection: ChangeDetectionStrategy.OnPush,
1135
+ template: '<ng-content></ng-content>',
1136
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1137
+ inputs: ['active'],
1138
+ }]
1139
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1140
+ let PStatus = class PStatus {
1141
+ constructor(c, r, z) {
1142
+ this.z = z;
1143
+ c.detach();
1144
+ this.el = r.nativeElement;
1145
+ }
1146
+ };
1147
+ PStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1148
+ PStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PStatus, selector: "p-status", inputs: { icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1149
+ PStatus = __decorate([
1150
+ ProxyCmp({
1151
+ inputs: ['icon', 'iconFlip', 'iconRotate', 'variant']
1152
+ })
1153
+ ], PStatus);
1154
+ export { PStatus };
1155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStatus, decorators: [{
1156
+ type: Component,
1157
+ args: [{
1158
+ selector: 'p-status',
1159
+ changeDetection: ChangeDetectionStrategy.OnPush,
1160
+ template: '<ng-content></ng-content>',
1161
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1162
+ inputs: ['icon', 'iconFlip', 'iconRotate', 'variant'],
1163
+ }]
1164
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1165
+ let PStepper = class PStepper {
1166
+ constructor(c, r, z) {
1167
+ this.z = z;
1168
+ c.detach();
1169
+ this.el = r.nativeElement;
1170
+ }
1171
+ };
1172
+ PStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1173
+ PStepper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PStepper, selector: "p-stepper", inputs: { activeStep: "activeStep", contentPosition: "contentPosition", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1174
+ PStepper = __decorate([
1175
+ ProxyCmp({
1176
+ inputs: ['activeStep', 'contentPosition', 'direction']
1177
+ })
1178
+ ], PStepper);
1179
+ export { PStepper };
1180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepper, decorators: [{
1181
+ type: Component,
1182
+ args: [{
1183
+ selector: 'p-stepper',
1184
+ changeDetection: ChangeDetectionStrategy.OnPush,
1185
+ template: '<ng-content></ng-content>',
1186
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1187
+ inputs: ['activeStep', 'contentPosition', 'direction'],
1188
+ }]
1189
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1190
+ let PStepperItem = class PStepperItem {
1191
+ constructor(c, r, z) {
1192
+ this.z = z;
1193
+ c.detach();
1194
+ this.el = r.nativeElement;
1195
+ }
1196
+ };
1197
+ PStepperItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepperItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1198
+ PStepperItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PStepperItem, selector: "p-stepper-item", inputs: { active: "active", align: "align", contentPosition: "contentPosition", direction: "direction", finished: "finished" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1199
+ PStepperItem = __decorate([
1200
+ ProxyCmp({
1201
+ inputs: ['active', 'align', 'contentPosition', 'direction', 'finished']
1202
+ })
1203
+ ], PStepperItem);
1204
+ export { PStepperItem };
1205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepperItem, decorators: [{
1206
+ type: Component,
1207
+ args: [{
1208
+ selector: 'p-stepper-item',
1209
+ changeDetection: ChangeDetectionStrategy.OnPush,
1210
+ template: '<ng-content></ng-content>',
1211
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1212
+ inputs: ['active', 'align', 'contentPosition', 'direction', 'finished'],
1213
+ }]
1214
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1215
+ let PStepperLine = class PStepperLine {
1216
+ constructor(c, r, z) {
1217
+ this.z = z;
1218
+ c.detach();
1219
+ this.el = r.nativeElement;
1220
+ }
1221
+ };
1222
+ PStepperLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepperLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1223
+ PStepperLine.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PStepperLine, selector: "p-stepper-line", inputs: { active: "active", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1224
+ PStepperLine = __decorate([
1225
+ ProxyCmp({
1226
+ inputs: ['active', 'direction']
1227
+ })
1228
+ ], PStepperLine);
1229
+ export { PStepperLine };
1230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PStepperLine, decorators: [{
1231
+ type: Component,
1232
+ args: [{
1233
+ selector: 'p-stepper-line',
1234
+ changeDetection: ChangeDetectionStrategy.OnPush,
1235
+ template: '<ng-content></ng-content>',
1236
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1237
+ inputs: ['active', 'direction'],
1238
+ }]
1239
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1240
+ let PTabGroup = class PTabGroup {
1241
+ constructor(c, r, z) {
1242
+ this.z = z;
1243
+ c.detach();
1244
+ this.el = r.nativeElement;
1245
+ }
1246
+ };
1247
+ PTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1248
+ PTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTabGroup, selector: "p-tab-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1249
+ PTabGroup = __decorate([
1250
+ ProxyCmp({})
1251
+ ], PTabGroup);
1252
+ export { PTabGroup };
1253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTabGroup, decorators: [{
1254
+ type: Component,
1255
+ args: [{
1256
+ selector: 'p-tab-group',
1257
+ changeDetection: ChangeDetectionStrategy.OnPush,
1258
+ template: '<ng-content></ng-content>',
1259
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1260
+ inputs: [],
1261
+ }]
1262
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1263
+ let PTabItem = class PTabItem {
1264
+ constructor(c, r, z) {
1265
+ this.z = z;
1266
+ c.detach();
1267
+ this.el = r.nativeElement;
1268
+ }
1269
+ };
1270
+ PTabItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1271
+ PTabItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTabItem, selector: "p-tab-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1272
+ PTabItem = __decorate([
1273
+ ProxyCmp({
1274
+ inputs: ['active']
1275
+ })
1276
+ ], PTabItem);
1277
+ export { PTabItem };
1278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTabItem, decorators: [{
1279
+ type: Component,
1280
+ args: [{
1281
+ selector: 'p-tab-item',
1282
+ changeDetection: ChangeDetectionStrategy.OnPush,
1283
+ template: '<ng-content></ng-content>',
1284
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1285
+ inputs: ['active'],
1286
+ }]
1287
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1288
+ let PTableContainer = class PTableContainer {
1289
+ constructor(c, r, z) {
1290
+ this.z = z;
1291
+ c.detach();
1292
+ this.el = r.nativeElement;
1293
+ }
1294
+ };
1295
+ PTableContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1296
+ PTableContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTableContainer, selector: "p-table-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1297
+ PTableContainer = __decorate([
1298
+ ProxyCmp({})
1299
+ ], PTableContainer);
1300
+ export { PTableContainer };
1301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableContainer, decorators: [{
1302
+ type: Component,
1303
+ args: [{
1304
+ selector: 'p-table-container',
1305
+ changeDetection: ChangeDetectionStrategy.OnPush,
1306
+ template: '<ng-content></ng-content>',
1307
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1308
+ inputs: [],
1309
+ }]
1310
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1311
+ let PTableFooter = class PTableFooter {
1312
+ constructor(c, r, z) {
1313
+ this.z = z;
1314
+ c.detach();
1315
+ this.el = r.nativeElement;
1316
+ proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'export']);
1317
+ }
1318
+ };
1319
+ PTableFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1320
+ PTableFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTableFooter, selector: "p-table-footer", inputs: { enableExport: "enableExport", enablePageSize: "enablePageSize", enablePagination: "enablePagination", hideOnSinglePage: "hideOnSinglePage", loading: "loading", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1321
+ PTableFooter = __decorate([
1322
+ ProxyCmp({
1323
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'total']
1324
+ })
1325
+ ], PTableFooter);
1326
+ export { PTableFooter };
1327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableFooter, decorators: [{
1328
+ type: Component,
1329
+ args: [{
1330
+ selector: 'p-table-footer',
1331
+ changeDetection: ChangeDetectionStrategy.OnPush,
1332
+ template: '<ng-content></ng-content>',
1333
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1334
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'total'],
1335
+ }]
1336
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1337
+ let PTableHeader = class PTableHeader {
1338
+ constructor(c, r, z) {
1339
+ this.z = z;
1340
+ c.detach();
1341
+ this.el = r.nativeElement;
1342
+ proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'edit']);
1343
+ }
1344
+ };
1345
+ PTableHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1346
+ PTableHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTableHeader, selector: "p-table-header", inputs: { activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canEdit: "canEdit", editButtonTemplate: "editButtonTemplate", editIcon: "editIcon", editText: "editText", enableEdit: "enableEdit", enableFilter: "enableFilter", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", loading: "loading", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1347
+ PTableHeader = __decorate([
1348
+ ProxyCmp({
1349
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'editIcon', 'editText', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount']
1350
+ })
1351
+ ], PTableHeader);
1352
+ export { PTableHeader };
1353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableHeader, decorators: [{
1354
+ type: Component,
1355
+ args: [{
1356
+ selector: 'p-table-header',
1357
+ changeDetection: ChangeDetectionStrategy.OnPush,
1358
+ template: '<ng-content></ng-content>',
1359
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1360
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'editIcon', 'editText', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount'],
1361
+ }]
1362
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1363
+ let PTableRow = class PTableRow {
1364
+ constructor(c, r, z) {
1365
+ this.z = z;
1366
+ c.detach();
1367
+ this.el = r.nativeElement;
1368
+ }
1369
+ };
1370
+ PTableRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1371
+ PTableRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTableRow, selector: "p-table-row", inputs: { enableHover: "enableHover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1372
+ PTableRow = __decorate([
1373
+ ProxyCmp({
1374
+ inputs: ['enableHover', 'variant']
1375
+ })
1376
+ ], PTableRow);
1377
+ export { PTableRow };
1378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTableRow, decorators: [{
1379
+ type: Component,
1380
+ args: [{
1381
+ selector: 'p-table-row',
1382
+ changeDetection: ChangeDetectionStrategy.OnPush,
1383
+ template: '<ng-content></ng-content>',
1384
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1385
+ inputs: ['enableHover', 'variant'],
1386
+ }]
1387
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1388
+ let PToast = class PToast {
1389
+ constructor(c, r, z) {
1390
+ this.z = z;
1391
+ c.detach();
1392
+ this.el = r.nativeElement;
1393
+ proxyOutputs(this, this.el, ['action']);
1394
+ }
1395
+ };
1396
+ PToast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1397
+ PToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PToast, selector: "p-toast", inputs: { actionIcon: "actionIcon", actionIconFlip: "actionIconFlip", actionIconRotate: "actionIconRotate", content: "content", enableAction: "enableAction", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1398
+ PToast = __decorate([
1399
+ ProxyCmp({
1400
+ inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant']
1401
+ })
1402
+ ], PToast);
1403
+ export { PToast };
1404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PToast, decorators: [{
1405
+ type: Component,
1406
+ args: [{
1407
+ selector: 'p-toast',
1408
+ changeDetection: ChangeDetectionStrategy.OnPush,
1409
+ template: '<ng-content></ng-content>',
1410
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1411
+ inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant'],
1412
+ }]
1413
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1414
+ let PTooltip = class PTooltip {
1415
+ constructor(c, r, z) {
1416
+ this.z = z;
1417
+ c.detach();
1418
+ this.el = r.nativeElement;
1419
+ proxyOutputs(this, this.el, ['isOpen']);
1420
+ }
1421
+ };
1422
+ PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1423
+ PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", placement: "placement", popover: "popover", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
459
1424
  PTooltip = __decorate([
460
1425
  ProxyCmp({
461
- defineCustomElementFn: undefined,
462
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'variant']
1426
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
463
1427
  })
464
1428
  ], PTooltip);
465
1429
  export { PTooltip };
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PTooltip, decorators: [{
1430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: PTooltip, decorators: [{
467
1431
  type: Component,
468
1432
  args: [{
469
1433
  selector: 'p-tooltip',
470
1434
  changeDetection: ChangeDetectionStrategy.OnPush,
471
1435
  template: '<ng-content></ng-content>',
472
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'variant']
1436
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1437
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant'],
473
1438
  }]
474
1439
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
475
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7SUFtQjFELE9BQU8sU0FBUCxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO3FHQU5ZLE9BQU87eUZBQVAsT0FBTyx3SUFIUiwyQkFBMkI7QUFHMUIsT0FBTztJQVZuQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztLQUNuRCxDQUFDO0dBT1csT0FBTyxDQU1uQjtTQU5ZLE9BQU87NEZBQVAsT0FBTztrQkFObkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztpQkFDbkQ7O0lBNEJZLE9BQU8sU0FBUCxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxD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UUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDeEUsQ0FBQztHQU9XLFFBQVEsQ0FNcEI7U0FOWSxRQUFROzRGQUFSLFFBQVE7a0JBTnBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQ3hFIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5cblxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZGVmYXVsdEltYWdlJywgJ3NpemUnLCAnc3JjJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0SW1hZ2UnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5QQnV0dG9uIHtcbiAgLyoqXG4gICAqIEJ1dHRvbiBjbGljayBldmVudCBcbiAgICovXG4gIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjaGV2cm9uJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjaGV2cm9uJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ291bnRlciBleHRlbmRzIENvbXBvbmVudHMuUENvdW50ZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNvdW50ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBQQ291bnRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRGl2aWRlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd24ge1xuICAvKipcbiAgICogT3BlbiBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICBpc09wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkaXNhYmxlVHJpZ2dlckNsaWNrJywgJ2luc2lkZUNsaWNrJywgJ3BsYWNlbWVudCcsICdzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkaXNhYmxlVHJpZ2dlckNsaWNrJywgJ2luc2lkZUNsaWNrJywgJ3BsYWNlbWVudCcsICdzaG93J11cbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93bk1lbnVDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBEcm9wZG93bk1lbnVDb250YWluZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duLW1lbnUtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duTWVudUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93bk1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd25NZW51SXRlbSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcm9wZG93bi1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBEcm9wZG93bk1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEhlbHBlciBleHRlbmRzIENvbXBvbmVudHMuUEhlbHBlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaGVscGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgUEhlbHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5QSWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2ZsaXAnLCAncm90YXRlJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydmbGlwJywgJ3JvdGF0ZScsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbGx1c3RyYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBJbGx1c3RyYXRpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWlsbHVzdHJhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBJbGx1c3RyYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSW5mb1BhbmVsIGV4dGVuZHMgQ29tcG9uZW50cy5QSW5mb1BhbmVsIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2NvbnRlbnQnLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaW5mby1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2NvbnRlbnQnLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQSW5mb1BhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExvYWRlciBleHRlbmRzIENvbXBvbmVudHMuUExvYWRlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ21vZGFsRGVzY3JpcHRpb24nLCAnbW9kYWxUaXRsZScsICdzaG93JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2xvcicsICdtb2RhbERlc2NyaXB0aW9uJywgJ21vZGFsVGl0bGUnLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25JdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvdW50ZXInLCAnaHJlZicsICdpY29uJywgJ3RhcmdldCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1uYXZpZ2F0aW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudGVyJywgJ2hyZWYnLCAnaWNvbicsICd0YXJnZXQnXVxufSlcbmV4cG9ydCBjbGFzcyBQTmF2aWdhdGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuUFBhZ2luYXRpb24ge1xuICAvKipcbiAgICogIFxuICAgKi9cbiAgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsncGFnZScsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydwYWdlJywgJ3BhZ2VTaXplJywgJ3RvdGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwYWdlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFBhZ2luYXRpb25JdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2luYXRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWdtZW50Q29udGFpbmVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zZWdtZW50LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QU2VnbWVudEl0ZW0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmUnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlZ21lbnQtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblJvdGF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGF0dXMgZXh0ZW5kcyBDb21wb25lbnRzLlBTdGF0dXMge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zdGF0dXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblJvdGF0ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFN0YXR1cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5QVG9vbHRpcCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
1440
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFlaEUsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVyQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O3VHQU5VLFVBQVU7MkZBQVYsVUFBVSw2SUFKWCwyQkFBMkI7QUFJMUIsVUFBVTtJQVZ0QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7S0FDcEQsQ0FBQztHQVFXLFVBQVUsQ0FPdEI7U0FQWSxVQUFVOzJGQUFWLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQztpQkFDcEQ7O0FBNkJNLElBQU0s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QUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztpQkFDcEYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAcGFwZXJsZXNzL2NvcmUnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnaGVhZGVyJywgJ29wZW4nLCAnb3BlbmFibGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnaGVhZGVyJywgJ29wZW4nLCAnb3BlbmFibGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lzT3BlbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QQWNjb3JkaW9uIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBpc09wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Vycm9yJywgJ2xvYWRpbmcnLCAnbW9kZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hdHRhY2htZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlcnJvcicsICdsb2FkaW5nJywgJ21vZGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEF0dGFjaG1lbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb3dubG9hZCcsICdkZWxldGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEF0dGFjaG1lbnQgZXh0ZW5kcyBDb21wb25lbnRzLlBBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gZG93bmxvYWQgaXMgcHJlc3NlZFxuICAgKi9cbiAgZG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gZGVsZXRlIGlzIHByZXNzZWRcbiAgICovXG4gIGRlbGV0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0SW1hZ2UnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRJbWFnZScsICdzaXplJywgJ3NyYycsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4dHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWF2YXRhci1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXh0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEF2YXRhckdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEF2YXRhckdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlCbHVyJywgJ2Nsb3NpbmcnLCAnc2Nyb2xsTG9jaycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJhY2tkcm9wJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnY2xvc2luZycsICdzY3JvbGxMb2NrJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEJhY2tkcm9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xpY2tlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQmFja2Ryb3AgZXh0ZW5kcyBDb21wb25lbnRzLlBCYWNrZHJvcCB7XG4gIC8qKlxuICAgKiBXaGVuIHRoZSBiYWNrZHJvcCBpcyBjbGlja2VkXG4gICAqL1xuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGV2cm9uJywgJ2NoZXZyb25Qb3NpdGlvbicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnaW5oZXJpdFRleHQnLCAnbG9hZGluZycsICdzaXplJywgJ3RhcmdldCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hldnJvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2luaGVyaXRUZXh0JywgJ2xvYWRpbmcnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5QQnV0dG9uIHtcbiAgLyoqXG4gICAqIEJ1dHRvbiBjbGljayBldmVudFxuICAgKi9cbiAgb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkRGF0ZXMnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncHJlc2VsZWN0VG9kYXknLCAndmFsdWUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jYWxlbmRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkRGF0ZXMnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncHJlc2VsZWN0VG9kYXknLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQQ2FsZW5kYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FsZW5kYXIgZXh0ZW5kcyBDb21wb25lbnRzLlBDYWxlbmRhciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbmhlcml0VGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jYXJkLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luaGVyaXRUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBDYXJkQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDYXJkQm9keSBleHRlbmRzIENvbXBvbmVudHMuUENhcmRCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hvdmVyYWJsZScsICdzaGFkb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FyZC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hvdmVyYWJsZScsICdzaGFkb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENhcmRDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJyb3cnLCAnaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNhcmQtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdoZWFkZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgUENhcmRIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZUF1dG9DZW50ZXInLCAnZGlzYWJsZURyYWcnLCAnZGlzYWJsZUluZGljYXRvckNsaWNrJywgJ2hpZGVNb2JpbGVJbmRpY2F0b3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY29udGVudC1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVBdXRvQ2VudGVyJywgJ2Rpc2FibGVEcmFnJywgJ2Rpc2FibGVJbmRpY2F0b3JDbGljaycsICdoaWRlTW9iaWxlSW5kaWNhdG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBDb250ZW50U2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUENvbnRlbnRTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBDb250ZW50U2xpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jb3VudGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUENvdW50ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ291bnRlciBleHRlbmRzIENvbXBvbmVudHMuUENvdW50ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZXJyb3InLCAnZm9ybWF0JywgJ2hlbHBlcicsICdsYWJlbCcsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdwcmVmaXgnLCAncHJlc2VsZWN0VG9kYXknLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kYXRlcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlV2Vla2VuZHMnLCAnZGlzYWJsZWQnLCAnZGlzYWJsZWREYXRlcycsICdlcnJvcicsICdmb3JtYXQnLCAnaGVscGVyJywgJ2xhYmVsJywgJ21heERhdGUnLCAnbWluRGF0ZScsICdtb2RlJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdwcmVzZWxlY3RUb2RheScsICdzaXplJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERhdGVwaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBEYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUERpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuUERpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlCbHVyJywgJ2JhY2tkcm9wQ2xpY2tDbG9zZScsICdjYW5DbG9zZScsICdoZWFkZXInLCAnc2Nyb2xsTG9jaycsICdzaG93JywgJ3Nob3dDbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdiYWNrZHJvcENsaWNrQ2xvc2UnLCAnY2FuQ2xvc2UnLCAnaGVhZGVyJywgJ3Njcm9sbExvY2snLCAnc2hvdycsICdzaG93Q2xvc2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyYXdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlQ2xpY2tlZCcsICdjbG9zZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyYXdlciBleHRlbmRzIENvbXBvbmVudHMuUERyYXdlciB7XG4gIC8qKlxuICAgKiBDbG9zZSBjbGljayBldmVudFxuICAgKi9cbiAgY2xvc2VDbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudDogTW91c2VFdmVudDsgY2FuQ2xvc2U6IGJvb2xlYW47IH0+PjtcbiAgLyoqXG4gICAqIENsb3NlZCBldmVudFxuICAgKi9cbiAgY2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyYXdlci1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXJCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyYXdlckJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLlBEcmF3ZXJCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJhd2VyLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2luZyddLFxufSlcbmV4cG9ydCBjbGFzcyBQRHJhd2VyQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyYXdlckNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUERyYXdlckNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaG93Q2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJhd2VyLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJhd2VySGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJhd2VySGVhZGVyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlGdWxsV2lkdGgnLCAnYXBwbHlNYXhXaWR0aCcsICdjYWxjdWxhdGVXaWR0aCcsICdjaGV2cm9uRGlyZWN0aW9uJywgJ2NoZXZyb25Qb3NpdGlvbicsICdkaXNhYmxlVHJpZ2dlckNsaWNrJywgJ2luc2lkZUNsaWNrJywgJ3BsYWNlbWVudCcsICdzaG93JywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUZ1bGxXaWR0aCcsICdhcHBseU1heFdpZHRoJywgJ2NhbGN1bGF0ZVdpZHRoJywgJ2NoZXZyb25EaXJlY3Rpb24nLCAnY2hldnJvblBvc2l0aW9uJywgJ2Rpc2FibGVUcmlnZ2VyQ2xpY2snLCAnaW5zaWRlQ2xpY2snLCAncGxhY2VtZW50JywgJ3Nob3cnLCAnc3RyYXRlZ3knXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBpc09wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Z1bGxXaWR0aCcsICdtYXhXaWR0aCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcm9wZG93bi1tZW51LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZnVsbFdpZHRoJywgJ21heFdpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcm9wZG93bk1lbnVDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJvcGRvd25NZW51Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd25NZW51Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdlbmFibGVIb3ZlcicsICdpY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2VuYWJsZUhvdmVyJywgJ2ljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJvcGRvd25NZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGxhY2VtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWhlbHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBIZWxwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSGVscGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QSGVscGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZsaXAnLCAncm90YXRlJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmbGlwJywgJ3JvdGF0ZScsICdzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWNvbiBleHRlbmRzIENvbXBvbmVudHMuUEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbGx1c3RyYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUElsbHVzdHJhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbGx1c3RyYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBJbGx1c3RyYXRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2NvbnRlbnQnLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaW5mby1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2NvbnRlbnQnLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEluZm9QYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbmZvUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlBJbmZvUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXJyb3InLCAnZm9yY2VTaG93VG9vbHRpcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbnB1dC1lcnJvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXJyb3InLCAnZm9yY2VTaG93VG9vbHRpcCddLFxufSlcbmV4cG9ydCBjbGFzcyBQSW5wdXRFcnJvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbnB1dEVycm9yIGV4dGVuZHMgQ29tcG9uZW50cy5QSW5wdXRFcnJvciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvcicsICdmb2N1c2VkJywgJ2hlbHBlcicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2xhYmVsJywgJ3ByZWZpeCcsICdyZXF1aXJlZCcsICdzaXplJywgJ3N1ZmZpeCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbnB1dC1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3InLCAnZm9jdXNlZCcsICdoZWxwZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdsYWJlbCcsICdwcmVmaXgnLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdWZmaXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgUElucHV0R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSW5wdXRHcm91cCBleHRlbmRzIENvbXBvbmVudHMuUElucHV0R3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmVoYXZpb3InLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJywgJ2tlZXBNb2JpbGVDb250ZW50JywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmVoYXZpb3InLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJywgJ2tlZXBNb2JpbGVDb250ZW50JywgJ3NpemUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlBMYWJlbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxheW91dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQTGF5b3V0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExheW91dCBleHRlbmRzIENvbXBvbmVudHMuUExheW91dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdtb2RhbERlc2NyaXB0aW9uJywgJ21vZGFsVGl0bGUnLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxvYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbW9kYWxEZXNjcmlwdGlvbicsICdtb2RhbFRpdGxlJywgJ3Nob3cnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQTG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExvYWRlciBleHRlbmRzIENvbXBvbmVudHMuUExvYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnYmFja2Ryb3BDbGlja0Nsb3NlJywgJ2hlYWRlcicsICdzY3JvbGxMb2NrJywgJ3Nob3cnLCAnc2hvd0Nsb3NlJywgJ3Nob3dNb2JpbGVGb290ZXInLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnYmFja2Ryb3BDbGlja0Nsb3NlJywgJ2hlYWRlcicsICdzY3JvbGxMb2NrJywgJ3Nob3cnLCAnc2hvd0Nsb3NlJywgJ3Nob3dNb2JpbGVGb290ZXInLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlQ2xpY2tlZCcsICdjbG9zZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWwge1xuICAvKipcbiAgICogQ2xvc2UgY2xpY2sgZXZlbnRcbiAgICovXG4gIGNsb3NlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlZCBldmVudFxuICAgKi9cbiAgY2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyb3VuZGVkJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncm91bmRlZCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NpbmcnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQTW9kYWxDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBNb2RhbENvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW1vZGFsLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsSGVhZGVyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VUZXh0JywgJ21lbnVUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VUZXh0JywgJ21lbnVUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTmF2YmFyIGV4dGVuZHMgQ29tcG9uZW50cy5QTmF2YmFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudGVyJywgJ2hyZWYnLCAnaWNvbicsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbmF2aWdhdGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnRlcicsICdocmVmJywgJ2ljb24nLCAndGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZpZ2F0aW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25JdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvblNpemUnLCAnYnV0dG9uVGVtcGxhdGUnLCAnY2hldnJvblBvc2l0aW9uJywgJ2hpZGRlbicsICdpdGVtVGVtcGxhdGUnLCAnc2l6ZScsICdzaXplT3B0aW9ucyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdlLXNpemUtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25TaXplJywgJ2J1dHRvblRlbXBsYXRlJywgJ2NoZXZyb25Qb3NpdGlvbicsICdoaWRkZW4nLCAnaXRlbVRlbXBsYXRlJywgJ3NpemUnLCAnc2l6ZU9wdGlvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2VTaXplU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l6ZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnZVNpemVTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdlU2l6ZVNlbGVjdCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgc2l6ZSBjaGFuZ2VzXG4gICAqL1xuICBzaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVPblNpbmdsZVBhZ2UnLCAncGFnZScsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAndG90YWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwYWdlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgcGFnZSBjaGFuZ2VzXG4gICAqL1xuICBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQUGFnaW5hdGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvbkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcHJvZmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBQcm9maWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFByb2ZpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlBQcm9maWxlIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlZ21lbnQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWdtZW50Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Sb3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc2VnbWVudC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTZWdtZW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFNlZ21lbnRJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FzeW5jRmlsdGVyJywgJ2F1dG9TZWxlY3RGaXJzdCcsICdhdXRvY29tcGxldGVQbGFjZWhvbGRlcicsICdkaXNhYmxlZCcsICdkaXNwbGF5S2V5JywgJ2VuYWJsZUF1dG9jb21wbGV0ZScsICdlcnJvcicsICdoZWxwZXInLCAnaWNvbicsICdpZGVudGlmaWVyS2V5JywgJ2l0ZW1zJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbWF4RGlzcGxheWVkSXRlbXMnLCAncGxhY2Vob2xkZXInLCAncHJlZml4JywgJ3F1ZXJ5JywgJ3F1ZXJ5S2V5JywgJ3Nob3dDaGV2cm9uJywgJ3NpemUnLCAndmFsdWUnLCAndmFsdWVLZXknXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhc3luY0ZpbHRlcicsICdhdXRvU2VsZWN0Rmlyc3QnLCAnYXV0b2NvbXBsZXRlUGxhY2Vob2xkZXInLCAnZGlzYWJsZWQnLCAnZGlzcGxheUtleScsICdlbmFibGVBdXRvY29tcGxldGUnLCAnZXJyb3InLCAnaGVscGVyJywgJ2ljb24nLCAnaWRlbnRpZmllcktleScsICdpdGVtcycsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heERpc3BsYXllZEl0ZW1zJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdxdWVyeScsICdxdWVyeUtleScsICdzaG93Q2hldnJvbicsICdzaXplJywgJ3ZhbHVlJywgJ3ZhbHVlS2V5J10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydxdWVyeUNoYW5nZScsICd2YWx1ZUNoYW5nZScsICdkcm9wZG93blNob3duJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWxlY3Qge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgcXVlcnkgb2YgdGhlIGF1dG9jb21wbGV0ZSBjaGFuZ2VzXG4gICAqL1xuICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIGRyb3Bkb3duIHNob3dzXG4gICAqL1xuICBkcm9wZG93blNob3duOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zbGlkZXItaW5kaWNhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFNsaWRlckluZGljYXRvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTbGlkZXJJbmRpY2F0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlBTbGlkZXJJbmRpY2F0b3Ige31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RhdHVzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQU3RhdHVzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0YXR1cyBleHRlbmRzIENvbXBvbmVudHMuUFN0YXR1cyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmVTdGVwJywgJ2NvbnRlbnRQb3NpdGlvbicsICdkaXJlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlU3RlcCcsICdjb250ZW50UG9zaXRpb24nLCAnZGlyZWN0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhbGlnbicsICdjb250ZW50UG9zaXRpb24nLCAnZGlyZWN0aW9uJywgJ2ZpbmlzaGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXN0ZXBwZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FsaWduJywgJ2NvbnRlbnRQb3NpdGlvbicsICdkaXJlY3Rpb24nLCAnZmluaXNoZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2RpcmVjdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zdGVwcGVyLWxpbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXJlY3Rpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXJMaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXJMaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlckxpbmUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFiLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuUFRhYkdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFibGVDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJsZUNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbmFibGVFeHBvcnQnLCAnZW5hYmxlUGFnZVNpemUnLCAnZW5hYmxlUGFnaW5hdGlvbicsICdoaWRlT25TaW5nbGVQYWdlJywgJ2xvYWRpbmcnLCAncGFnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZU9wdGlvbnMnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFibGUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbmFibGVFeHBvcnQnLCAnZW5hYmxlUGFnZVNpemUnLCAnZW5hYmxlUGFnaW5hdGlvbicsICdoaWRlT25TaW5nbGVQYWdlJywgJ2xvYWRpbmcnLCAncGFnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZU9wdGlvbnMnLCAndG90YWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZScsICdwYWdlU2l6ZUNoYW5nZScsICdleHBvcnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVGb290ZXIge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZVNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXNcbiAgICovXG4gIGV4cG9ydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmVRdWlja0ZpbHRlcklkZW50aWZpZXInLCAnY2FuRWRpdCcsICdlZGl0QnV0dG9uVGVtcGxhdGUnLCAnZWRpdEljb24nLCAnZWRpdFRleHQnLCAnZW5hYmxlRWRpdCcsICdlbmFibGVGaWx0ZXInLCAnZW5hYmxlU2VhcmNoJywgJ2ZpbHRlckJ1dHRvblRlbXBsYXRlJywgJ2l0ZW1zU2VsZWN0ZWRBbW91bnQnLCAnbG9hZGluZycsICdxdWVyeScsICdxdWlja0ZpbHRlcnMnLCAnc2VsZWN0ZWRGaWx0ZXJzQW1vdW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlUXVpY2tGaWx0ZXJJZGVudGlmaWVyJywgJ2NhbkVkaXQnLCAnZWRpdEJ1dHRvblRlbXBsYXRlJywgJ2VkaXRJY29uJywgJ2VkaXRUZXh0JywgJ2VuYWJsZUVkaXQnLCAnZW5hYmxlRmlsdGVyJywgJ2VuYWJsZVNlYXJjaCcsICdmaWx0ZXJCdXR0b25UZW1wbGF0ZScsICdpdGVtc1NlbGVjdGVkQW1vdW50JywgJ2xvYWRpbmcnLCAncXVlcnknLCAncXVpY2tGaWx0ZXJzJywgJ3NlbGVjdGVkRmlsdGVyc0Ftb3VudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydxdWlja0ZpbHRlcicsICdxdWVyeUNoYW5nZScsICdmaWx0ZXInLCAnZWRpdCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUXVpY2tGaWx0ZXIgYXMgSVBUYWJsZUhlYWRlclF1aWNrRmlsdGVyIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZUhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUFRhYmxlSGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gb25lIG9mIHRoZSBxdWljayBmaWx0ZXJzIGlzIGNsaWNrZWRcbiAgICovXG4gIHF1aWNrRmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVBUYWJsZUhlYWRlclF1aWNrRmlsdGVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBxdWVyeSBjaGFuZ2VzXG4gICAqL1xuICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgZmlsdGVyIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBmaWx0ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudWxsPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBlZGl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbmFibGVIb3ZlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZW5hYmxlSG92ZXInLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVGFibGVSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFibGVSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJsZVJvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25JY29uJywgJ2FjdGlvbkljb25GbGlwJywgJ2FjdGlvbkljb25Sb3RhdGUnLCAnY29udGVudCcsICdlbmFibGVBY3Rpb24nLCAnaGVhZGVyJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uSWNvbkZsaXAnLCAnYWN0aW9uSWNvblJvdGF0ZScsICdjb250ZW50JywgJ2VuYWJsZUFjdGlvbicsICdoZWFkZXInLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhY3Rpb24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5QVG9hc3Qge1xuICAvKipcbiAgICogQnV0dG9uIGNsaWNrIGV2ZW50XG4gICAqL1xuICBhY3Rpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICdzdHJhdGVneScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICdzdHJhdGVneScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5QVG9vbHRpcCB7XG4gIC8qKlxuICAgKiBPcGVuIGNoYW5nZSBldmVudFxuICAgKi9cbiAgaXNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbiJdfQ==